context.md and loop.json `context`, spec 3.0.0-draft: - A stub names only a result in the request being built. A chat on the server sends no earlier reply's tool results, so a read in the next reply is answered in full there; the CLI, which resends every result, keeps stubbing across steps. Said for reads and for repeated listings alike. - The compaction table is drawn from the reads the summary covers: the full reads since the previous compaction in turns still in the history, whether or not the request still carries them. A turn taken back takes its reads with it. The CLI's dedupe table is exactly that set; a chat finds it in what it stored. - Ids are the result's number in the session, in hex, at least 4 digits (#0001); the examples and the prompt block now use such ids. - A bracket names the path as the call gave it; what identifies a file is its absolute path. Conformance `context`: a `reply` step (a request carrying none of the results so far) and a case for both rules. The CLI's runner keeps the history apart from the request; compactionTable takes the reads. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.4 KiB
1.4 KiB
Tool results
- Every tool result starts with its id in brackets, like
[#0012]. A read's bracket also says the path, the lines shown, the file's length and a short hash of its content:[#0012 src/app.ts lines 1-200 of 340 sha 1c9e04ab]. - Reading a file that has not changed since an earlier read in this conversation returns a stub instead of the lines:
Unchanged since #0012, which already shows lines 1-200.The content is in that earlier result. Use it; do not read the file again to see it. - A listing or search repeated with the same result returns
Same result as #0026.in the same way. - Long output is shortened to its beginning and its end, with
[1234 lines elided, full output #0020]between them. recallwith an id shows that stored result in full, or from a line on: for lines left out of a shortened output, or for a result from before the conversation was summarised. Nothing is lost; recall only what you need.- An edit answers with the diff of the change, not the whole file. The earlier read with that diff applied is the file now: read it again only for lines you have not seen.
- After the conversation is summarised, earlier results are no longer in front of you. The summary ends with a table of the files read before it, with their ids; a file read again then comes back in full.