Arm hygiene: stop arm A advertising arm B, and state the grammar once
Two defects in the arms, found by tokenizing them instead of eyeballing. ARM A WAS ADVERTISING ARM B. `forNavShape` stripped parameters but shared descriptions, so legacy's library_outline told the model to use "library_read at=" -- a parameter legacy does not have. An arm that instructs the model to call something it cannot call measures the harness, not the surface. Legacy now carries its own outline description. `at` MEANT TWO THINGS. It is a character offset on a library_find hit and an ADDRESS on library_read, so in the address arm at="12345" parses as a structural locator and fails. The address arm now returns at="off:12345" alongside a numeric `offset`, so a hit is directly passable to the tool it is meant to feed. DEDUPLICATION, which I had promised and not done. The page-scheme explanation was written out three times; it now lives once, in library_outline -- the orientation call, which is where a model looks before it needs an address. read.at and find.at are pointers. nav cluster 1,327 -> 1,245 tokens in the address arm (-82) whole schema 10,939 -> 10,857 Honest accounting: the address arm is still +545 tokens over legacy, and no amount of prose-trimming closes that, because 206 of it is library_links -- a tool legacy does not have -- and the rest is `from`, `follow` and `depth`, which are capability rather than wording. "Compact" was the wrong promise for a surface that adds a tool; the achievable claim is that nothing is said twice, and that is now true. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H9ToHYJVDxfeJcJwdzrP2H
| Repository | eliziff/Beaver |
|---|---|
| Author | Eli Ziff <eliasziff@gmail.com> |
| Authored | |
| Parents | d0a311df |
| Stats | 1 file changed , +29 , -3 |
| Part of | Deterministic legal-text tools ("SLA audit organs") |
Capture this commit into my fork
Download a Markdown prompt that tells Claude how to port this
exact commit into your working tree. Run it via
claude -p < capture-commit-1e810f46.md
from inside the repo you want the change in.