# 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: 1. `make economy-db` passes end-to-end with no coverage gate failures (#860 done). 2. `make game` → New Game → character creation completes without hanging (#872 done). 3. Scene-level gdUnit4 tests exist for all four merge-path flows and pass headless (#873 done). 4. `server/src/bridge/types.rs` contains no `PROTOCOL_VERSION` constant and no `version` field in the snapshot envelope (#874 done). 5. `client/scripts/protocol/protocol.gd` contains no version-mismatch guard (#875 done, after #874). 6. `server/src/simulation/generator.rs` contains no `HeritageRoot` type alias and no `Heritage` enum variant (#877 done). 7. `server/data/systems.db` carries a `meta` table with `schema_version`, `generator_sha`, `generated_at` (#856 done). 8. `git push` on a branch with a stale systems.db is rejected by the pre-push hook (#857 done). 9. `.claude/rules/asset-pipeline.md` exists and is referenced from `CLAUDE.md` (#859 done). 10. All 112 new brand corp wiki pages are ≥95 lines with three-layer content (#861 done). 11. Q-095 is resolved: a D-record exists for the Commission formal name (#876 done). 12. `tooling/db/ticket list --sprint 37` shows all 25 tickets as `done`.