feat(lab): metrics plumbing - claude-p context rounds, provider_round_count, deliverable_chars

↗ view on GitHub · Eli Ziff · 2026-08-05 · 248e864e

Audit fix wave A4:
- streamClaudeP now emits a content-free LlmContextRoundReceipt per loop
  iteration (attempts, continuation mode, payload/tool byte+sha receipts,
  per-round usage deltas, tool result bytes). The manifest previously carried
  rounds: [] for claude-p, so context_round_count was always 0 on that lane.
- metrics.json gains provider_round_count (contextRounds count, falling back
  to invocation count on the deepseek lane where each round is one
  invocation) - separates context volume from turn count, which the
  cache-adjusted input headline conflated (the HSR "index worse on input"
  reading was entirely a round-count artifact).
- deliverable receipts gain text_chars (docx body text via
  extractDocxBodyStructure, raw text for md/txt) and metrics.json gains
  deliverable_chars - deliverable length is the strongest single score
  predictor in the deepseek family and was never recorded.

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 f162758f
Stats 2 files changed , +98 , -12
Part of claude-p transport: alternative LLM backend via the Claude CLI

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-248e864e.md from inside the repo you want the change in.

⬇ Download capture-commit-248e864e.md