fix: complete deduplicated nightly reports with durable receipts #103
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/night-report-receipts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Root cause
Morning report concatenated state.results populated by reply.slice(0,4000), truncating JSON/fences and duplicating repeated turn prose. Full validated experiment receipts already existed separately but were not used for reporting.
Fix
Render a bounded summary from full validated receipts only, exact normalized hypothesis deduplication, explicit reported-not-verified outcome counts. Emit only whole JSON blocks; overflow links to full local structured artifact. Escape embedded backticks in JSON. Archive full receipts before either local completion or remote outbox publication. Preserve raw diagnostic results separately; legacy states recover complete blocks only. Strict complete-line parser ignores broken blocks without swallowing subsequent valid ones.
Validation
575/575 full tests; 12/12 focused improvement tests; typecheck/build/diff-check PASS. Regression covers receipts past4000 characters, truncated/duplicate/malformed fences, CRLF, embedded markup, 200-receipt overflow, real controller persistence/restart/archive failure/outbox report and no repeat. Original dirty checkout untouched.
Review and limits
Author counterchecked changes; current persistent review status blockers0, no additional independent reviewer/reset. Existing historical review findings preserved; no claim of a new independent review. This repairs report assembly, not evaluator authentication/configuration, experiment prioritization or deployment. No experiment results are newly verified by this formatter; local artifact references are not remote attachments. Existing delivery idempotency behavior unchanged. Merge/build does not activate deployments.