mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-08-29 04:26:38 +00:00
The local spill backend never reclaimed its files, so configured roots grew without bound and default per-process dsh-spill-* temp roots piled up across runs. Immediate deletion is unsafe because persisted, resumed, and forked sessions may still reference an older locator. Add a fiber-owned, best-effort sweep that runs once after activation (never delaying availability, awaited on disposal): it deletes regular files older than cleanupPeriodDays (default 30; 0 disables) across the configured root and prior default temp roots, prunes emptied dirs, and skips symlinks/unknown entries. Every filesystem failure is contained and logged, so the sweep cannot fail activation or a concurrent write.
spill/ — tool-output spill capability family
English | 中文
This family persists oversized tool output and replaces the inline result with a bounded preview and retrieval locator.
| Package | Role | ctx key |
|---|---|---|
spill/ |
Defines spill storage | ctx.spillStore |
spill-local/ |
Stores spilled text in session-scoped local files | registers on ctx.spillStore |
spill-policy/ |
Applies the post-execution spill policy | listens on ctx.tools |
See the tool-output spill decision for the boundary between storage, retention, and tool-owned output handling.
The subsystem reference — SaveTextSpill, owners/sources, the branded locator — is docs/subsystems/spill.md; rationale in the tool output spill Agent Note.