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).
72 lines
4.3 KiB
Markdown
72 lines
4.3 KiB
Markdown
# 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`.
|