Close the arm leaks: neither arm names the other's vocabulary

↗ view on GitHub · Eli Ziff · 2026-07-31 · b82c4d66

`routes/chat.ts` hard-coded "read only the needed span with library_read
section=" into the live system prompt for every non-coding session. In the
address arm that instructs the model to use a parameter the arm does not
have. The prompt is part of the surface under test, so it now follows the arm
-- the same fix already applied to buildLeanLibraryBlock and missed here.

The library_read parameters that belong to LEGACY were described as
"Deprecated: use at='pdf:N'", and library_links / library_outline told the
model about `library_read section=`. Each arm strips the other's parameters,
so a deprecation pointer is both pointless and a leak: it teaches arm A about
a parameter arm A cannot call. Every parameter now describes itself.

Verified per arm rather than by eye: no resident tool in either arm carries
the other arm's parameter names, and no description matches the other arm's
vocabulary. The single hit is library_lookup.page, which is the citation
organ's own locator API -- identical in both arms, so it cannot confound the
comparison.

1,251 tests pass.

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 d955b15f
Stats 2 files changed , +41 , -9
Part of Evaluation harness: Beaver-CAN and LegalBench-RAG adapters

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-b82c4d66.md from inside the repo you want the change in.

⬇ Download capture-commit-b82c4d66.md