Run the dsh-archive-agent-notes audit over every active Agent Note on current master, judging each record by whether its rationale still guides work rather than by size or age. - Archive 453 implemented bilingual triplets (417,882 English words): completed UI chrome, narrow adapters, closed bug fixes, implementation walkthroughs whose package READMEs, docs pages, generators, or successor notes now carry the useful behavior, and 51 records fully superseded by a later active note. Keep 201 implemented notes whose ownership rules, negative guarantees, durable or wire semantics, security rules, reintroduction conditions, or still-tempting rejected alternatives remain useful. - Reject 7 proposals whose premise is gone or whose work shipped in amended form under other records; delete 2 rejected notes that no longer prevent a plausible mistake. - Retarget every remaining inbound link to the archived path, and repair active prose that named an archived record as the owner of a live fact: parenthetical citations drop, ownership sentences redirect to the README, docs page, or active note that states the fact, and history citations say so. Chinese files link the English archived path because the pairing gate treats the frozen tree as outside the bilingual corpus. - Seal 1,359 new frozen artifacts; existing seals are unchanged and outbound links from archived notes are neither inspected nor repaired. - Regenerate docs/config-catalog.md after the hook-bridge comment edits shifted two source line numbers.
description, kind
| description | kind |
|---|---|
| Package map for the tool-output spill capability family: what the storage service, the local backend, and the result policy each provide. | package-group |
spill/ — tool-output spill capability family
English | 中文
Summary
The spill/ group keeps oversized tool output out of the model's context without losing it: when a tool result exceeds a deployment's byte cap, the full text is saved to a spill artifact and the model sees a bounded preview plus a locator it can read or search later. The family splits into three packages — the storage service in spill/, the local filesystem backend in spill-local/, and the result policy in spill-policy/ that decides when a final tool result is too large. Spilling is opt-in and best-effort: the policy acts only when maxInlineBytes is configured, and a storage failure leaves the original result visible. The group owns storage and result replacement only; preview mechanics live in dsh-output-retention, and provider resource caps remain separate.
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 tool 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.