Cut the rest of the deferred prose, and open the seam that blocks disclosure
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.