# Sprint 31: Bedrock — Server Tasks **Goal:** Complete Phase 1 wiki content (cultural sweep, GTTR depth, star map popups) and refactor accumulated complexity in atlas.rs, main.gd, and Python tooling. **Branch:** `sprint-31/server` **Agents:** Dudley (simulation), Tyre (architecture), Hoshe (QA) ## New Tickets | # | Title | Blocked by | |---|-------|------------| | #776 | Split atlas.rs subcommands into modules | — | Use `tooling/db/ticket show ` for full details. ## Key Decisions - `decisions/architecture.md` — D-010 (server-authoritative), D-020 (Rust/bevy_ecs) ## Notes ### #776 Split atlas.rs subcommands into modules (refactor) `server/src/bin/atlas.rs` is 2000+ lines containing all CLI subcommands in one file. Each subcommand (author, commit-system, corridor-status, list-systems, verify, next, show-system, etc.) should be extracted into its own module. **Approach:** - Create `server/src/bin/atlas/` module directory - Move `atlas.rs` → `server/src/bin/atlas/main.rs` (thin dispatch) - Extract each `cmd_*` function into its own file: - `author.rs` — `cmd_author`, `generate_body_matrix` - `commit.rs` — `cmd_commit_system` - `corridor_status.rs` — `cmd_corridor_status` - `list.rs` — `cmd_list_systems`, `cmd_next`, `cmd_unfinished` - `show.rs` — `cmd_show_system` - `verify.rs` — `cmd_verify` - Shared types/helpers stay in `main.rs` or a `common.rs` **Key file:** `server/src/bin/atlas.rs` (~2000 lines) **Verify:** `cargo build --bin atlas` must compile. `cargo test` must pass. Run `tooling/atlas stats` and `tooling/atlas corridor-status` to verify CLI still works after the split. ## Dependency Chain ``` #776 (atlas split) → standalone ``` ## PR Workflow ```bash tea pr create --repo jpmschweitzer/settled-reach --login schweitz \ --title "refactor(simulation): Sprint 31 — split atlas.rs into modules" \ --description "body" --base main --head sprint-31/server ```