Arm hygiene: stop arm A advertising arm B, and state the grammar once

↗ view on GitHub · Eli Ziff · 2026-07-31 · 1e810f46

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.

⬇ Download capture-commit-1e810f46.md