library_revise_docx takes an address in arm B
The edit tool required context_before and context_after -- ~40 characters either side of the target, retyped by the model from memory of text it read earlier. Every misquote in the edit benchmark was one of those strings: the model joined two lines with a space where the document has a newline, or invented a blank line where extraction has one. With `at`, the model sends only the provision and what to change. The server locates `find` inside that provision's span and reads the surrounding characters off the document, so the bytes come from the document instead of from the model's reconstruction of it. Legacy keeps the old required shape. Arm B drops the context pair from `required` and adds `at`. Also hoisted NAV_TOOL_SHAPE above its first use -- the tool factory runs at module init and read it from the temporal dead zone, which broke 13 tests. 1,195 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 | 595e2333 |
| Stats | 1 file changed , +92 , -18 |
| Part of | SourceDoc / DOCX engine: redlines, tracked changes, editing benchmark |
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-b53c1353.md
from inside the repo you want the change in.