fix(lab): exposure metrics - zero-length guard before exposed-doc add, served-plane denominator

↗ view on GitHub · Eli Ziff · 2026-08-05 · 76e54625

Audit fix wave A3:
- exposedDocumentIds.add moved after the zero-length span guards in both
  exposureMetrics branches - a degenerate (0,0) evidence segment counted a
  document as read (CoC reported 10/19 docs read; true coverage was 9/19).
- unique_source_exposure_ratio denominator now measures the served BODY plane
  per document (pandoc markdown for markdown arms via servedDraftingText, now
  exported; SECT-INDEX excluded) instead of the plaintext extraction plane.
  The cross-plane ratio shipped impossible values (1.021, 1.017); numerator
  and denominator now share one coordinate space, so ratio <= 1 by
  construction. Per-doc served_body_chars added to source receipts.

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 360836ae
Stats 2 files changed , +18 , -4
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-76e54625.md from inside the repo you want the change in.

⬇ Download capture-commit-76e54625.md