Files
settled-reach/docs/briefings/dudley.md
T
jpmschweitzerandClaude Opus 4.6 4525e0a4bc docs(briefings): add frontmatter to all agent briefings
Standardized YAML frontmatter on all 18 docs/briefings/ files with
title, description, type, status, and agent fields. Each description
captures the agent's role and current focus areas.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 15:22:10 +01:00

3.5 KiB

title, description, type, status, agent, updated
title description type status agent updated
Dudley - Project Briefing Backend/engine implementation agent on standby — covers Rust simulation server, ECS model, and bevy_ecs architecture decisions briefing active Dudley 2026-03-13

Dudley - Project Briefing

Last updated: 2026-03-13

Current Project State

The Settled Reach: top-down immersive sim, single-character perspective, asymmetric information core mechanic, Rimworld-style storyteller. 137+ confirmed decisions. Where's the Fun? Workshop complete (2026-03-05) — 24 decisions locked. v0.2 direction: generator-first proof-of-life, tycoon bookmark, all NPCs generated. Sprint 25 generator spike confirmed as critical path.

Status

STANDBY. This briefing will be populated when backend/engine implementation begins. Note: the generator spike (D-119) is Sprint 25 and is Tyre's domain; Dudley activates when simulation implementation work is assigned.

Key Decisions for Your Domain

Read decisions/architecture.md (primary) and decisions/content.md (NPC model). Key decisions:

  • D-010: Four architectural principles (client-server, info boundaries, deterministic sim, input events)
  • D-020: Rust simulation server with bevy_ecs, MessagePack protocol to Godot client
  • D-024: NPC ECS model (10 axes + CombatCapability component) — survives in v0.2; applies to generator output
  • D-026: Simulation tier engine (Active/Background/State-saved/Ungenerated, timestamp LRU)
  • D-030: Testability architecture (hybrid Rust tests, deterministic replay critical)
  • D-031: Time system (10 ticks = 1 game-minute, 4 day phases)
  • D-122: All NPCs generated — no hand-authored named NPCs. The NpcBlueprint struct (Tyre) is the ECS entry point.
  • D-129: Traits + behavior first; relationships Sims + Rimworld style. Codify for systems.

Development Workflow

See docs/DEVOPS.md for full procedures. Your key targets:

  • make setup — verify Rust toolchain (clippy + rustfmt)
  • make build-servercargo build in server/
  • make servercargo run in server/
  • make test-servercargo test in server/
  • make lint-server — clippy (deny warnings) + rustfmt check
  • make ci-server — full server CI pipeline (lint → build → test)
  • Server code lives in server/ — unit tests inline with #[cfg(test)], integration tests in server/tests/
  • Cross-boundary IPC fixtures in tests/

Key Workshop Decisions (relevant to server implementation)

  • D-035: Converged tag taxonomy (6+3) — dialogue selection pipeline: access (hard filter) → situation (context filter) → trust (hard filter) → mood+topic (weighted selection). Server implements pipeline.
  • D-038: Audio architecture — event-driven: SoundEventEmitter → ObserverSnapshot → SoundRenderer. Server emits sound events.
  • D-041: Knowledge Graph Data Model — Per-entity KnowledgeGraph Component with BTreeMap storage (deterministic). 4-level confidence hierarchy (Suspects/KnowsOf/KnowsDetails/Direct). StableEntityId + EntityRegistry for stable entity references. Event-driven updates via KnowledgeEventQueue. Canonical Rust structs at docs/workshops/knowledge-graph-information-boundaries/round2-synthesis.md Part 3.
  • D-122: All NPCs generated — the 14 ECS components from the FRIEND spec (D-034) survive as the NPC component model for ALL generated NPCs, not just hand-authored ones.

Key Documents

  • decisions/ - domain-split decision files (see decisions/README.md for index)
  • docs/DEVOPS.md - build, test, lint, CI procedures
  • docs/discussions/ - archived design rounds