Sprint briefings (docs/sprints/sprint-N/{team}.md) are now the primary
starting point for implementation work. Per-agent briefings remain as
background context.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Per-team sprint briefings under docs/sprints/sprint-1/ for server,
client, and joint tracks. Each lists assigned tickets, dependencies,
key decisions to read, and implementation notes. Agents use
ticket show <id> for full details.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reference db/connectors/ticket CLI in project structure and agent
instructions. Rewrite ticket skill to use CLI commands instead of
raw SQL wrapper scripts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Ergonomic Python CLI wrapping parameterized SQLite queries for ticket
management. Supports list, show, create, assign, sprint, deps, search,
epics, children, count commands with JSON output. Replaces raw SQL
access for Si and other agents.
Also includes Sprint 1 "Run" creation and story assignments:
- #77, #79 → client
- #78, #236 → server
- #81, #82, #83 → joint
- 36 tickets updated to done (boilerplate work completed by merged PRs)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
main, maintenance, server, client are protected on Gitea.
Agents must not delete or force-push to these branches.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merge origin/client into main. Resolve binary conflict in
commonwealth.db by keeping main's version (latest ticket state).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Camera2D now tracks player_position from GameState (D-015)
- Add SubViewport child to minimap SubViewportContainer (fixes editor warning)
- Wire MonologueDisplay into main loop for D-016 perception data path
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Document that tea pr merge fails (405) on conflicting branches,
requiring local merge + tea pr close. Also note heredoc hanging
issue with tea comment — use temp file instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merge origin/server into main. Resolve CHANGELOG.md conflict by keeping
both sets of entries (main's review-pr skill + server's boilerplate entries).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix input_mapper double-check bug (redundant InputEventKey + pressed filter)
- Add bounds checking for position arrays in entity_renderer and game_state
- Make test snapshot deterministic (incrementing counter, not wall clock)
- Fix tween overlap in monologue_display (cancel active tween before new one)
- Extract TILE_SIZE constant from magic number 32
- Add 5 D-030 Layer 1 fixture tests for snapshot parsing (7/7 total passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add roundtrip tests for all PlayerAction variants (Hoshe #6)
- Add roundtrip tests for all EntityKind variants (Hoshe #6)
- Add day wraparound at midnight edge case test (Hoshe #7)
- Add day() calculation test (Hoshe #7)
- Add out-of-order input rejection test (Hoshe #7)
- Total: 15 → 20 tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Documents non-interactive tea usage with all required flags to
prevent TTY crashes in Claude Code. Agents were accessing the
Gitea API directly — this standardizes on tea CLI.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace raw curl API calls with tea comment command using proper
flags for non-interactive PR comment posting on Gitea.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Spawns Hoshe (code quality) and Tyre (architecture) in parallel to
review branch diffs against main. Includes Gitea tea CLI integration,
vendor/generated file exclusion patterns, and practical tips learned
from first review run on server and client boilerplate PRs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Document Gitea tea CLI usage for pull requests with all required
flags for non-interactive execution. Adds Gitea to local services.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tickets 276 (epic) and 278-286 (stories/tasks) updated to done
status after make ci-server passed green.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds tooling/install-rust script that installs Rust via rustup if
not present, with clippy and rustfmt components. Idempotent — skips
when already installed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Set up the complete Godot 4.6 client foundation as a pure renderer (D-020):
- project.godot with 2D rendering, autoloads, input actions
- Main scene: Game > World (TileMapLayer, Entities, FogOverlay) + Camera2D + UILayer
- Autoloads: SimBridge (connection state machine + test mode), GameState, InputMapper
- Rendering stubs: WorldRenderer, EntityRenderer, FogRenderer
- UI stubs: HUD (health/perception/time), Minimap, MonologueDisplay
- Input mapping: WASD/arrows, E (interact), Tab (perception), Esc (menu), Space (pause)
- gdUnit4 smoke tests: scene loads, autoloads registered (2/2 passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds tooling/install-godot script that downloads the Godot binary
from GitHub releases to ~/bin/godot4. Skips download when the
correct version is already installed. Supports Linux x86_64/arm64
and macOS. GODOT_VERSION defaults to 4.6 and is overridable.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The SQLite database contains integral project content (273 tickets,
dependencies, sprint planning). Remove from .gitignore and check in.
WAL/SHM journal files remain ignored as transient.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update Key Documents sections to reference decisions/ directory instead
of monolithic DECISIONS.md. Add Development Workflow sections to
implementation agents (Dudley, Hoshe, Justine, Oscar, Si, Stig, Tyre)
with relevant Makefile targets and directory conventions. Streamline
decision references to point to specific domain files.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Agent personality files and skill definitions updated to reference decisions/
domain files instead of monolithic DECISIONS.md.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds DevOps procedures document and updates CLAUDE.md/README.md to reference
decisions/ domain files and Makefile-based workflow.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Three-agent analysis (Si, Qatux, Tyre) evaluating approaches to scale
DECISIONS.md. All independently recommended hybrid domain-split markdown
+ SQLite index. Tyre sharpened scope: 7 domains not 11, 2 tables not 3,
pre-commit hook for sync drift prevention (Phase 2).
Also adds D-031 to Round 18 in discussions index.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add decisions_sync.py that parses decisions/*.md markdown headings,
extracts metadata (type, domain, status, round, date), and upserts
into SQLite. Two-pass approach: decisions first, then cross-references
to avoid FK violations on forward references.
Schema adds decisions table (52 rows) and decision_refs table (29 rows)
with cascading deletes. Makefile gains decisions-sync, decisions-coverage,
decisions-active, and decisions-orphan targets. Sync runs as part of
make setup.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace monolithic 474-line DECISIONS.md with 7 domain files under
decisions/: architecture, perception, content, scope, process,
questions, rejected. Each file owns its decisions with cross-reference
hyperlinks. Root DECISIONS.md becomes a redirect with domain index.
Reduces per-agent context load by ~70-80% (80-150 lines vs 474).
Taxonomy: architecture (D-008..D-031), perception (D-011..D-019),
content (D-023..D-029), scope (D-001..D-027), process (D-004..D-022),
questions (Q-001..Q-011), rejected (R-001..R-010).
Restores D-002 original text (was a tombstone referencing D-005).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Create client/, server/, tooling/, tests/, .config/ (tracked) and
.cache/ (gitignored). Update CLAUDE.md project structure to reflect
the new layout including workshops directory.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
10 ticks = 1 game-minute, 4 day phases (Morning/Afternoon/Evening/Night),
diegetic time display on insert HUD. Unblocks daily routine pipeline (#88)
and all time-dependent systems. Workshop consensus from Tyre and Gestalt.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
7 agents across 2 rounds stress-tested the 232-ticket v0.1 plan against
concept proof, fun delivery, completeness, and testability. Key outcomes:
D-030 testability architecture confirmed, 15 priority promotions, 41 new
tickets (273 total), replay ceiling estimated at 10-12 playthroughs.
Reorganized workshops into per-workshop directories.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Complete the set of whitelistable wrapper scripts so all SQLite
access goes through db/connectors/sqlite-* (query, exec, init, seed).
Update the ticket skill to reference wrappers instead of calling
sqlite_connector.py directly, making permissions allowlisting clean.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add D-023 through D-029 context (content architecture, NPC generation,
social sites, simulation tiers, vertical slice, dialogue, population
ratios) to all 18 agent briefings. Core workshop participants get
detailed action items; specialist/infrastructure agents get relevant
implications. Mellanie activated from standby for content authoring.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>