Two-round workshop producing D-041 (Knowledge Graph Data Model): - Round 1: independent analyses from Dudley, Gestalt, SI, Tyre, Paula - Round 2: synthesis resolving debates + Gestalt mechanics validation Key decisions: - 4-level confidence hierarchy (Suspects < KnowsOf < KnowsDetails < Direct) - BTreeMap for deterministic iteration (D-010 principle 4) - Per-entity Component model, not centralized Resource - StableEntityId + EntityRegistry for save/load stability (partial Q-019) - Sprint 2 stub: structs + direct observation + basic decay (~6.5 dev-days) Resolved Q-016 (knowledge hierarchy), raised Q-024/Q-025/Q-026. Created tickets #361-#368 under epic #351, reconciled #49 children. Updated sprint 2 briefings, agent briefings, and decision files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Dudley - Project Briefing
Last updated: 2026-02-11
Current Project State
The Settled Reach: top-down immersive sim, single-character perspective, asymmetric information core mechanic, Rimworld-style storyteller. 41 confirmed decisions, 17 discussion rounds + 2 workshops complete. Engine selected (D-020: Rust/bevy_ecs server). Vertical slice defined (D-027). v0.1 Content Gap Analysis Workshop complete. Knowledge Graph & Information Boundaries Workshop complete (D-041).
Status
STANDBY. This briefing will be populated when backend/engine implementation begins.
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)
- 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)
Development Workflow
See docs/DEVOPS.md for full procedures. Your key targets:
make setup— verify Rust toolchain (clippy + rustfmt)make build-server—cargo buildinserver/make server—cargo runinserver/make test-server—cargo testinserver/make lint-server— clippy (deny warnings) + rustfmt checkmake ci-server— full server CI pipeline (lint → build → test)- Server code lives in
server/— unit tests inline with#[cfg(test)], integration tests inserver/tests/ - Cross-boundary IPC fixtures in
tests/
Workshop Decisions (relevant to server implementation)
- D-034: THE FRIEND ECS spec — 14 ECS components defined for production-level NPCs (NpcIdentity, Want, Secret, Relationships[3], ToleranceThreshold, DailyRoutine, InformationInventory, Contentment, PersonalityTraits, TellState, SkillSet, AccessTierMap, TriangleMembership, MoodState)
- 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
KnowledgeGraphComponent with BTreeMap storage (deterministic). 4-level confidence hierarchy (Suspects/KnowsOf/KnowsDetails/Direct). StableEntityId + EntityRegistry for stable entity references. Event-driven updates via KnowledgeEventQueue. Sprint 2 scope: data structures + direct observation + basic decay + observer snapshot integration (#112). Canonical Rust structs atdocs/workshops/knowledge-graph-information-boundaries/round2-synthesis.mdPart 3.
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