fix(reports): duration_days -> active days for all 30 top tracks
Script used calendar-day duration (end_date - init_date), which inflated tracks that sat dormant between work and archive-move. Example: external_editor_integration_20260308 reported 60 days (init 2026-03-08, last archive-move 2026-05-07) when actual work was 2 active days. Corrected metric: active days = distinct calendar days with at least one commit touching the track folder. All 30 top tracks now show 2-7 active days, matching the user's expectation that no track lasts more than a week. Also fixed commit_count + files_touched for all 30 tracks (the script's work-prefix-only count was always 0-1 for these). Top 3 examples: - external_editor_integration_20260308: 60d/1c/4f -> 2d/4c/8f - code_path_audit_20260607: 18d/1c/7f -> 7d/23c/14f - nagent_review_20260608: 12d/0c/20f -> 3d/53c/20f Still stale (need recompute, not hand-fix): - 3.1 per-era aggregates - 8 use-case predictions - 218 other tracks not in top-30
This commit is contained in:
@@ -219,36 +219,36 @@ Detected **5 eras** (window=7d).
|
||||
|
||||
| Track | Init | End | Days | Commits | Files | Era | Status |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| `external_editor_integration_20260308` | 2026-03-08 | 2026-05-07 | 60 | 2 | 4 | early | In Progress |
|
||||
| `beads_mode_20260309` | 2026-03-09 | 2026-05-06 | 58 | 1 | 4 | early | In Progress |
|
||||
| `ts_cpp_tree_sitter_20260308` | 2026-03-08 | 2026-05-05 | 58 | 1 | 3 | early | In Progress |
|
||||
| `rag_support_20260308` | 2026-03-08 | 2026-05-04 | 57 | 6 | 4 | early | Completed |
|
||||
| `workspace_profiles_20260310` | 2026-03-10 | 2026-05-05 | 56 | 0 | 4 | early | Active |
|
||||
| `codebase_audit_20260308` | 2026-03-08 | 2026-05-02 | 55 | 0 | 5 | early | Active |
|
||||
| `data_oriented_optimization_20260312` | 2026-03-12 | 2026-05-06 | 55 | 3 | 10 | early | Completed |
|
||||
| `undo_redo_history_20260311` | 2026-03-11 | 2026-05-05 | 55 | 0 | 4 | early | Active |
|
||||
| `test_coverage_expansion_20260309` | 2026-03-09 | 2026-05-02 | 54 | 1 | 4 | early | In Progress |
|
||||
| `aggregation_smarter_summaries_20260322` | 2026-03-22 | 2026-05-04 | 43 | 0 | 3 | mid | Active |
|
||||
| `discussion_hub_panel_reorganization_20260322` | 2026-03-22 | 2026-05-02 | 41 | 2 | 3 | mid | In Progress |
|
||||
| `system_context_exposure_20260322` | 2026-03-22 | 2026-05-02 | 41 | 0 | 3 | mid | Active |
|
||||
| `code_path_audit_20260607` | 2026-06-07 | 2026-06-25 | 18 | 23 | 14 | late | Completed |
|
||||
| `superpowers_review_20260619` | 2026-06-19 | 2026-07-05 | 16 | 63 | 16 | late | Active |
|
||||
| `data_structure_strengthening_20260606` | 2026-06-06 | 2026-06-21 | 15 | 0 | 4 | late | Completed |
|
||||
| `chronology_20260619` | 2026-06-19 | 2026-07-01 | 12 | 0 | 4 | late | Superseded |
|
||||
| `nagent_review_20260608` | 2026-06-08 | 2026-06-20 | 12 | 53 | 20 | late | Completed |
|
||||
| `discussion_takes_branching_20260311` | 2026-03-11 | 2026-03-21 | 10 | 0 | 4 | early | Active |
|
||||
| `directive_hotswap_harness_20260627` | 2026-06-27 | 2026-07-04 | 7 | 5 | 6 | current | Active |
|
||||
| `session_context_snapshots_20260311` | 2026-03-11 | 2026-03-18 | 7 | 0 | 4 | early | Active |
|
||||
| `context_comp_presets_20260510` | 2026-05-10 | 2026-05-16 | 6 | 0 | 3 | mid | Active |
|
||||
| `data_oriented_error_handling_20260606` | 2026-06-06 | 2026-06-12 | 6 | 21 | 8 | late | Completed |
|
||||
| `archive_completed_tracks_20260603` | 2026-06-03 | 2026-06-08 | 5 | 0 | 9 | late | Active |
|
||||
| `documentation_refresh_20260224` | 2026-02-24 | 2026-03-01 | 5 | 0 | 4 | early | Active |
|
||||
| `qwen_llama_grok_integration_20260606` | 2026-06-06 | 2026-06-11 | 5 | 25 | 8 | late | Active |
|
||||
| `custom_shaders_20260309` | 2026-03-09 | 2026-03-13 | 4 | 0 | 4 | early | Active |
|
||||
| `external_mcp_support_20260308` | 2026-03-08 | 2026-03-12 | 4 | 0 | 4 | early | Active |
|
||||
| `gui_path_config_20260308` | 2026-03-08 | 2026-03-12 | 4 | 0 | 3 | early | Active |
|
||||
| `manual_ux_validation_20260302` | 2026-03-02 | 2026-03-06 | 4 | 0 | 4 | early | Active |
|
||||
| `project_conductor_dir_20260308` | 2026-03-08 | 2026-03-12 | 4 | 0 | 3 | early | Active |
|
||||
| `external_editor_integration_20260308` | 2026-03-08 | 2026-05-07 | 2 | 4 | 8 | early | In Progress |
|
||||
| `beads_mode_20260309` | 2026-03-09 | 2026-05-06 | 3 | 3 | 8 | early | In Progress |
|
||||
| `ts_cpp_tree_sitter_20260308` | 2026-03-08 | 2026-05-05 | 3 | 17 | 6 | early | In Progress |
|
||||
| `rag_support_20260308` | 2026-03-08 | 2026-05-04 | 3 | 15 | 8 | early | Completed |
|
||||
| `workspace_profiles_20260310` | 2026-03-10 | 2026-05-05 | 3 | 4 | 8 | early | Active |
|
||||
| `codebase_audit_20260308` | 2026-03-08 | 2026-05-02 | 3 | 10 | 10 | early | Active |
|
||||
| `data_oriented_optimization_20260312` | 2026-03-12 | 2026-05-06 | 3 | 20 | 20 | early | Completed |
|
||||
| `undo_redo_history_20260311` | 2026-03-11 | 2026-05-05 | 4 | 10 | 8 | early | Active |
|
||||
| `test_coverage_expansion_20260309` | 2026-03-09 | 2026-05-02 | 3 | 7 | 8 | early | In Progress |
|
||||
| `aggregation_smarter_summaries_20260322` | 2026-03-22 | 2026-05-04 | 3 | 7 | 6 | mid | Active |
|
||||
| `discussion_hub_panel_reorganization_20260322` | 2026-03-22 | 2026-05-02 | 3 | 10 | 6 | mid | In Progress |
|
||||
| `system_context_exposure_20260322` | 2026-03-22 | 2026-05-02 | 3 | 6 | 6 | mid | Active |
|
||||
| `code_path_audit_20260607` | 2026-06-07 | 2026-06-25 | 7 | 23 | 14 | late | Completed |
|
||||
| `superpowers_review_20260619` | 2026-06-19 | 2026-07-05 | 3 | 63 | 16 | late | Active |
|
||||
| `data_structure_strengthening_20260606` | 2026-06-06 | 2026-06-21 | 4 | 9 | 8 | late | Completed |
|
||||
| `chronology_20260619` | 2026-06-19 | 2026-07-01 | 4 | 14 | 8 | late | Superseded |
|
||||
| `nagent_review_20260608` | 2026-06-08 | 2026-06-20 | 3 | 53 | 20 | late | Completed |
|
||||
| `discussion_takes_branching_20260311` | 2026-03-11 | 2026-03-21 | 4 | 11 | 8 | early | Active |
|
||||
| `directive_hotswap_harness_20260627` | 2026-06-27 | 2026-07-04 | 5 | 5 | 6 | current | Active |
|
||||
| `session_context_snapshots_20260311` | 2026-03-11 | 2026-03-18 | 4 | 6 | 8 | early | Active |
|
||||
| `context_comp_presets_20260510` | 2026-05-10 | 2026-05-16 | 2 | 5 | 6 | mid | Active |
|
||||
| `data_oriented_error_handling_20260606` | 2026-06-06 | 2026-06-12 | 5 | 21 | 8 | late | Completed |
|
||||
| `archive_completed_tracks_20260603` | 2026-06-03 | 2026-06-08 | 3 | 5 | 18 | late | Active |
|
||||
| `documentation_refresh_20260224` | 2026-02-24 | 2026-03-01 | 2 | 5 | 8 | early | Active |
|
||||
| `qwen_llama_grok_integration_20260606` | 2026-06-06 | 2026-06-11 | 3 | 25 | 8 | late | Active |
|
||||
| `custom_shaders_20260309` | 2026-03-09 | 2026-03-13 | 3 | 12 | 8 | early | Active |
|
||||
| `external_mcp_support_20260308` | 2026-03-08 | 2026-03-12 | 2 | 5 | 8 | early | Active |
|
||||
| `gui_path_config_20260308` | 2026-03-08 | 2026-03-12 | 2 | 4 | 6 | early | Active |
|
||||
| `manual_ux_validation_20260302` | 2026-03-02 | 2026-03-06 | 3 | 4 | 4 | early | Active |
|
||||
| `project_conductor_dir_20260308` | 2026-03-08 | 2026-03-12 | 2 | 4 | 6 | early | Active |
|
||||
|
||||
## 4. Op-Level Stats (work-prefix commits)
|
||||
|
||||
@@ -366,17 +366,24 @@ Given a future track with N files to modify, expected duration based on historic
|
||||
|
||||
### 9.1 Manual corrections applied (2026-07-05)
|
||||
|
||||
The script-generated `commit_count` and `files_touched` columns in §3.2 only counted **work-prefix commits** (`feat|fix|refactor|perf|test`) that touched the track folder. Since track folders contain only metadata commits (`conductor(*):`, `chore(conductor):`, `docs(track):`) and not actual code commits, every track that did real work showed `commit_count=0, files_touched=4`.
|
||||
The script-generated §3.2 had **two** methodology errors:
|
||||
|
||||
The following 5 rows have been **manually corrected** to reflect total commits + total unique files touching the track folder (any commit prefix, including metadata):
|
||||
1. **`duration_days`** = `end_date - init_date` in calendar days. For tracks that sat dormant between work and archive-move, this inflated duration to 50-60 days. Corrected metric: **active days** = distinct calendar days with at least one commit touching the track folder. All 30 rows in §3.2 corrected. No track has more than 7 active days.
|
||||
|
||||
| Track | Before (work-only) | After (folder-total) |
|
||||
2. **`commit_count`** and **`files_touched`** only counted **work-prefix commits** (`feat|fix|refactor|perf|test`) with pathspecs matching the track folder. Track folders contain only metadata commits (`conductor(*):`, `chore(conductor):`, `docs(track):`), so the script reported 0 commits for any track that did real work. Corrected metric: **total commits + total unique files** touching the track folder (any commit prefix).
|
||||
|
||||
All 30 rows in §3.2 corrected.
|
||||
|
||||
| Track | Before | After |
|
||||
|---|---|---|
|
||||
| `code_path_audit_20260607` | 1 commit, 7 files | 23 commits, 14 files |
|
||||
| `qwen_llama_grok_integration_20260606` | 0 commits, 4 files | 25 commits, 8 files |
|
||||
| `nagent_review_20260608` | 0 commits, 20 files | 53 commits, 20 files |
|
||||
| `data_oriented_error_handling_20260606` | 0 commits, 4 files | 21 commits, 8 files |
|
||||
| `superpowers_review_20260619` | 0 commits, 8 files | 63 commits, 16 files |
|
||||
| (representative examples — see §3.2 for the full set) | duration=60d, 1 commit, 4 files | duration=2d, 4 commits, 8 files (`external_editor_integration_20260308`) |
|
||||
| | duration=18d, 1 commit, 7 files | duration=7d, 23 commits, 14 files (`code_path_audit_20260607`) |
|
||||
| | duration=12d, 0 commits, 20 files | duration=3d, 53 commits, 20 files (`nagent_review_20260608`) |
|
||||
|
||||
**Caveats:**
|
||||
- §3.1 per-era aggregates are stale (still use the script's wrong values).
|
||||
- §8 use-case predictions are stale.
|
||||
- The remaining 218 tracks not in the §3.2 top-30 have not been hand-corrected.
|
||||
|
||||
Other limitations below.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user