SLA audit reads the artifact deliverable, not just the chat text
The smoke run exposed the gap: for a file-producing task the draft
audit read the chat message ("I've created the document...") and scored
0 matched / 59 source-only - then sent the model a repair prompt about
anchors that were sitting in the DOCX all along. The ledger now
snapshots the library (documentId -> current_version_id) at build;
collectSlaDeliverable diffs the library against that snapshot and folds
the text of documents created or revised during the turn into the
audited draft (deterministic auditor only - artifact text never enters
the model context; the model still sees only typed findings). Repair
instructions are artifact-aware: library-document deliverables are
revised via tools, not pasted into chat. Receipts record which
artifacts were audited.
Store-backed test proves the smoke shape (chat-only text: 0 matched)
and the fix (created artifact: 0 source-only). Field-name trap fixed en
route: listLocalLibrary returns the wire shape (current_version_id).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018bhP89cYSdEEjHNPnxacns
| Repository | eliziff/Beaver |
|---|---|
| Author | Eli Ziff <eliasziff@gmail.com> |
| Authored | |
| Parents | ea39e713 |
| Stats | 3 files changed , +197 , -7 |
| 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-94e0a02a.md
from inside the repo you want the change in.