Commit Graph
39 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Opus 4.6 f67caf1986 feat(server): initialize Rust/bevy_ecs simulation server
Server boilerplate epic (276) complete. Establishes the Rust simulation
server foundation per D-020 (subprocess/IPC architecture).

Structure:
- bevy_ecs 0.18 + bevy_app 0.18, MessagePack serialization (rmp-serde)
- SimulationPlugin with deterministic resources: SimulationTime (D-031),
  SimRng (D-030), InputQueue (D-010)
- Core IPC types: ObserverSnapshot, PlayerInput, SimBridge trait (D-020)
- CauseChain production component for provenance tracking (D-030)
- SimulationTier types with LRU eviction support (D-026)
- NPC 10-axis model components (D-024)
- 15 tests: inline unit tests + integration smoke/serialization tests
- make ci-server passes (clippy, fmt, build, test)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 16:54:40 +01:00
jpmschweitzerandClaude Opus 4.6 84925b334a chore(config): add Rust build artifacts to gitignore
server/target/ excluded from version control.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 16:54:23 +01:00
jpmschweitzerandClaude Opus 4.6 3a2fe4bd71 chore(db): track ticket database in version control
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>
2026-02-11 16:03:55 +01:00
jpmschweitzerandClaude Opus 4.6 918b404a36 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:57:22 +01:00
jpmschweitzerandClaude Opus 4.6 cff4c74d75 docs(briefings): update all briefings for decisions split and DEVOPS.md
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>
2026-02-11 15:55:58 +01:00
jpmschweitzerandClaude Opus 4.6 7a2f97c325 chore(agents): update agent and skill definitions for decisions split
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>
2026-02-11 15:48:08 +01:00
jpmschweitzerandClaude Opus 4.6 1513dbf0f8 docs(meta): add DEVOPS.md, update project docs for decisions directory split
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>
2026-02-11 15:46:39 +01:00
jpmschweitzerandClaude Opus 4.6 e606e519dd docs(discussions): archive decisions restructure deliberation
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>
2026-02-11 09:30:02 +01:00
jpmschweitzerandClaude Opus 4.6 485b02db67 feat(db): add decisions sync script and schema tables
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>
2026-02-11 09:29:48 +01:00
jpmschweitzerandClaude Opus 4.6 4f5ee0274b docs(decisions): split DECISIONS.md into domain-scoped files
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>
2026-02-11 09:28:57 +01:00
jpmschweitzerandClaude Opus 4.6 ab5f84ab15 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 01:21:45 +01:00
jpmschweitzerandClaude Opus 4.6 6a8c517067 chore(meta): add top-level Makefile for dev workflow
Targets: setup, build, client, server, test, lint, ci, ci-server,
ci-client, clean. Rust targets delegate to cargo, Godot targets
auto-detect godot4/godot on PATH. Client lint and test targets
stubbed pending gdUnit4 and gdlint integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 01:21:18 +01:00
jpmschweitzerandClaude Opus 4.6 38ded93a5b chore(meta): add project directory scaffold
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>
2026-02-11 01:21:11 +01:00
jpmschweitzerandClaude Opus 4.6 c71b126790 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 01:15:09 +01:00
jpmschweitzerandClaude Opus 4.6 54711b4d5a docs(decisions): add D-031 time system, resolve Q-009
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>
2026-02-11 01:12:52 +01:00
jpmschweitzerandClaude Opus 4.6 47e8fa03dd chore: remove dotfiles/tmux.conf
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 01:11:07 +01:00
jpmschweitzerandClaude Opus 4.6 6f9eda5079 docs(discussions): add Round 18 v0.1 gap analysis workshop
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>
2026-02-11 01:11:02 +01:00
jpmschweitzerandClaude Opus 4.6 f2f37f9dc0 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 00:05:11 +01:00
jpmschweitzerandClaude Opus 4.6 0ecf7b4d8b chore(db): add sqlite-init and sqlite-seed wrappers, update ticket skill
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>
2026-02-11 00:04:58 +01:00
jpmschweitzerandClaude Opus 4.6 5bb7ded841 docs(briefings): update all agent briefings with Round 17 decisions
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>
2026-02-10 23:58:20 +01:00
jpmschweitzerandClaude Opus 4.6 2bd59c628e chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 23:47:17 +01:00
jpmschweitzerandClaude Opus 4.6 ea515017d3 docs(discussions): add Round 17 content architecture workshop
Full team workshop (8 agents, 3 rounds) producing 7 decisions:
D-023 three-tier content model, D-024 NPC 10-axis generation,
D-025 social site atomic unit, D-026 timestamp-based sim tiers,
D-027 smuggler+detective vertical slice (supersedes D-006),
D-028 tagged line pool dialogue, D-029 population 30/50/20 split.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 23:46:57 +01:00
jpmschweitzerandClaude Opus 4.6 e609ece4c9 docs(workshops): add content architecture workshop brief
Pre-workshop planning document for Round 17. Proposes three-tier
content model, life-sim substrate, NPC generation axes, simulation
tiers, DLC architecture, and 20 open questions for team discussion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 23:46:44 +01:00
jpmschweitzerandClaude Opus 4.6 f24d452e3d chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 22:41:19 +01:00
jpmschweitzerandClaude Opus 4.6 7a5bc9ae2d chore(agents): add relative-path convention to Qatux persona
Instructs Qatux to always use project-relative paths in documents,
since the project is worked on across multiple systems.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 22:41:03 +01:00
jpmschweitzerandClaude Opus 4.6 c6f2e69cc8 fix(discussions): replace absolute paths with project-relative paths
Remove misplaced ROUND-16-STATUS.md from root (duplicate of
round-16-session-notes.md). Convert all macOS absolute paths to
project-relative paths across round-16 docs and design reference.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 22:40:58 +01:00
Jeroen SchweitzerandClaude Opus 4.5 8400959159 chore(config): add tmux config with mouse/clipboard support
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 22:33:46 +01:00
Jeroen SchweitzerandClaude Opus 4.5 789ed9b1bb docs(discussions): add Rounds 15-16, retire DISCUSSION.md
Round 15: README.md Steam page placeholder (Miri + Mellanie)
- Created README.md with game description for Steam page
- Placeholder structure with lorem ipsum for undetermined content

Round 16: Faction development (Miri, Paula, Gestalt)
- Full development of six factions with lore, politics, mechanics
- 3D reputation system (Trust × Usefulness × Exposure)
- Mechanical grounding with "First 30 Minutes" test
- v0.1 recommendation: Commission + Severance
- Session flagged for team input

Process changes (D-022):
- Retired DISCUSSION.md, work directly in round files
- Qatux mandatory in all team interactions
- Updated CLAUDE.md and agent personas

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 22:29:34 +01:00
jpmschweitzerandClaude Opus 4.6 776ec571db chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:10:37 +01:00
jpmschweitzerandClaude Opus 4.6 0386715c6d docs(discussions): add Round 14 worldbuilding — The Settled Reach
Full team worldbuilding round establishing the original SF setting.
Miri's foundation brief covers: dual-tier gate network (Founder
Gates + Span Gates), the Interstitium and Builders, neural lattice
with four enhancement tiers, two-tier death with sleeve economics,
six factions, the Meridian information network, and infrastructure-
as-mystery as the core hook.

Team reactions from Gore (Threshold concept, "cost of knowing"
thesis), Ozzie (delivery via system manipulation, water cooler
moments), Nigel (character-as-lens replayability, Unbound as secret
weapon), Paula (interpersonal relationships layer, post-hard-death
dialogue, faction conversation signatures), and Gestalt (clean
mechanical mappings, imprint-as-save proposal, v0.1 scope cut).

Key consensus: Severance dual-naming, stable topology with shuffled
politics, single Gyre seed in v0.1, interpersonal relationships as
next design priority. Unstated design principle: the player should
eventually realize the loading screen was the most important thing
in the game.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:10:21 +01:00
jpmschweitzerandClaude Opus 4.6 fb31fece61 chore(agents): add IP originality guardian role to Miri
Miri now flags concepts that drift too close to specific franchises
(Hamilton, Banks, Reynolds, Simmons, Morgan) and proposes original
alternatives. "Inspired by" means structural dynamics, not surface
details.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:10:09 +01:00
jpmschweitzerandClaude Opus 4.6 7dc70e5009 chore(meta): add changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:06:35 +01:00
jpmschweitzerandClaude Opus 4.6 615a32f431 docs(discussions): add Round 13 engine selection discussion
Full team debate on engine paradigms, leading to Godot client +
Rust simulation via subprocess/IPC (D-020). Includes Tyre/Troblum
sidequest, IP pivot to original setting, and serialization format
selection. Updated discussions index.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:06:21 +01:00
jpmschweitzerandClaude Opus 4.6 ee36321f7d docs(docs): record D-020 engine decision and rejected alternatives
D-020: Godot 4 client + Rust/bevy_ecs simulation server via
subprocess/IPC. MessagePack serialization. Kill switch at week 8.
Q-001 resolved. Rejected alternatives R-004 through R-010 (pure
Bevy, pure Godot, GDExtension, C++ GDExtension, Fyrox, custom
framework, protobuf).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:06:11 +01:00
jpmschweitzerandClaude Opus 4.6 ff7c781d45 chore(meta): update project description and connector instructions
Reflect D-020 engine decision in project description (Godot 4 +
Rust/bevy_ecs via subprocess/IPC). Update connector usage examples
to reference the new whitelistable wrapper scripts instead of
calling python3 directly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:06:02 +01:00
jpmschweitzerandClaude Opus 4.6 e0eff48412 chore(agents): update Miri from Canon Guardian to Worldbuilder & Setting Designer
Pivot to original IP means Miri no longer guards Hamilton canon.
New role: designs and maintains the original SF setting, ensures
internal consistency, grounds features in worldbuilding. Updated
agent file, agents README, and team roster.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:05:53 +01:00
jpmschweitzerandClaude Opus 4.6 74d910fd67 docs(architecture): add Godot+Rust bridge evaluation and risk assessment
Tyre's architecture evaluation (eval-godot-rust-bridge.md) and
Troblum's risk assessment (risk-godot-rust-bridge.md) for the
Godot 4 client + Rust simulation server approach. These reports
informed the D-020 engine decision and the shift from GDExtension
to subprocess/IPC.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:05:30 +01:00
jpmschweitzerandClaude Opus 4.6 616298936a chore(db): add whitelistable wrapper scripts for SQLite and Qdrant connectors
Thin bash wrappers around sqlite_connector.py and qdrant_connector.py
that can be whitelisted in Claude Code permissions. Covers sqlite-query,
sqlite-exec, qdrant-search, qdrant-index, qdrant-health, qdrant-count.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:05:20 +01:00
jpmschweitzerandClaude Opus 4.6 e7b632b02d chore(meta): initial project structure and infrastructure
Set up Commonwealth game project with complete agent team (18 agents),
discussion archives (12 rounds), briefing system, ticketing database,
Qdrant document search, and skill definitions. Establishes the
documentation and tooling foundation for engine selection and
implementation phases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 18:11:57 +01:00