# Workshop Outcomes: v0.1 Content Scoping **Workshop:** v0.1 Content Scoping **Date:** 2026-02-12 **Rounds:** 2 + closing round (lead resolutions) **Participants:** Gestalt, Paula, Tyre, Mellanie, Stig, Dudley, Si, Qatux **Facilitator:** Jeroen **Documenter:** Qatux **Status:** CLOSED — all recoverable decisions filed, tickets created **Full notes:** `docs/workshops/v01-content-scoping/SUMMARY.md`, `si-ticket-changes.md` --- ## What the Workshop Accomplished Applied the Wiki Review's long-term generator strategy to the immediate v0.1 hand-authored proof. Produced 20 decisions (D-042 through D-061), 38 new tickets, canonical NPC mapping for 17 characters, the 16-key EntityKnowledge specification, full content directory architecture, and a Sprint 3-5 roadmap. Tyre and Dudley independently produced structurally identical ObserverSnapshot v3 definitions without coordination — confirmed the architecture was sound. Lead issued 4 decisions resolving the major Round 1 disagreements between rounds, then resolved 3 remaining questions in a closing round. **Note on decision IDs:** Several IDs assigned at this workshop collided with later numbering. Genuinely new decisions identified in retrospect were filed as D-087 (content directory structure), D-089 (NPC canonical mapping method), D-091 (EntityKnowledge 16-key canonical set), Q-031 through Q-034. --- ## Decisions Produced ### From Round 1 Consensus (7) | ID | Decision | Domain | |----|----------|--------| | D-042 | Drin promoted from Tier 3 to Tier 2 | content.md | | D-043 | THE NOBODY mechanic deferred to v0.2; hidden data ships in v0.1 content | scope.md | | D-044 | v0.1 interaction model: 7 verbs (Move, Look, Monologue, Examine Object, Examine NPC, Talk, Overhear) | scope.md | | D-045 | v0.1 scope IN: news ticker, PC-as-NPC, time progression, relationship state transitions | scope.md | | D-046 | v0.1 scope OUT: inventory, stealth, combat, save/load, lattice modification | scope.md | | D-047 | v0.1 triangles: 3 active forks (T1, T2, T4), 2 passive tensions (T3, T5) | content.md | | D-048 | Client receives all text from server via state updates; client does not load content files | architecture.md | ### From Round 2 + Closing (13) | ID | Decision | Domain | |----|----------|--------| | D-049 | YAML is the content file format for v0.1; RON is optional build-time optimization | architecture.md | | D-050 | Gestalt's NPC pattern/motivation mapping canonical for v0.1; Paula's emotional layer becomes v0.2 annotations | content.md | | D-051 | v0.1 ships single context-sensitive verb; multi-verb architecture modeled underneath | architecture.md | | D-052 | 3-state pause: Normal (100%), Overlay (50%), Paused (0%); server-authoritative | architecture.md | | D-053 | Self-contained triangle forks for v0.1; no cross-triangle cascade (v0.2) | content.md | | D-054 | ObserverSnapshot v3: adds sim_speed, nearby_interactions, active_dialogue, monologue, overheard, knowledge_updates, examine_result, ticker_headlines | architecture.md | | D-055 | 16 EntityKnowledge keys; 4 new role-perspective keys; trust_read merged into trust_level; secret_held → leverage_held | architecture.md | | D-056 | PC voice registers: smuggler (feeling-first, fragments, physical); detective (analysis-first, complete sentences, institutional) | content.md | | D-057 | Content directory: content/ with _schema/, global/, districts/ top-level split; JSON Schema validation at build time | process.md | | D-058 | THE FRIEND content pack template: Kael Davan, 91 lines across 5 arc phases | content.md | | D-059 | Monologue display: 160 char max, 2-line max, 4-6s display, 2s cooldown, queue depth 1, 9-level priority | architecture.md | | D-060 | actions[] renamed to verbs[] across all surfaces | architecture.md | | D-061 | No ticket merges across domain teams | process.md | ### Retrospective Filings (ID collisions resolved) | ID | Decision | Domain | |----|----------|--------| | D-087 | Content directory structure (content/ split) | process.md | | D-089 | Canonical NPC pattern/motivation mapping method | content.md | | D-091 | EntityKnowledge 16-key canonical specification | architecture.md | --- ## Open Questions Carried Forward | ID | Question | Status | |----|----------|--------| | Q-031 | NPC surnames for Drin, Sess, Tav awaiting Miri validation | Informational | | Q-032 | Interaction struct naming: AvailableActions (Tyre) vs EntityInteractions (Dudley) | Resolved at implementation | | Q-033 | 695 authored items: validated as scope input but not independently verified | Informational | | Q-034 | Dialogue max-width: pixel value for 20% height / max-width constraint | Pending lead call | None blocked Sprint 3. --- ## Tickets Created 38 new tickets + 10 existing ticket updates. See `si-ticket-changes.md` for full list. **Teams:** copy (21), server (13), client (2), ci (1). **Critical path:** #261 (Dual Lens Authoring Guide) is the single biggest blocker — directly blocks 9 downstream tickets across the content pipeline. Five-day time-box recommended. | Series | Count | Domain | |--------|-------|--------| | A (Wiki content fixes) | 8 | copy | | B (Style guides + specs) | 5 | copy | | C (Content directory + schemas) | 10 | copy/server/ci | | D (Design specs) | 2 | server/copy | | NEW 1-7 (Workshop rounds) | 7 | copy | | NEW 8-14 (Lead decisions, excl. killed NEW-12) | 6 | server/client | **Killed:** NEW-12 (client pause state machine — pause is server-authoritative, client sends IPC command only). **Sprint allocation:** Sprint 3 — foundations and specs. Sprint 4 — content conversion and authoring begins. Sprint 5+ — content at scale. --- ## NPC Canonical Mapping (17 NPCs) The Gestalt-Paula synthesis produced the v0.1 canonical pattern/motivation mapping for all 17 Sova NPCs. This is the authoritative reference for content authoring. | Name | Tier | Pattern | Motivation | |------|------|---------|-----------| | Kael Davan | T1 | FRIEND | OPERATOR | | Sera Venn | T1 | FRIEND | WITNESS | | Naia Tamm | T1* | MIRROR | CIVILIAN | | Voss, Lera, Torek, Devra, Maret, Resha, Drin, Renn, Pell, Harek | T2 | (varied) | (varied) | | Sess, Olin, Sabel, Tav | T3 | (varied) | (varied) | Off-stage: Nils Davan — GHOST + HANDLER. --- *Compiled by Qatux. Source: `docs/workshops/v01-content-scoping/SUMMARY.md`, `si-ticket-changes.md`. Decisions in relevant `decisions/` domain files (D-042 through D-061, D-087, D-089, D-091). Open questions in `decisions/questions.md` (Q-031 through Q-034).*