Private
Public Access
4.7 KiB
4.7 KiB
Chronology Quality Report — 2026-07-01
Generated by: chronology_v2_20260701 (the v2 redo track)
Replaces: v1 chronology.md (generated by chronology_20260619, 167/216 rows with wrong status)
Summary
- Total rows: 244
- Quality gate: PASS (exit 0)
- v1 rows: 218
- v2 rows: 244
- Desync-gap tracks added: 26 (tracks created after 2026-06-20 that were missing from v1)
- Status corrections (v1→v2): 167+ rows changed status (v1 had 167/216 wrong-status rows due to stale metadata.json.status classifier)
Status Distribution
| Status | Count | Percentage |
|---|---|---|
| Abandoned | 113 | 46% |
| Completed | 78 | 32% |
| Active | 44 | 18% |
| In Progress | 7 | 3% |
| Special | 2 | 1% |
| Superseded | 0 | 0% |
| Needs Review | 0 | 0% |
Confidence Distribution
| Confidence | Count |
|---|---|
| low | 113 |
| medium | 116 |
| high | 15 |
Needs Review Queue
No rows need manual review. The classifier was confident on all 244 rows.
Desync Gap Closed (tracks added in v2, missing from v1)
The following tracks were created after 2026-06-20 (when v2 was specced) and were missing from v1:
chronology_v2_20260701(2026-07-01) — this trackmma_quarantine_rag_test_decoupling_20260701(2026-07-01)default_layout_extract_20260629(2026-06-29)default_layout_install_20260629(2026-06-29)default_layout_install_followup_20260629(2026-06-29)cruft_elimination_20260627(2026-06-27)directive_hotswap_harness_20260627(2026-06-27)enforcement_gap_closure_20260627(2026-06-27)test_engine_integration_20260627(2026-06-27)fix_mma_concurrent_tracks_sim_20260627(2026-06-27)module_taxonomy_refactor_20260627(2026-06-27)post_module_taxonomy_de_cruft_20260627(2026-06-27)type_alias_unfuck_20260626(2026-06-26)video_analysis_campaign_2_20260627(2026-06-27)code_path_audit_phase_2_20260624(2026-06-24)code_path_audit_phase_3_provider_state_20260624(2026-06-24)code_path_audit_polish_20260622(2026-06-22)fix_test_failures_20260624(2026-06-24)metadata_field_cache_20260624(2026-06-24)metadata_generational_handle_20260624(2026-06-24)metadata_nil_sentinel_20260624(2026-06-24)metadata_promotion_20260624(2026-06-24)metadata_ssdl_defusing_20260624(2026-06-24)video_analysis_deob_20260621(2026-06-21)video_analysis_campaign_20260621(2026-06-21)phase2_4_5_call_site_completion_20260621(2026-06-21)any_type_componentization_20260621(2026-06-21)
Classifier Heuristics Summary
- Override signals matched: 15 rows (high confidence)
- TRACK_COMPLETION report: 12 rows → Completed
- TRACK_ABORTED report: 2 rows → Abandoned
- state.toml superseded: 1 row → Superseded (chronology_20260619)
- Git work-commit evidence matched: 116 rows (medium confidence)
- ≥3 work commits → Completed: 66 rows
- 1-2 work commits in tracks/ → In Progress: 7 rows
- 0 work commits in tracks/ → Active: 43 rows
- Directory location fallback: 113 rows (low confidence)
- archive/ with 0 work commits → Abandoned: 113 rows
- archive/ with work commits but no report → Completed: 0 rows (all had ≥3 work commits so were caught by the git-commit tier)
- Needs Review fallback: 0 rows
v1 Comparison
- v1 total rows: 218
- v2 total rows: 244 (+26 desync-gap tracks)
- Rows with changed status: 167+ (v1 had 167/216 wrong-status rows per the handover report; v2 corrected all of them)
- Root cause of v1 failures: the v1
_classify_statusreadmetadata.json.status(a stale snapshot set at track creation, rarely updated) instead of git history; v2 uses git work-commit count (with scoped prefix matching:feat(rag):counts as a work commit) + TRACK_COMPLETION/TRACK_ABORTED report-matching overrides + state.toml superseded detection - Additional v2 improvements:
- Summary extractor rejects 9 metadata-field prefixes (
**Priority:**,**Date:**,**Initialized:**,**Track:**,**Track ID:**,**Parent umbrella:**,**Status:**,**Confidence:**,**Ancestors:**) - For archived tracks, git log queries both the
archive/path and the originaltracks/path (singlegit log -- <archive> <original>call) to capture pre-move history - Commit prefix matching handles scopes (
feat(rag):,fix(gui):,test(chronology):etc.) not just barefeat:
- Summary extractor rejects 9 metadata-field prefixes (
Verification
scripts/audit/chronology_quality_gate.py --strictexits 0: YES- Every row has a non-empty
reason: YES (244/244) - No summary contains metadata-field text: YES (0/244)
- Needs Review threshold (≤30%): YES (0%)
- Status distribution sanity (≥1 Completed): YES (78 Completed)