docs(workshops): add outcomes files for 5 completed workshops
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>
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# 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:
|
||||
- `KnowledgeGraph` as a Bevy ECS `Component` on each entity (not a centralized resource)
|
||||
- `StableEntityId` (`u64`-based) for cross-reference stability; runtime `EntityRegistry` for bidirectional mapping
|
||||
- `BTreeMap<StableId, EntityKnowledge>` + `BTreeMap<FactId, FactKnowledge>` per entity
|
||||
- Four confidence levels: `Direct` > `KnowsDetails` > `KnowsOf` > `Suspects`
|
||||
- Three knowledge states: `Active`, `Stale`, `Contradicted`
|
||||
- `KnowledgeSource` tracked 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).*
|
||||
Reference in New Issue
Block a user