Commit Graph

7 Commits

Author SHA1 Message Date
NI0317
d4614f92d6 feat(fs): add a model-facing directory listing tool
`ctx.fs.listDir` has shipped since the filesystem seam gained it, with skill
discovery as its only consumer; the model-facing tool was deferred to a
separate decision. Nothing else could answer "what is in this directory":
`rg --files` backs glob and grep and never emits a directory entry, so an
empty directory is invisible, no output says which names are directories,
and no output gives an entry count.

`list` takes an optional `path`, defaulting to the session workspace so the
common question needs no argument, and returns the direct children of one
directory with their type. Two presentation rules carry it: directories sort
first, then files, then non-regular children, each alphabetically — so
truncation loses leaves rather than the tree — and the footer always states
the complete listing's size and composition, so a capped view can never read
as a whole directory.

It emits no `fs/observed`: seeing a filename is not reading a file, and a
listing must never satisfy the read-before-write gate.
2026-07-28 11:59:52 +08:00
Tianyi Cui
94a6a95c8e Merge PR #415 into Ralph tool stack 2026-07-20 18:10:21 +08:00
Tianyi Cui
283c78eec8 test(goal): refresh shipped ACP goal snapshots 2026-07-20 18:06:34 +08:00
Tianyi Cui
60eea35df5 fix(ralph): harden execution boundaries 2026-07-20 12:56:09 +08:00
Tianyi Cui
b808026859 feat(workflow): add fresh-agent Ralph tool 2026-07-20 00:51:19 +08:00
Tianyi Cui
207692bc16 feat(goal): add human goal command 2026-07-19 23:55:33 +08:00
Tianyi Cui
0893aaa7cb test: rename golden snapshot files to expected 2026-07-19 17:45:49 +08:00