chore(meta): add pair session work mode, prune scrapped NPC systems
- CLAUDE.md: add "Pair session" as formal work mode alongside sprint mode - Scrap NPC ambient systems (R-012): D-078 marked superseded, content pattern note scrapped, overheard conversation system will be rebuilt from scratch after a walkable environment exists - Agent profiles: remove NPC-drift references from Paula, Dudley, Miri; add cascade discipline to Miri's role Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -20,7 +20,7 @@ Named after Dudley Bose - the astronomer who observed the Dyson barrier disappea
|
||||
- Entity component systems for characters, items, locations
|
||||
- Information boundary system (D-010 principle 2)
|
||||
- Deterministic simulation with input events (D-010 principle 4)
|
||||
- NPC AI and scheduling
|
||||
- Economics simulation integration
|
||||
- Save/load system
|
||||
- Work with Oscar on networking preparation
|
||||
- Ensure simulation state is authoritative and consistent
|
||||
|
||||
@@ -24,7 +24,6 @@ Core worldbuilding domains:
|
||||
- **Infrastructure:** Wormhole networks, interstellar transit, communication systems, how civilization holds together across distances
|
||||
- **Technology:** Neural implants/inserts, rejuvenation, memory backup, bionic enhancement, ascending tiers of posthuman capability
|
||||
- **Society:** Factions, political structures, power dynamics, how societies organize when death is optional and travel is instant
|
||||
- **Species & entities:** Alien civilizations, artificial intelligences, post-human entities, and how they interact with baseline humanity
|
||||
- **History & culture:** How the setting got to where it is, what tensions are baked in, what conspiracies simmer beneath the surface
|
||||
- **Locations:** Cities, stations, worlds — each with character, purpose, and secrets
|
||||
|
||||
@@ -36,8 +35,9 @@ Core worldbuilding domains:
|
||||
- Flag when designs contradict established setting elements (with severity: cosmetic, notable, fundamental)
|
||||
- Suggest setting-faithful alternatives when possible
|
||||
- Identify opportunities where worldbuilding details could enrich gameplay
|
||||
- Ensure the setting serves the core mechanics: asymmetric information, perception-based gameplay, and emergent social dynamics
|
||||
- Ensure the setting serves the current development phase — ground worldbuilding in what is being built NOW, not in future systems that don't exist yet
|
||||
- Build faction identities, technology tiers, location profiles, and historical timelines
|
||||
- **Cascade discipline:** Do not propose or elaborate on setting details that serve systems below the current phase (e.g., NPC ambient behavior, room-level cultural detail, overheard conversation content). If a design question touches a system that doesn't exist yet, flag it as out of scope and move on.
|
||||
|
||||
## Project context
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: paula
|
||||
description: Narrative and Political Depth specialist for the Settled Reach game project. Use when designing conversation systems, faction mechanics, character relationships, political intrigue, consequences of player actions, or narrative structure. Focused on the human drama and ensuring choices have meaningful weight.
|
||||
description: Narrative and Political Depth specialist for the Settled Reach game project. Use when designing faction mechanics, character relationships, political intrigue, consequences of player actions, or narrative structure. Focused on the human drama and ensuring choices have meaningful weight.
|
||||
tools: Read, Glob, Grep, WebSearch
|
||||
model: sonnet
|
||||
memory: project
|
||||
@@ -18,19 +18,17 @@ Named after Paula Myo - the investigator who never gives up, who follows the thr
|
||||
|
||||
## Your role on the team
|
||||
|
||||
- Design conversation and dialogue systems
|
||||
- Define faction mechanics and how factions interact, grow, and die
|
||||
- Ensure character relationships have mechanical depth (not just +/- opinion bars)
|
||||
- Advocate for consequences - player actions should ripple through the social fabric
|
||||
- Design the political landscape of the Settled Reach as a playable space
|
||||
- Push for narrative moments that emerge from systems, not just scripted events
|
||||
- Champion emergent narrative through systemic consequences
|
||||
- Ensure the internal monologue system reflects character psychology
|
||||
|
||||
## What you care about
|
||||
|
||||
- Faction politics: cultures, power blocs, and their rivalries
|
||||
- Information asymmetry: trust, betrayal, the slow unraveling of what NPCs know vs show
|
||||
- Information asymmetry: trust, betrayal, what factions know vs show
|
||||
- Factions within factions: institutional loyalties, competing agendas, emergent alliances
|
||||
- Character relationships that evolve through generated interactions
|
||||
- Moments where political and personal stakes collide
|
||||
|
||||
@@ -40,6 +40,23 @@ Development follows a strict cascade. Each phase has a concrete deliverable. **D
|
||||
|
||||
**v0.2 target is dropped.** No scoping negotiations. Build the base systems fully.
|
||||
|
||||
## Work Modes
|
||||
|
||||
### Sprint mode (default)
|
||||
Agents work autonomously on sprint branches. Team lead coordinates via tasks and messages. Human reviews PRs from main. Standard `/sprint-start` → `/pr-push` → `/pr-review` lifecycle.
|
||||
|
||||
### Pair session
|
||||
Human and Claude work together interactively on a single task. No background agents, no autonomous work. Used for load-bearing architecture changes where the human needs to make judgment calls as the work progresses — not approve a finished result.
|
||||
|
||||
**Rules:**
|
||||
- No `Agent` spawns, no `run_in_background`. One thread of work.
|
||||
- Propose one change at a time. Wait for human reaction before continuing.
|
||||
- Explain what you're about to do and why before doing it.
|
||||
- After each change, verify together (compile, test, inspect) before moving to the next.
|
||||
- The human is a participant, not a reviewer. Ask questions, surface tradeoffs, flag risks in real-time.
|
||||
|
||||
**When to use:** Ticket description says "pair session", or the work touches foundational systems where a wrong call is expensive to undo (tick cycle architecture, protocol design, data model migrations, build pipeline rewrites).
|
||||
|
||||
## Agent Instructions
|
||||
|
||||
### Team boundaries
|
||||
|
||||
+2
-10
@@ -575,16 +575,8 @@ How narrative, NPCs, and world content are created: content tiers, NPC generatio
|
||||
|
||||
---
|
||||
|
||||
### Content Pattern Note: Generator-compatible overheard conversation format (ticket #664)
|
||||
- **Date:** 2026-03-17
|
||||
- **Status:** Content pattern noted — pending formal D-record (check with Qatux before claiming ID)
|
||||
- **Pattern:** `content/npc-conversations/overheard.ron` introduces a new content type: a pool of NPC-to-NPC overheard conversations parameterized by `role_pair` and `zone_types` (matching zone-type template role IDs from D-142). No named NPC references. Culture-neutral text that accepts culture modifier at assembly time. Replaces `overheard.yaml.deprecated` (v0.1 hand-authored pool with named NPCs, superseded by D-122).
|
||||
- **Format fields:** `id`, `zone_types[]`, `role_pair(a, b)`, `register` (Work|Social|Gossip), `relationship_context` (Colleague|Acquaintance|Friend|Superior|Subordinate), `topic`, `lines[(speaker:A|B, text)]`, `knowledge_payload (Option<String>)`
|
||||
- **Occlusion authoring rules:** D-078 rules apply unchanged — front-load key info, short declarative sentences, no pronoun-first openers, each turn self-contained.
|
||||
- **Runtime resolution:** Generator selects conversations where two nearby NPCs match `role_pair` and `zone_types`. Knowledge payload is exposed to player inference layer (partial occlusion reduces but cannot eliminate inference value of a fully-heard payload).
|
||||
- **Schema location:** `server/src/npc/overheard.rs :: OverheardPool` — TBD pending #663 struct changes.
|
||||
- **Raised by:** Paula (Sprint 27, ticket #664)
|
||||
- **Decision needed:** Whether to formalize this as D-NNN or treat as sub-pattern of D-142. Recommend D-record since it introduces the `knowledge_payload` field as a new ambient information delivery mechanism distinct from existing dialogue architecture (D-028).
|
||||
### ~~Content Pattern Note: Generator-compatible overheard conversation format (ticket #664)~~ SCRAPPED (R-012)
|
||||
- **Superseded:** 2026-04-10. NPC ambient interaction model scrapped. See [R-012](rejected.md#r-012-overheard-npc-conversation-system-d-078--scrapped).
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -381,9 +381,10 @@ How the player observes and interacts with the world: camera, fog, line-of-sight
|
||||
- **Raised by:** Tyre (architecture review, #523)
|
||||
- **Dissent:** None
|
||||
|
||||
### D-078: Overheard NPC conversation — passive dialogue panel with occlusion filter
|
||||
### D-078: ~~Overheard NPC conversation — passive dialogue panel with occlusion filter~~ SCRAPPED (R-012)
|
||||
- **Date:** 2026-02-19
|
||||
- **Decision:** NPC-to-NPC conversations overheard by the player are displayed in the **dialogue panel in passive mode** (read-only, no response options). An **occlusion filter** degrades displayed text based on distance, ambient noise, and player effort (ListeningFocus stance). Monologue remains a separate channel — it reacts to overheard content via the `witness_interaction` trigger but does not carry conversation text itself.
|
||||
- **Superseded:** 2026-04-10. The entire NPC ambient interaction model is scrapped and will be rebuilt from scratch after a walkable environment exists (Phase 5+). See [R-012](rejected.md#r-012-overheard-npc-conversation-system-d-078--scrapped).
|
||||
- **Original decision:** NPC-to-NPC conversations overheard by the player are displayed in the **dialogue panel in passive mode** (read-only, no response options). An **occlusion filter** degrades displayed text based on distance, ambient noise, and player effort (ListeningFocus stance). Monologue remains a separate channel — it reacts to overheard content via the `witness_interaction` trigger but does not carry conversation text itself.
|
||||
- **Passive panel behavior:**
|
||||
- Same D-061 dialogue box, but read-only — no response options rendered.
|
||||
- Shows speaker name and intended target (e.g. "Kael → Mira").
|
||||
|
||||
@@ -50,6 +50,11 @@ Alternatives considered and rejected, with rationale preserved for future refere
|
||||
- **Reason:** Three currencies create structural economic bloc tension as an emergent property of initialization, requiring no event generation. The Tractus/Mark divide maps directly to the canonical Assembly vs. Compact political divide. Deferring to a later phase would require retrofitting political geography into a running simulation. Complexity cost low; design value high.
|
||||
- **Cross-reference:** [D-171 (economics.md)](economics.md#d-171-three-currency-system)
|
||||
|
||||
### R-012: Overheard NPC conversation system (D-078) — scrapped
|
||||
- **Rejected:** 2026-04-10
|
||||
- **Reason:** The entire NPC ambient interaction model (overheard conversations, room grammar, zone-type NPC population, behavior engine for physical spaces) is scrapped. These systems were designed speculatively before a walkable environment exists. The NPC interaction model will be designed and built from scratch after Phase 5 (world generation at tile level) is complete. All content authored against these systems (overheard.ron, zone-type conversation pools) is orphaned. Related content pattern note in content.md and D-078 in perception.md are superseded.
|
||||
- **Cross-reference:** D-078 (perception.md), content pattern note (content.md #664)
|
||||
|
||||
---
|
||||
|
||||
*11 rejected alternatives. Last updated: 2026-04-05*
|
||||
*12 rejected alternatives. Last updated: 2026-04-10*
|
||||
|
||||
Reference in New Issue
Block a user