Harness spec: one path form, the file tools' texts, the list tree, skills
filesystem.md, spec 3.0.0-draft, and the CLI made to match:
- Paths: absolute in every answer except a result's bracket (context.md),
which keeps the call's path. glob and grep now give full paths.
- A missing file is `No such file or directory: {path}` for every tool
that needs it, with no hint after it: in a chat a hidden file must read
as a missing one. The CLI's "does not exist. Use write to create it." and
"Write it first." are gone; an edit of a directory is `Is a directory`,
glob over a file `Not a directory`.
- write/edit refusals, exactly: "{path} exists and has not been read in
this session. Read it first." and "{path} changed since you last read
it. Read it again before changing it." (no "on disk"), absolute path.
- A listing sorts names in code-point order; `list` with a depth is a
tree indented two spaces a level, marks as in a single listing, cut at
400 lines with a line saying so.
- Skills: where they are found and in what order on each side (the
session's own place first, the person's next, what is shared last), and
the name rule ^[a-z0-9][a-z0-9-]{0,63}$ that skill_manage checks. The
CLI no longer makes names with _ or .; such skills still load.
README's 3.0.0 notes say so; CHANGELOG [Unreleased].
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
15 files changed
+167
-41
No files matched your search
@@ -38,6 +38,14 @@ instruction file on the way down to where it was started. Harness spec 3.0.0.
|
||||
- **A chat started on a model runs on that model.** When the web UI opens a session on this device
|
||||
with a model the device cannot run, it is refused with the reason instead of being answered on
|
||||
the device's own model.
|
||||
- **File tools speak the server's words.** A missing file is `No such file or directory: <path>`
|
||||
from `read`, `edit`, `multiedit`, `show`, `list`, `glob` and `grep` alike; a file `write` or
|
||||
`edit` may not change yet says it has not been read, or changed since it was last read, with its
|
||||
full path. `glob` and `grep` give full paths. `list` sorts names exactly (capitals first) and says
|
||||
when it stopped at 400 lines.
|
||||
- **A new skill's name** is lowercase letters, digits and `-`, up to 64 characters, as the Agent
|
||||
Skills format has it; `_` and `.` are no longer accepted when `skill_manage` makes one. Skills
|
||||
that already have such a name still load.
|
||||
|
||||
### Added
|
||||
|
||||
|
||||
Reference in new issue
Block a user