Files
settled-reach/docs/workshops/v01-content-scoping/round2-si.md
T
jpmschweitzerandClaude Opus 4.6 b672b9c269 feat(docs): restructure wiki taxonomy with templates and Krenn System entry (#301, #319)
Move wiki from docs/wiki/ to root wiki/. Add 14 category templates with
YAML frontmatter, governance model, hierarchical spatial structure
(system > station > district > location). Populate Krenn System entry
as first concrete star system. Update cross-references in workshop and
sprint docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 00:58:45 +01:00

22 KiB
Raw Blame History

Round 2 — SI (Project Manager)

Finalized Ticket List for v0.1 Content Scoping

Incorporates: all 7 Round 1 responses, Qatux tracking doc, lead decisions (D-NPC, D-FORMAT, D-INTERACT, D-PAUSE).


1. Lead Decisions — Impact on Tickets

Decision Ticket Impact
D-NPC: Gestalt's mechanical mapping wins for v0.1 NEW-1 simplified: "apply Gestalt's mapping" (not resolve disagreements). Paula's emotional layer becomes v0.2 annotation.
D-FORMAT: YAML for content, RON converter available Confirms C-series as YAML. Adds NEW-8: RON converter tool.
D-INTERACT: Single action for v0.1, multi-verb architecture underneath NEW-7 reframed. Adds NEW-9 (server: InteractionOptions) + NEW-10 (client: extensible prompt).
D-PAUSE: Spacebar always pauses, overlays = 50% sim speed Adds NEW-11 (server: tick rate scaling) + NEW-12 (client: pause state machine).

2. Round 1 Consensus — Impact on Tickets

Consensus Item Ticket Impact
A-01: Drin promoted to Tier 2 NEW-2 changes from "evaluation" to "execute promotion" — expand profile.
A-02: NOBODY deferred to v0.2 No v0.1 ticket. Hidden data ships in NPC YAML files (handled by C-series).
A-05: ~200 monologue lines Sizes NEW-4 at ~200 lines (~100 per character).
A-06: ~695 total authored items Overall content scope validation. No new ticket, but informs sprint capacity.
A-07: 3 active + 2 passive triangles Confirms A11 scope (Triangle 1 only needs fixing). T3/T5 need less work.
A-11: THE FRIEND is critical path Confirms #261 → #297/#298 chain is the highest-priority dependency.
A-12: Client receives text from server No client-side content loading tickets needed. Simplifies client scope.
A-14: PC-as-NPC confirmed for v0.1 Validates B3, B5, NEW-6.
A-15: News ticker confirmed for v0.1 #306 confirmed. Scope: ~20 headlines.
A-17: Self-contained triangle forks Reduces C8 complexity (no cross-triangle cascade logic).
Tyre: Line previewer CLI Adds NEW-13.
Paula: 7 additional wiki gaps Gaps 1-5 already covered by existing tickets. Gap 6 (location smuggler detail) → folded into content conversion. Gap 7 (Harek triangle membership) → folded into NEW-1 mapping.

3. Existing Ticket Updates (Revised)

ID Title Action Sprint Target
#368 Knowledge vocabulary for v0.1 content Close — wiki at wiki/ is the delivered output Sprint 2 (done)
#369 Wiki Review Workshop Outputs (epic) Repurpose as parent epic for all v0.1 content scoping tickets. Update description.
#301 Wiki taxonomy and structure Assign to copy. Downscope: Sova district structure only for v0.1. Full 500+ world taxonomy is generator-era. Sprint 3
#319 Krenn System wiki entry Merge with A3. Expanded: wiki page + seed.yaml reference implementation. Assign to copy. Sprint 4
#261 Dual Lens Authoring Guide CRITICAL PATH ROOT. Assign to copy. Owner: Paula. Blocks 9 downstream tickets. Sprint 3 (P0)
#310 Character voice speech patterns Subsume into B4 (smuggler voice card + moral arc). B4 is the larger ticket. Close #310 when B4 lands. Sprint 3 (via B4)
#306 News ticker / Meridian feed content Confirm scope: ~20 dual-lens headlines. Assign to copy. Sprint 4
#326 YAML content loader Assign to server. Blocked by C1 + C2. Sprint 4
#86 Core NPC components Already Sprint 3 server. Dudley's ECS component list from Round 1 informs this. Sprint 3
#88 Daily routine system Already Sprint 3 server. Needs NPC routine YAML from content conversion. Sprint 3

4. Finalized New Ticket Proposals

Group A: Wiki Content Fixes (copy team)

ID Title Type Priority Sprint Blocked By Description
A1 Apply canonical full names to all NPC wiki pages task medium 3 Apply Miri's 12 full names to NPC wiki pages. Update Core Identity blocks, environmental text references.
A2 Rename Hael → Naia Tamm across all wiki files task medium 3 Find-and-replace across ~8 wiki files. Triangle 4 becomes Naia-Kael-Sera.
A6 Add smuggler-perspective FactId progression text task high 4 B4 Add smuggler-path text for all FactIds where smuggler starts at KnowsDetails or has different knowledge path.
A7 Add smuggler-specific entity attributes to entity-attributes.md task high 3 Scope depends on Round 2 resolution of D-03 (Gestalt's 4 new + 2 repurposed vs Paula's 8 new). Add to wiki/knowledge/entity-attributes.md.
A8 Standardize location shortcodes in monologue-guide.md task medium 3 Fix hub_m_ → terminal_m_ inconsistency. Add shortcode reference table.
A10 Stub NPC profile for Nils Davan task medium 3 Off-stage profile: Core Identity, relationship to Kael, role in ring, known attributes.
A11 Fix Triangle 1 (Hub Power) — Volume Escalation decision story high 3 A10 Add smuggler decision fork: side with Nils (louder signal), side with Voss (tension), or split route (exposure). Self-contained — no cross-triangle cascade per A-17.
A12 Create environmental text examples file task medium 4 A3/#319 Bar menu, safety notice, news ticker cycle, corridor graffiti. Krenn-voiced. Needed for wow moment #1 (Arrival).

Group B: Style Guides & Specs (copy team)

ID Title Type Priority Sprint Blocked By Description
B1 NPC Authoring Style Guide story critical 5 A3, A4, A7, B2, B4 Combined document: tier templates, authoring rules, regional culture, content pipeline. Reframed as generator specification — this IS the NPC generator input format. Most complex ticket; many blockers.
B2 THE MIRROR pattern spec story high 3 Define honest-character NPC pattern. No contradiction arc, no secret. Tier 1 emotional depth. Naia Tamm is first instance. Output becomes generator template.
B3 PC-as-NPC unified spec story high 3 A7 Unified spec: starting knowledge graph, starting relationship map, reverse knowledge (bidirectional), orientation monologue, agency boundaries, authored relationship stubs, tell inversion. 9-step conversion checklist.
B4 Smuggler voice card + moral arc spec story high 3 A7 Two deliverables: (1) Smuggler voice card — paired examples with detective showing dual-lens register differences. (2) Smuggler moral arc — 4 phases (Comfort→Doubt→Reckoning→Compromise), smuggler-specific FactIds, monologue triggers. Subsumes #310 scope.
B5 NPC-format briefs for both PCs — Concept A v0.1 story high 4 B3 NPC-mode behavior scripts (5-7 routine entries each), reverse dual-lens notes, observation monologue (3-5 lines per character). ~20-30 authored items total.

Group C: Content Directory & Schema (split teams)

ID Title Type Priority Sprint Team Blocked By Description
C1 Content directory structure design doc story high 3 copy Document converged structure: _meta/ + _schema/ (infrastructure), global/ + districts/ (content). Canonical_id format. Mod overlay mechanics. District as atomic pack unit. Informs all content implementation.
C2 Create content/ directory skeleton task high 3 server C1 Create directory tree with empty YAML stubs. _meta/, _schema/, global/ (factions, technology, contraband, knowledge, enums, regions), districts/sova-transit/ (district.yaml, npcs/, locations/, templates/, triangles/, lines/).
C3 Content schema definitions (YAML Schema files) story high 3 server C1 Create _schema/ with validation schemas: npc.schema.yaml (tier-conditional), location, faction, template, fact, dialogue, monologue, district, pool.
C4 Create global/enums/ YAML files from D-035 task medium 4 server C2 Populate enums: situations (13), topics (9), moods (8), triggers (9), access-tiers (5), activities (new).
C5 Create global/knowledge/entity-attributes.yaml task medium 4 server C2 Machine-readable entity attribute definitions. 14 detective + smuggler keys (count depends on D-03 resolution).
C6 Create pools.yaml for v0.1 seed-time selection task medium 4 server C2 Sova single-candidate pools: friend_smuggler, friend_detective, bar_regulars, compromised_inspector, primary_contraband. Architecture supports N candidates.
C7 Create template YAML files with role slot definitions task medium 4 server C2 3 social sites: logistics-hub.yaml, bar.yaml, smuggling-ring.yaml. Role slots with count ranges, required flags, pool references, triangle constraints.
C8 Create triangle YAML files for 5 v0.1 triangles task medium 4 server C2 5 triangles. Self-contained forks (no cross-triangle cascade per A-17). Includes updated T1 with Volume Escalation.
C9 Implement make validate-content CLI story high 4 server C3 Structural + tier-conditional validation. Reads _schema/, validates all YAML. v0.2: cross-reference validation.
C10 Pre-commit FactId typo check task medium 4 ci Grep-based pre-commit check validating FactId references against canonical facts.yaml.

Group D: Design Specs

ID Title Type Priority Sprint Team Blocked By Description
D2 Seed configuration schema design story medium 4 server Schema for what the randomizer produces at game-start: FRIEND selections, social site population, compromised NPC, contraband type. v0.1 has single-candidate pools but architecture must support N.
D4 News ticker headline pool task medium 4 copy ~20 dual-lens headlines for Meridian feed at Lera's. Freight data, politics, local infrastructure, sports, Commission advisories. Each works as dual-lens monologue trigger.

Group NEW: Tickets from Round 1 + Round 2

ID Title Type Priority Sprint Team Blocked By Description
NEW-1 Apply Gestalt's NPC pattern/motivation mapping task high 3 copy Apply the canonical v0.1 mapping (Gestalt's Round 2 finalized table) to wiki and content files. 17 NPCs × (pattern + motivation). Includes Harek's structural role per Paula Gap 7.
NEW-2 Drin Tier 2 profile expansion task medium 3 copy NEW-1 Drin confirmed Tier 2 (A-01). Expand wiki profile to full Tier 2 depth: all 10 profile axes, smuggler lens section, triangle membership formalized.
NEW-3 Wiki → YAML content conversion (Sova NPCs) story high 4 copy C1, C2, C3 Convert 17 NPC wiki profiles to engine-readable YAML. Includes routine YAML layer (Paula Gap 3), triangle fork decision points (Gap 4), location smuggler detail (Gap 6). Tyre estimates 2-3 days.
NEW-4 Monologue content pool — minimum viable (~200 lines) story high 4 copy #261, B4 ~100 lines per character. Categories: arrival observations, NPC routine commentary, environmental flavor, contradiction hints, idle reflections, tutorial/orientation. Follows Mellanie's authoring order (FRIEND packs first, then fill).
NEW-5 v0.1 wow moment content checklist task high 3 copy Map D-039's 6 wow moments to specific content deliverables + implementation tickets. Track completion. Acceptance: every moment has identified content + code backing it.
NEW-6 PC-as-NPC content authoring story high 5 copy B3, B5 Author the actual lines: 5-7 routine entries per character, 3-5 observation monologue lines, reverse dual-lens notes. ~25 authored items (Mellanie's budget).
NEW-7 v0.1 interaction verb spec task medium 3 copy Document the 7 interaction types (A-04: Move, Look, Monologue, Examine Object, Examine NPC, Talk, Overhear). Define triggers, UI needs, server events per type. v0.1 surfaces single context-sensitive action; architecture supports N verbs.

Group NEW-R2: Tickets from Lead's Round 2 Decisions

ID Title Type Priority Sprint Team Blocked By Description
NEW-8 YAML → RON converter tool task medium 4 server C1 Build-time converter: reads content YAML, emits RON. Lives in tooling/. Runs as make target (make content-ron). Not on critical path — engine consumes YAML in v0.1; RON is future-proofing.
NEW-9 Multi-verb interaction architecture — server InteractionOptions story high 3 server Server models N available actions per entity via InteractionOptions component. v0.1 client picks first/best; v0.2 client shows menu. Must not be throwaway. Includes ObserverSnapshot v3 extension for interaction data.
NEW-10 Multi-verb interaction architecture — client extensible prompt story high 3 client NEW-9 Client-side interaction prompt designed for extensibility. v0.1: single context-sensitive E prompt. Architecture supports v0.2 multi-verb menu. Prompt system reads InteractionOptions from server state.
NEW-11 Pause system — server tick rate scaling story medium 3 server Tick rate supports 3 states: full speed (normal play), 50% speed (UI overlay open), 0% (spacebar pause). Server receives pause/speed commands from client.
NEW-12 Pause system — client state machine story medium 3 client NEW-11 Client pause state machine: Normal → Overlay (50% speed, triggered by knowledge panel / dialogue) → Paused (spacebar from any state). Spacebar always overrides to full pause.
NEW-13 Line previewer CLI task medium 4 server C3, C9 CLI tool to preview monologue/dialogue line selection for a given game state. Tyre's recommendation for content tuning. Lives in tooling/. Helps content authors test prerequisite logic without running the full game.

5. Sprint Plan

Sprint 3: Know (Copy Team — Content Foundation)

Goal: Deliver the content specs and wiki fixes that unblock server implementation and content authoring.

Priority Ticket Title Owner Hint Effort
P0 #261 Dual Lens Authoring Guide Paula Large
P0 C1 Content directory structure design Tyre/Gestalt Medium
P0 A1 Apply canonical full names Paula Small
P0 A2 Hael → Naia Tamm rename Paula Small
P0 A7 Smuggler entity attributes Paula Small
P1 B2 MIRROR pattern spec Gestalt/Gore Medium
P1 B4 Smuggler voice + moral arc (subsumes #310) Gore/Mellanie Medium
P1 NEW-1 Apply Gestalt's NPC pattern mapping Gestalt Small
P1 NEW-5 Wow moment content checklist SI Small
P1 A10 Nils Davan stub Paula Small
P1 A11 Triangle 1 fix Gestalt/Paula Medium
P2 B3 PC-as-NPC spec Gestalt/Paula Medium
P2 A8 Shortcode fix Mellanie Small
P2 NEW-2 Drin Tier 2 profile expansion Paula Small
P2 NEW-7 Interaction verb spec Gestalt Small

Sprint 3 copy total: 15 tickets (2 P0, 6 P1, 5 P2, 2 small enough to parallelize)

Sprint 3: Know (Server Team — Content-Adjacent, Proposed Additions)

Priority Ticket Title Effort
P1 C2 Create content/ directory skeleton Small
P1 C3 Content schema definitions Medium
P1 NEW-9 Multi-verb interaction architecture — InteractionOptions Medium
P2 NEW-11 Pause system — tick rate scaling Small

Sprint 3: Know (Client Team — Proposed Additions)

Priority Ticket Title Effort
P1 NEW-10 Multi-verb interaction — extensible prompt Medium
P2 NEW-12 Pause system — client state machine Small

Sprint 4 (Content Conversion + Authoring Begins)

Ticket Title Team Blocked By
NEW-3 Wiki → YAML conversion (17 NPCs) copy C1, C2, C3
C4 Enum YAMLs from D-035 server C2
C5 Entity-attributes YAML server C2
C6 Pools YAML server C2
C7 Social site template YAMLs server C2
C8 Triangle YAMLs server C2
C9 validate-content CLI server C3
C10 Pre-commit FactId check ci
A6 Smuggler FactId progression text copy B4
A12 Environmental text examples copy A3/#319
B5 PC NPC-format briefs copy B3
D4 News ticker headlines (~20) copy
#306 News ticker content (align with D4) copy
D2 Seed configuration schema server
NEW-8 YAML → RON converter server C1
NEW-13 Line previewer CLI server C3, C9
#326 YAML content loader server C1, C2
A3/#319 Krenn brief + seed.yaml reference copy

Sprint 5+ (Content at Scale)

Ticket Title Team Blocked By
NEW-4 Monologue content pool (~200 lines) copy #261, B4
NEW-6 PC-as-NPC content authoring (~25 items) copy B3, B5
B1 NPC Authoring Style Guide (generator spec) copy A3, A4, A7, B2, B4
A4 Regional style guide / seed.yaml template copy
A9 Thematic Question field (Tier 1 profiles) copy B2
#297 THE FRIEND: Kael content pack copy #261
#298 THE FRIEND: Sera content pack copy #261
#190 Workplace content pack copy #261
#191 Bar content pack copy #261
#192 Smuggling ring content pack copy #261

6. Revised Dependency Chain

SPRINT 3 — Two Parallel Critical Chains
========================================

Chain 1: Content Authoring Pipeline
------------------------------------
#261 (Dual Lens Guide) [P0, CRITICAL PATH ROOT]
  ├── blocks B4 (Smuggler voice + moral arc) [Sprint 3]
  │     ├── blocks A6 (Smuggler FactId text) [Sprint 4]
  │     └── blocks NEW-4 (Monologue pool) [Sprint 5]
  ├── blocks #297 (FRIEND: Kael) [Sprint 5]
  ├── blocks #298 (FRIEND: Sera) [Sprint 5]
  ├── blocks #299 (Opening hook: smuggler) [Sprint 5]
  ├── blocks #300 (Opening hook: detective) [Sprint 5]
  └── blocks #190, #191, #192 (Content packs) [Sprint 5]

A7 (Smuggler attributes) [P0, Sprint 3]
  ├── blocks B4 (Smuggler voice) [Sprint 3]
  └── blocks B3 (PC-as-NPC spec) [Sprint 3]
        └── blocks B5 (PC briefs) [Sprint 4]
              └── blocks NEW-6 (PC-as-NPC authoring) [Sprint 5]

Chain 2: Content Architecture Pipeline
---------------------------------------
C1 (Content dir design) [P0, Sprint 3]
  ├── blocks C2 (skeleton) [Sprint 3, server]
  │     ├── blocks C4 (enums) [Sprint 4]
  │     ├── blocks C5 (entity attrs) [Sprint 4]
  │     ├── blocks C6 (pools) [Sprint 4]
  │     ├── blocks C7 (templates) [Sprint 4]
  │     ├── blocks C8 (triangles) [Sprint 4]
  │     ├── blocks NEW-3 (wiki→YAML) [Sprint 4]
  │     └── blocks #326 (YAML loader) [Sprint 4]
  ├── blocks C3 (schemas) [Sprint 3, server]
  │     ├── blocks C9 (validator) [Sprint 4]
  │     ├── blocks NEW-3 (wiki→YAML) [Sprint 4]
  │     └── blocks NEW-13 (line previewer) [Sprint 4]
  └── blocks NEW-8 (RON converter) [Sprint 4]

Independent Chains (Sprint 3)
------------------------------
B2 (MIRROR spec) → A9 (Thematic Question) [Sprint 4]
A10 (Nils stub) → A11 (Triangle 1 fix) [Sprint 3]
NEW-9 (InteractionOptions, server) → NEW-10 (Extensible prompt, client) [Sprint 3]
NEW-11 (Tick rate scaling, server) → NEW-12 (Pause state machine, client) [Sprint 3]

7. Ticket Count Summary

Category Count Teams
Wiki fixes (A-series) 8 copy
Style guides & specs (B-series) 5 copy
Content directory & schema (C-series) 10 copy (1), server (8), ci (1)
Design specs (D-series) 2 server (1), copy (1)
Round 1 new tickets (NEW 1-7) 7 copy
Round 2 new tickets (NEW 8-13) 6 server (4), client (2)
Total new tickets 38 copy (21), server (13), client (2), ci (1), + 1 epic update
Existing ticket updates 10

Delta from Round 1: +6 tickets (NEW-8 through NEW-13 from lead decisions), +2 server Sprint 3 additions (NEW-9, NEW-11), +2 client Sprint 3 additions (NEW-10, NEW-12). Removed: D3 (killed), A5 (deferred), D1 (deferred). Merged: A3 into #319, #310 into B4.


8. Risks & Recommendations

Risk 1: #261 is still the critical path root. Every content authoring ticket flows through it. If it slips even one sprint, the entire content pipeline delays. Recommend: assign Paula immediately, time-box to 5 working days, accept "good enough" over "perfect."

Risk 2: Sprint 3 copy team has 15 tickets. That's a lot. But 7 are small tasks (A1, A2, A7, A8, A10, NEW-1, NEW-2) that can be parallelized. The real load is #261, C1, B2, B4, and A11. Recommend: Paula owns #261 + wiki fixes (A1, A2, A7, A10, NEW-2). Gestalt owns C1, NEW-1, B2, A11, NEW-7. Mellanie owns A8, B4. SI owns NEW-5.

Risk 3: Server team Sprint 3 is already heavy (10 existing tickets). Adding C2, C3, NEW-9, NEW-11 is +4. Recommend: C2 and C3 are blocked by C1 anyway — they can start mid-sprint when C1 lands. NEW-9 and NEW-11 are independent and can begin immediately.

Risk 4: Content conversion (NEW-3) is a Sprint 4 bottleneck. Tyre estimates 2-3 full days for 17 NPC conversions. This blocks the server from testing with real data. Recommend: start with the 3 Tier 1 NPCs (Kael, Sera, Naia) as soon as C2 lands, don't wait for all 17.


Proposals only — no tickets created. Awaiting lead approval. Compiled by SI. Source: Round 1 tracking doc (Qatux), all 7 Round 1 responses, lead Round 2 decisions.