Files
deepseek-harness/packages/fs
Dudu-0223 b802912067 fix: address codex review round 2
Resolve targetKey by realpathing the nearest EXISTING ancestor and re-appending
the missing suffix, so a not-yet-created file under a symlinked ancestor with
missing intermediate dirs gets the same key before and after creation — keeping
observed-state intact across a write→edit cycle. Make the socket-type probe test
skip (not fail) when a sandbox forbids unix-domain sockets.
2026-06-26 17:59:40 +08:00
..

fs/ - filesystem capability family

The filesystem stack: a provider seam (text IO + guarded mutation), a local implementation, a policy layer (read windowing + write/edit freshness), and the model-facing file tools. All product packages.

Package Role ctx key
fs/ Provider seam: text IO + guarded mutation primitives ctx.fs
fs-local/ Local-filesystem FileSystem implementation (registers ctx.fs)
file-context/ Policy layer: observed-state, read windowing, write/edit freshness ctx.fileContext
tool-fs/ Model-facing read/write/edit tool schemas (registers on ctx.tools)

The interface lives at fs/fs/. A sandboxed, remote, or project-scoped filesystem backend can replace fs-local without touching the seam, the policy layer, or the model-facing tool schemas. The policy layer (file-context/) is a concrete service, not a swappable seam — it owns the model-facing observation policy that does not belong on a provider backend.