Closes content-gap-analysis, KG-information-boundaries, v01-content-scoping, v01-gap-analysis, and wiki-review workshops with formal outcomes recording decisions produced, tickets created, and open questions carried forward. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.5 KiB
Workshop Outcomes: Knowledge Graph & Information Boundaries
Workshop: Knowledge Graph & Information Boundaries
Date: 2026-02-11
Rounds: 2 (Design + Synthesis)
Participants: Tyre, Gestalt, Paula, Dudley, Si
Facilitator: Jeroen
Documenter: Qatux
Status: DONE — fully actioned, decisions filed, tickets created
Full notes: docs/workshops/knowledge-graph-information-boundaries/round2-synthesis.md, sprint2-impact.md
What the Workshop Accomplished
Replaced the InformationInventory { known_facts: Vec<String> } placeholder with a fully specified knowledge graph data model. Five agents analyzing from different angles converged independently on all fundamentals: per-entity ECS component, stable entity IDs, per-entry provenance tracking. The synthesis resolved the only substantive debate (centralized resource vs. per-entity component) unanimously in favour of per-entity. The resulting D-041 spec is the foundation for asymmetric information as a playable mechanic — and became load-bearing for D-010, D-011, D-017, D-028, D-033, and Q-016.
Major Decision Produced
D-041: Knowledge Graph Data Model
The core design decision of this workshop. Full specification in decisions/perception.md.
Key architectural choices:
KnowledgeGraphas a Bevy ECSComponenton each entity (not a centralized resource)StableEntityId(u64-based) for cross-reference stability; runtimeEntityRegistryfor bidirectional mappingBTreeMap<StableId, EntityKnowledge>+BTreeMap<FactId, FactKnowledge>per entity- Four confidence levels:
Direct>KnowsDetails>KnowsOf>Suspects - Three knowledge states:
Active,Stale,Contradicted KnowledgeSourcetracked per-entry (not per-graph):DirectObservation,ToldBy,Background,Heard- Event-driven updates via
KnowledgeEventQueue; decay pass once per game-minute - Sprint 2 scope: data structures + direct observation + basic decay only
Additional Decisions Implied (formalized later)
The workshop produced the architectural foundation that fed into:
- D-012: Information boundaries (per-character knowledge isolation)
- Formal resolution of Q-016: Knowledge hierarchy (
Suspects<KnowsOf<KnowsDetails<Direct)
Open Questions Identified
| ID | Question | Sprint Impact | Resolved By |
|---|---|---|---|
| Q-024 | Gossip propagation timing (immediate vs queued) | Sprint 3+ | D-080 (knowledge-flow-npc-boundaries workshop) |
| Q-025 | Knowledge graph cap and eviction policy | Sprint 3+ | D-080 (closed: no cap needed at projected v0.1 scale) |
| Q-026 | Contradiction detection algorithm | Sprint 3+ (THE FRIEND arc) | D-083 (knowledge-flow-npc-boundaries workshop) |
None blocked Sprint 2.
Tickets Created
8 new tickets added to Sprint 2, all under epic #351. Sprint 2 expanded from 14 to 22 tickets (+6.5 developer-days).
| # | Title | Priority | Estimate |
|---|---|---|---|
| #361 | KnowledgeGraph component + types (D-041) | critical | 1 day |
| #362 | StableEntityId + EntityRegistry resource | critical | 1 day |
| #363 | KnowledgeEventQueue + processing system | high | 0.5 day |
| #364 | Direct observation knowledge flow | critical | 0.5 day |
| #365 | Basic knowledge decay system | high | 0.5 day |
| #366 | Observer snapshot knowledge integration | critical | 1 day |
| #367 | Knowledge graph unit test suite | high | 1 day |
| #368 | Knowledge vocabulary for v0.1 content | high | 0.5 day |
Existing tickets affected:
- #89 (Information inventory) — cancelled, subsumed by #361
- #269 (CauseChain component) — marked done (already implemented)
- #138-142 (Information boundary epics) — reparented under #351; #139, #141, #142 deferred to Sprint 3; #140 cancelled (merged into #366)
Critical path impact: #361, #362, #363, #364 added serially to Sprint 2 critical path (10 tickets serial, up from 6).
Sprint 2 Completion Criteria (Added by Workshop)
Two new acceptance criteria added to Sprint 2's definition of done:
- Entity color reflects relationship state from knowledge graph (#361, #366)
- Remembered (not visible) entities appear as ghosts at last-known position (#361, #366)
Knowledge graph proof: Observe an NPC, walk away, return. NPC appears as ghost at last-known position while not in LOS. Color shifts by relationship state.
Compiled by Qatux. Source: docs/workshops/knowledge-graph-information-boundaries/round2-synthesis.md, sprint2-impact.md. Primary decision in decisions/perception.md (D-041).