Pure-analysis module over a SkillTestResult/NDJSON transcript:
- extractSectionReads(): which sections/*.md a run opened (post-carve check)
- extractShipActions(): observable action fingerprint (merge/test/bump/
changelog/commit/push/pr) that works on the MONOLITH too, so a baseline
captured before the carve can detect a sectioned-ship regression
- baseline read/write + compareShipActions() for baseline-first dogf(T10)
Baseline-first answers the Codex outside-voice critique that a logger in the
same PR as the carve is post-failure telemetry without a pre-carve reference.
11 unit tests, all green. Paid monolith baseline capture runs separately.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>