cf97898833
Phase 3 Task 20 — analyzer surfaces v4 review distribution / inheritance /
cost totals / degraded count. Schema_minor bumps 2→3. Final phase-3 runtime
flags flipped.
- tools/brain-retro-analyzer.mjs:
+ inheritanceCount: count of episodes with inheritance.inherited_from_task_id.
+ reviewQuality: distribution of review.node_quality across
{correct, wrong_node, overkill, underkill, disputable}.
+ reviewerCoverage: {reviewed, pending, errored} — episodes reviewed by
subagent / awaiting review / escalated with reviewer_error.
+ degradedCount: episodes where LLM classifier fell back to regex.
+ costTotals: sum of classifier/self_assessment/reviewer input/output
tokens across the period (six counters).
All additions are read-only over the existing dedup'd normal episode
list — no new pass.
- tools/brain-retro-analyzer.test.mjs: +6 tests (inheritance count /
reviewQuality distribution / pending / errored / degraded / cost sums).
- tools/observer-stop-hook.mjs: buildEpisode schema_minor 2→3 bump.
- tools/observer-stop-hook.test.mjs: 1 schema_minor assertion 2→3.
Runtime flags flipped (user-level, not git):
reviewer-mode = subagent
self-retrospect-mode = on
sanity-check-mode = mandatory
All 9 phase-2 + phase-3 flags now present:
router-classifier-mode=llm-first | prompt-enrichment-mode=on |
inheritance-mode=on | embedding-mode=on | router-gate-mode=warn-only |
self-assessment-mode=on | reviewer-mode=subagent |
self-retrospect-mode=on | sanity-check-mode=mandatory.
Tests: 614 passed / 0 failed. 4 pre-existing empty test files unchanged.
NB: schema v4.3 parser extension (prompt_embedding_base64 +
outcome_reviewed + extended task_cost in parser write block per spec §5)
NOT touched in this commit — that wiring belongs to the parse-time path
which Task 17 also did not modify (only buildEpisode in stop-hook bumps
the minor). Both are tracked for Phase 3 follow-up alongside §4.9
coverage announcement and status-md cost section.