Milestones
List view
M6 of 6. Blocked on externals: #160 Section Practice producer tracking (owner repository); #161 override consumer (needs core section-practice capability; byte-for-byte fallback when absent); #162 three-repo verify + Host floor docs (last for #22); #159 glass removal (needs #157 landed, sectionmap#14 migrated, git grep -i glass clean outside changelog). Parents: #22 closes with #162; #131 closes with #159.
No due date•4/6 issues closedM5 of 6. Gated on M4 #87/#113 and real data. Order: #167 C7 design doc -> #168 go/no-go on #113 logged accuracy-vs-technique data -> #169 proficiency store -> #170 weighted auto-adjust (default-off setting) only if go. #56 human benchmark parked (needs 5-20 real sessions; retention directional-only, not a powered gate). #57 adopt/defer (needs #55 + #56). Parents: #31 closes with #57; #122 closes with #168 no-go or #170; #103 closes when the C-track resolves.
No due date•1/9 issues closedM4 of 6. Head: #88 player-context contract -> #87 profile scoping (needs feedBack PR #3 API; gates the tail). Parallel tail: #83 best-mastery scoring; #84 badges/summary UI; #85 DD-settings reconcile (coordinate with #54-#57 before changing semantics); #113 Elo logged-only (storage keys follow #87 layout; no behavior change). Last: #86 validate consolidation and deprecate Song Mastery (compat matrix + rollback story). Parent #81 closes with #86.
No due date•11/11 issues closedM3 of 6. Scope: #157 standalone tier rail; #176 keys hand-split calibration on real charts; #178 black-key cost; #180 voice-aware reduction; #183 regenerate action (record provenance/undo/scope decisions in-issue first; never overwrite unmarked ladders without confirmation). Parent #175 closes with the last keys child. Constraints: #176/#178/#180 wait for #185 validation; #183 waits for its safety decisions; if #107 triage leaves a real refinement, it lands here. Can overlap M4 once M1+M2 seams are stable.
No due date•6/6 issues closedM2 of 6. Strict internal order: #154 (prep in M1) -> #155 (move pure-scoring core to scoring.py; record #146 decisions in PR body) -> #164 (shared parameterized scoring state machine, main player default) -> #165 (migrate splitscreen, delete duplicate) -> #166 (dedup, docs, settle_points.js check) -> #140 (point tools/settle_points.js at screen.js constants). Parents: #146 closes with #155; #139 closes with #166.
No due date•7/7 issues closedM1 of 6. Start now; all parallel-safe. Scope: #54 literature review; #55 simulation-first PoC (candidate ranking waits on #54); #129 core-minimum docs; #130 peer-floors docs; #154 test bootstrap prep (no scoring.py yet); #185 before/after validation of #182 on fretted charts; #107 triage-only (confirm B6-done vs dormant refinement; close or re-scope; do not reimplement B6 blind). Exit: all seven closed.
No due date•7/7 issues closed