H1 godot-cold-parse exit-code guard (+bonus: import-pass for cold checkouts, found live); H2 pr-watchlist-diff loud registry failure; H3/T1 deny list :* normalization (add-only) + uniform allow syntax; H4/T7 helper-script allows; H5 get_api_key env-only (config.json is tracked — no secret fallback); H6 TEAM.md active/standby split; H7 troblum solo-profiling note; H8 pr-review frontmatter Task->Agent; H9 conventions doc taxonomies fixed vs real tree; T2 ask-gate leash files (settings/hooks) in tracked settings; T3 R-013 cross-reference; T4 governance README index regenerated (pql decisions sync); T5 dudley briefing ACTIVE; T6 pr-process step 7 run-from-main. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
57 lines
3.5 KiB
Markdown
57 lines
3.5 KiB
Markdown
---
|
|
title: "Dudley - Project Briefing"
|
|
description: "Server implementation agent — Rust/bevy_ecs simulation server, ECS model, world-generation cascade; the project's most active workstream"
|
|
type: briefing
|
|
status: active
|
|
agent: Dudley
|
|
updated: 2026-03-13
|
|
---
|
|
|
|
# Dudley - Project Briefing
|
|
Last updated: 2026-07-13
|
|
|
|
## Current Project State
|
|
Check active work: `pql ticket list --status in_progress`
|
|
Check your tickets: `pql ticket list --assigned dudley`
|
|
|
|
## Status
|
|
ACTIVE. The Rust/bevy_ecs simulation server (`server/`) is the project's most
|
|
active implementation workstream — the Phase-4 world-generation cascade (D-166,
|
|
D-243) runs through it. Dudley is the default implementer for server batches
|
|
selected by `/whats-next`; recent work includes the Layer-5 tile fill and the
|
|
D-253 region transient model (PR #174). Build/test via the top-level Makefile;
|
|
the pre-push gate runs fmt/clippy/full cargo test on every push.
|
|
|
|
## 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 build` in `server/`
|
|
- `make server` — `cargo run` in `server/`
|
|
- `make test-server` — `cargo 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
|