Files
manual_slop/docs/reports/CHRONOLOGY_QUALITY_20260701.md
T

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

Needs Review Queue (43 rows — require manual classification)

These 43 archive tracks have no state.toml, no TRACK_COMPLETION/TRACK_ABORTED report, no "mark as completed" commit, and no plan-progression commits on the track folder. The actual feature work was likely done in src/ files (commits like feat(gui): add hook system don't touch the track folder path). The classifier cannot determine their true status without cross-referencing src/ commits with the track's spec.

Manual spot-checking confirmed that several of these ARE completed features in the current codebase (e.g., kill_abort_workerskill_worker() in multi_agent_conductor.py:174; manual_block_controlcascade_blocks() in dag_engine.py:51; cache_analytics → progress bar + clear cache in gui_2.py:2192; tool_bias_tuningsrc/tool_bias.py exists; saved_tool_presetssrc/tool_presets.py exists; workspace_profilessrc/workspace_manager.py exists; conductor_path_configurablesrc/paths.py exists).

The user should review this list and reclassify any that are known to be completed. The full list of 43:

context_comp_presets_20260510, archive_phase_4_tracks_20260507, code_path_analysis_20260507,
codebase_curation_20260507, cull_hidden_prompts_20260502, aggregation_smarter_summaries_20260322,
system_context_exposure_20260322, frosted_glass_20260313, text_viewer_rich_rendering_20260313,
discussion_takes_branching_20260311, test_harness_hardening_20260310, workspace_profiles_20260310,
custom_shaders_20260309, log_session_overhaul_20260308, saved_tool_presets_20260308,
selectable_ui_text_20260308, tool_bias_tuning_20260308, enhanced_context_control_20260307,
test_integrity_audit_20260307, test_regression_verification_20260307, cache_analytics_20260306,
conductor_path_configurable_20260306, deep_ast_context_pruning_20260306, kill_abort_workers_20260306,
manual_block_control_20260306, mma_multiworker_viz_20260306, per_ticket_model_20260306,
pipeline_pause_resume_20260306, session_insights_20260306, strict_execution_queue_completed_20260306,
tool_usage_analytics_20260306, track_progress_viz_20260306, true_parallel_worker_execution_20260306,
visual_dag_ticket_editing_20260306, mma_agent_focus_ux_20260302, tech_debt_and_test_cleanup_20260302,
mma_orchestrator_integration_20260226, mma_verification_mock, history_segregation_20260224,
api_metrics_20260223, event_driven_metrics_20260223, live_gui_testing_20260223, live_ux_test_20260223

Desync Gap Closed (tracks added in v2, missing from v1)

27 tracks created after 2026-06-20 that were missing from v1 (listed in the previous version of this report).

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 excluded
  3. Directory location (low confidence): archive/ with plan-progression commits, "mark as completed" commits, or "completed" in archive-move commit → Completed; otherwise → Needs Review (honest about ambiguity)
  4. Fallback: Needs Review (inconclusive)

Key limitation

The classifier only examines commits on the track folder path (conductor/tracks/<id>/ or conductor/archive/<id>/). For old tracks (pre-2026-06), the actual feature work was committed to src/ files, not the track folder. The track folder only has planning/checkpoint/archival commits. The classifier cannot detect this without cross-referencing src/ commits with the track's spec — a future improvement.

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)
  • Root cause of v1 failures: stale metadata.json.status classifier; v2 uses state.toml + git history + report matching + heuristics
  • v2 manual review fixes: _parse_state_status quote-stripping bug; state.toml completed/abandoned/archived override; plan-progression heuristic; "mark as completed" heuristic; archive-move "completed" heuristic; ambiguous archive tracks → Needs Review (not Abandoned)

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 (18%)
  • Status distribution sanity (≥1 Completed): YES (167 Completed)
  • Manual per-row cross-check: DONE (43 ambiguous tracks marked Needs Review; spot-checked several as completed in src/)