Tickets: - ci (7): #854, #855, #856, #857, #858, #859, #723 - server (9): #853, #860, #862, #863, #874, #877, #878, #789, #847 - client (6): #866, #869, #870, #872, #873, #875 - copy (3): #861, #865, #876 Themes: asset pipeline discipline, PROTOCOL_VERSION removal (D-192), D-167 HeritageRoot purge, D-032 smuggler/detective enum audit, New Game regression fix + merge-path test coverage, copy wiki residue purge, bookmark save-state, generator quality patches. Debt surfaced from Q/D-record sweep: Q-095 Commission name, D-167 and D-032 residue, plus spring-cleaning pulls from stale backlog (#789, #847, #723, #862). #868 cancelled (superseded by #874 + #875).
4.3 KiB
4.3 KiB
Sprint 37: Sweep — Joint Overview
Sprint goal: Spring-clean accumulated debt: asset pipeline discipline, PROTOCOL_VERSION removal, D-167/D-032 dead-code purge, New Game regression fix, copy wiki residue, bookmark save-state, and generator quality patches.
Sprint 37 is a maintenance and polish sprint. No new features. Every ticket is either closing a decision-without-follow-through, fixing a regression, establishing infrastructure discipline, or clearing content debt.
Pre-Sprint Decisions
| Decision | Status | Owner | Blocks |
|---|---|---|---|
| Q-095: Commission formal name | Open — resolve sprint day 1 | copy (Jeroen picks) | #876, #865 |
| D-192: Drop PROTOCOL_VERSION | Confirmed | server then client | #874 → #875 |
| D-167: HeritageRoot removal | Confirmed | server | #877 |
| D-032: Smuggler/detective enum | Confirmed obsolete | server | #878 |
Full Ticket Roster
| Team | # | Title | Priority |
|---|---|---|---|
| ci | #854 | Generator-driven asset pipeline (epic) | high |
| ci | #855 | systems.db regeneration with versioning awareness | high |
| ci | #856 | Stamp systems.db with generator metadata (meta table) | high |
| ci | #857 | Pre-push git hook for systems.db consistency | high |
| ci | #858 | Extend /pr-push with rebase + regen + stage | high |
| ci | #859 | Document the source-canonical rule | medium |
| ci | #723 | Add decision-to-ticket coverage report | medium |
| server | #853 | Generator-patch follow-up: dedup, mountains, suffix, compass | medium |
| server | #860 | Resolve 21 raw-commodity / system coverage gate gaps | medium |
| server | #863 | Wire SelectedBookmark into SaveState | medium |
| server | #874 | Drop PROTOCOL_VERSION on server (D-192) | medium |
| server | #877 | Remove HeritageRoot type alias and Heritage variant (D-167) | medium |
| server | #878 | Audit and purge dead smuggler/detective enum (D-032) | medium |
| server | #789 | Storyteller activation_pass log should be DEBUG not WARN | low |
| server | #847 | Determinism smoke test for generate_atlas.py | low |
| server | #862 | Refactor BookmarkPlugin to accept injected registry | low |
| client | #866 | dialogue_box _escape_bbcode chained replace corrupts [lb] | high |
| client | #869 | Fix MetaScreen test helper regression — anti_tedium (7 fails) | high |
| client | #872 | New Game flow hangs on 'connecting' | high |
| client | #873 | Scene-level merge-path UI flow tests (gdUnit4) | high |
| client | #870 | Delete or revive 8 parse-error test files | medium |
| client | #875 | Drop PROTOCOL_VERSION on client (D-192) | medium |
| copy | #861 | Author 112 brand corp wiki stubs to three-layer depth | medium |
| copy | #865 | Purge remaining v0.1 Sova/Van Maanen's residue from wiki | medium |
| copy | #876 | decide(content): Commission formal name (Q-095) | medium |
Total: 25 tickets across 4 teams.
Cross-Team Dependencies
server #874 (PROTOCOL_VERSION drop) → client #875
copy #876 (Commission name) → copy #865 (faction files use resolved name)
ci #855 → #856 → #857, #858, #859 (asset pipeline chain)
Sprint Completion Criteria
The sprint is done when all of the following are true:
make economy-dbpasses end-to-end with no coverage gate failures (#860 done).make game→ New Game → character creation completes without hanging (#872 done).- Scene-level gdUnit4 tests exist for all four merge-path flows and pass headless (#873 done).
server/src/bridge/types.rscontains noPROTOCOL_VERSIONconstant and noversionfield in the snapshot envelope (#874 done).client/scripts/protocol/protocol.gdcontains no version-mismatch guard (#875 done, after #874).server/src/simulation/generator.rscontains noHeritageRoottype alias and noHeritageenum variant (#877 done).server/data/systems.dbcarries ametatable withschema_version,generator_sha,generated_at(#856 done).git pushon a branch with a stale systems.db is rejected by the pre-push hook (#857 done)..claude/rules/asset-pipeline.mdexists and is referenced fromCLAUDE.md(#859 done).- All 112 new brand corp wiki pages are ≥95 lines with three-layer content (#861 done).
- Q-095 is resolved: a D-record exists for the Commission formal name (#876 done).
tooling/db/ticket list --sprint 37shows all 25 tickets asdone.