Cut the rest of the deferred prose, and open the seam that blocks disclosure

↗ view on GitHub · Eli Ziff · 2026-07-31 · 9572d3ca

PROSE. Three cuts, all the same defect in different places: instructions for
tools the address arm does not load.

- The DOCX generation routing block explained which of generate_docx /
  generate_excel / generate_ppt to call. All deferred under "drafting", so
  the routing now travels with them.
- "doc_id" claimed to be the chat-local label without saying it is NOT the
  Library document_id the library_* tools take. Two id vocabularies, one
  rule, no statement of which applies where -- in the highest-stakes output
  the model produces. Both arms get the disambiguation; it is a correctness
  fix, not an arm difference.
- The generic conduct rules ("be precise", "do not fabricate", "batch
  independent tool calls") are dropped in the address arm as an explicit
  bet: whether a frontier model needs telling, or whether these restate its
  defaults. Never measured here, so it is a hypothesis, not a cleanup.

  prose    A  1,970   B  1,077   -893
  schemas  A 10,130   B  4,004   -6,126
  BASE     A 12,100   B  5,081   -58%

THE SEAM. streamResponsesApi snapshotted toResponseTools(tools) before the
tool loop and sent that snapshot every iteration, so a tool revealed mid-
conversation could never be called -- progressive disclosure was unbuildable
without duplicating the provider loop, which the one-implementation rule
forbids. `resolveTools?: () => OpenAIToolSchema[]` is re-read per iteration;
absent, behaviour is byte-identical to before. Codex routes through the same
function, so one change serves both lanes.

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 8ddf101f
Stats 3 files changed , +49 , -14
Part of Legal agent-surface and context-compaction experiments

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

⬇ Download capture-commit-9572d3ca.md