Include the user's merge of #4586 so the V4 integration and its child PR exercise the corrected spill-policy synchronization tests. Preserve the upstream commit and authorship and keep this master checkpoint separate from migration changes and the remaining benchmark investigation. The merge changes only the spill-policy test file. Its added and removed lines match the reviewed upstream fix exactly, while the release branch's existing V4 fixture adaptations remain intact. No runtime source, persisted format, or snapshot generation changes. Validation: all 31 spill-policy owner tests pass with 100% package coverage.
description, kind
| description | kind |
|---|---|
| Package map for the text spill capability family: what the storage service, the local backend, and the result policy each provide. | package-group |
spill/ — text spill capability family
English | 中文
Summary
The spill/ group stores full text outside the model's context and returns a locator with retrieval guidance. The family splits into the storage service in spill/, the local filesystem backend in spill-local/, and the tool-result policy in spill-policy/. Tool-result spilling is opt-in through maxInlineBytes and keeps the original result on storage failure. Session references also consume storage directly for truncated captured transcripts, with their own preview and failure notices; they do not require the tool-result policy.
Table of Contents
Packages
Three packages play the spill roles; the subsystem reference owns the exhaustive vocabulary and contracts.
| Package | Role | ctx key |
|---|---|---|
spill/ |
Storage service: saves oversized text and returns a locator plus retrieval guidance | ctx.spillStore |
spill-local/ |
Saves spilled text to private session-scoped files on this machine | registers on ctx.spillStore |
spill-policy/ |
Replaces oversized plain-text tool results with a preview and locator | listens on ctx.tools |
Related documentation
Start with the subsystem reference for the shared vocabulary, then the design decision.
- Spill subsystem — the
SaveTextSpill/SpillRefvocabulary, ownership, and backend relationships. - Tool output spill decision — the capability boundary between storage, retention, and tool-owned output handling.
Dev Note
Working context for maintainers — click to expand
None.