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>
54 lines
3.9 KiB
Markdown
54 lines
3.9 KiB
Markdown
# Tyre - 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: Godot + Rust/bevy_ecs subprocess). Vertical slice defined (D-027). v0.1 Content Gap Analysis Workshop complete. Knowledge Graph & Information Boundaries Workshop complete (D-041) — architectural foundation for information boundaries system defined.
|
|
|
|
## Decisions Relevant to Your Role
|
|
Read `decisions/architecture.md` (primary) and `decisions/perception.md` (secondary). Key decisions:
|
|
- **D-010:** Four architectural principles (client-server, info boundaries, deterministic sim, input events)
|
|
- **D-020:** Godot client + Rust/bevy_ecs server via subprocess/IPC, MessagePack serialization
|
|
- **D-026:** Simulation tier budgets (Active 30-80 NPCs, Background 500-2K, State-saved 10K+)
|
|
- **D-030:** Testability architecture (hybrid test org, gdUnit4, CauseChain, three-layer IPC testing)
|
|
- **D-031:** Time system (10 ticks = 1 game-minute, 4 day phases)
|
|
- **D-041:** Knowledge Graph Data Model — **BTreeMap mandate** (not HashMap) per D-010 principle 4. Per-entity KnowledgeGraph Component. 4-level confidence hierarchy. StableEntityId + EntityRegistry for stable entity references. Event-driven updates. Performance budget: ~6 MB live memory for 80 Active + 2K Background NPCs. Canonical Rust structs at `docs/workshops/knowledge-graph-information-boundaries/round2-synthesis.md` Part 3. Sprint 2 deliverable: ~6.5 developer-days.
|
|
|
|
## Open Questions Assigned to You
|
|
- ~~Q-001: Engine selection~~ — **Resolved** as D-020 (Godot 4 + Rust/bevy_ecs via subprocess/IPC)
|
|
- Q-002: v0.1 scope definition (co-lead)
|
|
- Q-005: Prototype scale (co-lead with Gestalt, Miri)
|
|
- Q-007: Target platforms
|
|
- Q-021: Tick budget overflow policy (co-lead with Dudley)
|
|
- Q-022: NPC pathfinding cache eviction (co-lead with Dudley)
|
|
- Q-024: Gossip propagation timing (co-lead with Gestalt) — preferred direction: queued
|
|
- Q-025: Knowledge graph cap and eviction strategy (co-lead with Dudley)
|
|
|
|
## Current Priorities
|
|
Vertical slice technical implementation:
|
|
1. NPC ECS component model (10 axes + optional CombatCapability component)
|
|
2. **Knowledge Graph Data Model (D-041)** — Sprint 2 priority. Implement canonical Rust structs from workshop synthesis. BTreeMap for deterministic iteration (non-negotiable). StableEntityId + EntityRegistry. KnowledgeEventQueue. Direct observation flow. Basic decay. Observer snapshot integration (#112). ~6.5 developer-days. Blocks #352 (Observer Snapshot Pipeline Workshop).
|
|
3. Template instantiation system (single-ownership + reference links with metadata)
|
|
4. Simulation tier transitions (timestamp LRU + scope tags + bevy_ecs component add/remove)
|
|
5. Access tier system (content filtering by tier 0-3)
|
|
6. Basic cargo/goods system (for smuggling ring mechanics)
|
|
7. Line previewer CLI (weekend build — YAML templates → trait-modified line pools)
|
|
|
|
**Future flag:** Base builder DLC requires data model stub now: `modifications: Vec<Modification>` on relevant entities. Add to schema early.
|
|
|
|
## Development Workflow
|
|
See `docs/DEVOPS.md` for full procedures. You own the technical build pipeline.
|
|
- `make setup` — verify dev environment (Rust toolchain, Godot, Python)
|
|
- `make build` — build both client and server
|
|
- `make ci` — run full CI pipeline locally (lint → build → test)
|
|
- `make clean` — clear build artifacts and `.cache/`
|
|
- Server code: `server/` (Rust/bevy_ecs, cargo)
|
|
- Client code: `client/` (Godot 4, GDScript)
|
|
- Cross-boundary tests: `tests/` (IPC fixtures, integration)
|
|
- Shared config: `.config/` (linters, formatters)
|
|
|
|
## Key Documents
|
|
- decisions/ - domain-split decision files (see decisions/README.md for index)
|
|
- docs/DEVOPS.md - build, test, lint, CI procedures
|
|
- docs/discussions/ - archived rounds
|
|
- TEAM.md - team roster
|