feat(lab): mike_markdown_e2e_treatment_v1 - requirements echo + citation contract

↗ view on GitHub · Eli Ziff · 2026-08-05 · 40ec14de

Two independent, individually-flagged mechanisms on the e2e chassis:

- MIKE_REQUIREMENTS_ECHO=1: fetch_requirements tool re-serves the task's
  own user message VERBATIM (harness-authored, never model paraphrase)
  plus a read/unread document split from the turn read-state; one prompt
  line instructs one echo before drafting; authoring backstop refuses
  generate_docx/library_create_docx with a typed error until the echo has
  served (before createLocalDocument, so no bytes, no mutation receipt,
  no terminal-authoring exit). Outcome receipt benchmark_requirements_echo
  {echo_call_count, documents_unread_at_echo} emitted post-turn.
- MIKE_CITATION_CONTRACT=1: prompt-only GROUNDING block; self-limiting
  (drafted-instrument deliverables exempt from citation markers).

Composition order lives in ONE helper (withLabTreatmentPromptAdditions)
called by both chat.ts and the lab-beaver-arm reproducer, so the
prompt-sha gate holds by construction. Treatment arm env = e2e env +
the two flags; completeness floor deliberately OFF (echo supersedes it;
revival = ablation arm if the echo underperforms).

Own conformance block (family-strictness + echo/citation true +
echo_call_count>=1 hard failure); three delta tags at all receipt sites;
singleInvocationArms + deliverable matrix membership.

Probes: surface 16/16 (both-off byte-identical to e2e base; fixed
echo->GROUNDING order; no benchmark/rubric terms), behavior 22/22
(pre-echo refusal, byte-identical re-serve, real read/unread split,
post-echo authoring, flag-off catalog unchanged), gate probe passes
under the arm's exact merged env, zero-drift sweep across all 15
existing arms, tsc --noEmit clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011pfUVhNFTRvhYGXBwoKNj6
Repository eliziff/Beaver
Author Eli Ziff <eliasziff@gmail.com>
Authored
Parents 75e7e671
Stats 4 files changed , +422 , -3
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-40ec14de.md from inside the repo you want the change in.

⬇ Download capture-commit-40ec14de.md