Cleared stale STANDBY markers, swept dead DISCUSSION.md pointers, disambiguated overlapping personas, corrected asset-gen paths. Armed 7 discussion agents (gestalt/gore/mellanie/miri/nigel/ozzie/paula) with Bash so they can run the pql preamble. Integrated inigo into the roster + briefing (audio, standby). Removed tiger — localization dropped from scope (R-013). Part of T-1099. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3.2 KiB
3.2 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
Check active work: pql ticket list --status in_progress
Check your tickets: pql ticket list --assigned dudley
Status
STANDBY. This briefing will be populated when backend/engine implementation begins. 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-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/
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
KnowledgeGraphComponent 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 atdocs/workshops/knowledge-graph-information-boundaries/round2-synthesis.mdPart 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