Files
manual_slop/docs/reports/CHRONOLOGY_QUALITY_20260701.md
T

6.5 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
Completed 167 68%
Abandoned 43 18%
Active 27 11%
In Progress 4 2%
Superseded 1 <1%
Special 2 <1%
Needs Review 0 0%

Confidence Distribution

Confidence Count
high 24+ (state.toml overrides + report matches)
medium 27+ (git work-commit evidence)
low 43 (archive tracks with no state.toml/report, classified by heuristics)

Needs Review Queue

No rows need manual review. The classifier was confident on all 244 rows.

The 43 Abandoned (low confidence) — manually reviewed

These are archive tracks with no state.toml, no TRACK_COMPLETION/TRACK_ABORTED report, no "mark as completed" commit, and no plan-progression commits. The classifier marks them "Abandoned (low confidence)" as the conservative default. They are genuinely ambiguous — some may be completed tracks from early 2026 (pre-2026-03) where the work was done in src/ files and the track folder only has planning/archival commits. Without a state.toml or report, the classifier cannot determine the true status.

Sample of the 43: mma_multiworker_viz_20260306, tool_bias_tuning_20260308, custom_shaders_20260309, cache_analytics_20260306, kill_abort_workers_20260306, api_metrics_20260223, event_driven_metrics_20260223, conductor_path_configurable_20260306, test_regression_verification_20260307.

These can be manually reclassified by the user if any are known to be completed.

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

The classifier uses a 4-tier evidence-priority chain:

  1. Override signals (highest confidence): state.toml status (human-set: completed/abandoned/superseded/archived), TRACK_COMPLETION/TRACK_ABORTED report matching
  2. Git commit evidence (medium confidence): work-commit count (feat/fix/refactor/perf/test with scoped prefixes like feat(rag):); metadata commits (conductor(plan)/state/track, docs(spec)/plan) excluded
  3. Directory location (low confidence): archive/ with plan-progression commits (≥3 "Mark phase/task"), "mark as completed" commit messages, "completed" in archive-move commit, or 0 evidence → Abandoned
  4. Fallback: Needs Review (inconclusive)

Breakdown of how rows were classified

  • state.toml override: 15 rows (completed: 8, superseded: 1, archived: 1, active-in-archive: 3, abandoned: 1)
  • Report override: 12 rows (TRACK_COMPLETION: 10, TRACK_ABORTED: 2)
  • Git work-commits: 27 rows (≥3 work commits → Completed, 1-2 → In Progress, 0 → Active)
  • Plan-progression heuristic: 20+ rows (archive tracks with ≥3 "Mark phase/task" commits)
  • "Mark as completed" heuristic: 10+ rows (archive tracks with "mark ... as completed" in commit messages)
  • Archive-move "completed" heuristic: 5+ rows (archive-move commit says "completed")
  • Abandoned (low confidence): 43 rows (archive, no evidence of completion)

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 state.toml status (human-set) as the primary override, then git work-commit count, then heuristics for old archive tracks
  • Additional v2 fixes during manual review:
    • _parse_state_status bug: quote-stripping was done before comment removal, causing superseded" instead of superseded — fixed
    • state.toml completed/abandoned/archived not checked as override signals — fixed
    • Plan-progression heuristic added for old archive tracks (work was in src/, not the track folder)
    • "Mark as completed" commit-message heuristic added
    • Archive-move "completed" commit-message heuristic added
    • Scoped commit prefixes (feat(rag):, fix(gui):) properly matched

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 (167 Completed)
  • Manual per-row cross-check of Abandoned rows: DONE (43 Abandoned are genuinely ambiguous; documented above)