Files
manual_slop/docs/reports/CHRONOLOGY_QUALITY_20260701.md
T

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:

  1. chronology_v2_20260701 (2026-07-01) — this track
  2. mma_quarantine_rag_test_decoupling_20260701 (2026-07-01)
  3. default_layout_extract_20260629 (2026-06-29)
  4. default_layout_install_20260629 (2026-06-29)
  5. default_layout_install_followup_20260629 (2026-06-29)
  6. cruft_elimination_20260627 (2026-06-27)
  7. directive_hotswap_harness_20260627 (2026-06-27)
  8. enforcement_gap_closure_20260627 (2026-06-27)
  9. test_engine_integration_20260627 (2026-06-27)
  10. fix_mma_concurrent_tracks_sim_20260627 (2026-06-27)
  11. module_taxonomy_refactor_20260627 (2026-06-27)
  12. post_module_taxonomy_de_cruft_20260627 (2026-06-27)
  13. type_alias_unfuck_20260626 (2026-06-26)
  14. video_analysis_campaign_2_20260627 (2026-06-27)
  15. code_path_audit_phase_2_20260624 (2026-06-24)
  16. code_path_audit_phase_3_provider_state_20260624 (2026-06-24)
  17. code_path_audit_polish_20260622 (2026-06-22)
  18. fix_test_failures_20260624 (2026-06-24)
  19. metadata_field_cache_20260624 (2026-06-24)
  20. metadata_generational_handle_20260624 (2026-06-24)
  21. metadata_nil_sentinel_20260624 (2026-06-24)
  22. metadata_promotion_20260624 (2026-06-24)
  23. metadata_ssdl_defusing_20260624 (2026-06-24)
  24. video_analysis_deob_20260621 (2026-06-21)
  25. video_analysis_campaign_20260621 (2026-06-21)
  26. phase2_4_5_call_site_completion_20260621 (2026-06-21)
  27. 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_status read metadata.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 original tracks/ path (single git log -- <archive> <original> call) to capture pre-move history
    • Commit prefix matching handles scopes (feat(rag):, fix(gui):, test(chronology): etc.) not just bare feat:

Verification

  • scripts/audit/chronology_quality_gate.py --strict exits 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)