Miri (critical): - Fix 3 stale "Hael" references in decisions/content.md (D-034, D-036) Paula (suggestions): - Flag dual-fire 15-30s delay as tuning target in smuggler moral arc - Clarify MIRROR NPCs can be wrong (lied to) without being dishonest - Add implementation note for Path C deferred follow-up fork - Note detective-NPC dialogue rotation variants for post-v0.1 - Clarify detective vs smuggler moral_weight criteria in entity attributes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
372 lines
26 KiB
Markdown
372 lines
26 KiB
Markdown
# Smuggler Moral Arc Spec
|
|
|
|
**v0.1 Content Design Document** | Ticket: #382 | Subsumes: #310 (Character voice speech patterns)
|
|
|
|
---
|
|
|
|
## 1. Purpose
|
|
|
|
This document specifies the smuggler's 4-phase moral trajectory through the v0.1 vertical slice. The arc is tracked via the `moral_weight` role-perspective key in `EntityKnowledge.known_attributes` and is driven by authored content triggers, not emergent calculation.
|
|
|
|
The moral arc answers the smuggler's central question: **"Am I responsible for what happens to the people around me?"** The detective's arc (unspecified here) would answer a different question -- "Am I justified in what I'm doing to solve this case?" Only the smuggler's arc is defined in this document.
|
|
|
|
**Relationship to the dual-lens system:** The smuggler's moral arc creates the emotional engine that drives monologue voice shifts, NPC interaction tone changes, and player decision framing. It is the content-side complement to the tag-based dialogue system defined in the [Dual Lens Authoring Guide](dual-lens-authoring-guide.md). Where the authoring guide defines *how* content is selected and displayed, this document defines *what emotional trajectory* that content traces.
|
|
|
|
**Key design principles:**
|
|
- `moral_weight` is a **content key, not a schema key** -- it lives in `EntityKnowledge`, updated by authored content triggers, not calculated by the server
|
|
- The arc is **authored, not emergent** -- specific FactIds gate specific transitions
|
|
- Phase transitions are **irreversible** within a playthrough
|
|
- The smuggler's moral arc is **personal** (complicity, loyalty, consequences) while the detective's would be **institutional** (duty, jurisdiction, compromise)
|
|
|
|
---
|
|
|
|
## 2. The 4 Phases
|
|
|
|
### Phase 1: Comfort
|
|
|
|
**Emotional state:** Pragmatic rationalization. The operation is manageable. The money helps. The people are fine. "This is a service. Nobody's getting hurt."
|
|
|
|
**`moral_weight` value range:** `innocent` to `peripheral`
|
|
|
|
At session start, the smuggler's `moral_weight` assessments of NPCs cluster in the comfortable end: Naia is `innocent`, Kael is `willing` (fully aware participant, no guilt needed), Voss is `complicit` (chose this, not the smuggler's problem), Drin is `peripheral` (barely on the radar). The smuggler is not interrogating these assessments. They are background assumptions.
|
|
|
|
**Observable behavioral shifts:**
|
|
- Monologue is matter-of-fact, operationally confident
|
|
- NPC observations are fond or neutral -- no anxiety coloring
|
|
- Operational thinking dominates: schedules, windows, routes
|
|
- Self-reference is minimal -- the smuggler is not thinking about herself
|
|
|
|
**Transition trigger:** The smuggler encounters evidence that the operation has a human cost she had not been weighing. Specific gates:
|
|
- `smuggler.sees.naia_worry` -- Naia Tamm's visible stress about Kael's late nights
|
|
- `smuggler.notices.maret_anxiety` -- Maret's nervous glances at the manifest screen
|
|
- `smuggler.hears.pell_fear` -- Pell's voice shaking during a routine ring check-in
|
|
|
|
Any one of these FactIds, once confirmed, opens the gate to Doubt. The first one observed is sufficient.
|
|
|
|
**Example monologue lines:**
|
|
|
|
> *"Transition's in twenty. Voss kept the window clean. Another smooth run."*
|
|
|
|
> *"Kael's got it handled. He always does. Good partner to have on the dock."*
|
|
|
|
**Key NPC interactions:**
|
|
- **Kael:** Warm, reliable, no subtext. Phase 1 is the baseline the player will miss when it's gone.
|
|
- **Voss:** Functional annoyance. The smuggler sees Voss as a tool, not a person with stakes.
|
|
- **Naia Tamm:** Background warmth. The smuggler knows Naia through Kael but is not yet thinking about what the operation means for her.
|
|
|
|
---
|
|
|
|
### Phase 2: Doubt
|
|
|
|
**Emotional state:** Questions the rationalization. "Nobody's getting hurt -- except everyone adjacent to this." The smuggler begins noticing the human cost she previously filtered out.
|
|
|
|
**`moral_weight` value range:** `peripheral` to `complicit`
|
|
|
|
The smuggler's assessments start shifting. Naia's `moral_weight` stays `innocent`, but the smuggler now *feels* that innocence as an accusation. Maret might shift from `peripheral` to `complicit` in the smuggler's eyes -- not because Maret has done anything wrong, but because the smuggler is now aware that Maret is being forced to file clean reports on dirty manifests. The smuggler's own complicity becomes visible through the lens of other people's discomfort.
|
|
|
|
**Observable behavioral shifts:**
|
|
- Monologue gains reflective undertones -- pauses, qualifications, second thoughts
|
|
- Observations of NPCs pick up emotional subtext that was invisible in Phase 1
|
|
- Operational confidence wavers -- the smuggler starts noticing risk she used to dismiss
|
|
- Self-reference increases slightly: physical sensation of unease ("tight feeling in my chest," "couldn't eat this morning")
|
|
|
|
**Transition trigger:** A specific harm becomes undeniable. The smuggler sees a direct consequence of the operation on someone she cares about. Specific gates:
|
|
- `smuggler.witnesses.kael_stress` -- Kael's behavioral tells escalate beyond "distracted" to visibly frightened
|
|
- `smuggler.learns.naia_confided_sera` -- The smuggler discovers (through observation or dialogue) that Naia has been confiding in Sera about Kael
|
|
- `smuggler.sees.drin_breaking` -- Drin's inspection compromises become visible as human suffering, not just operational risk
|
|
|
|
Any one of these FactIds, once confirmed, opens the gate to Reckoning.
|
|
|
|
**Example monologue lines:**
|
|
|
|
> *"Naia was at the bar again tonight. Waiting for Kael. She looked... tired. Does she know? No. But she feels it."*
|
|
|
|
> *"Maret double-checked the manifest before she filed it. She used to just sign. Now she reads every line. That's on us."*
|
|
|
|
**Key NPC interactions:**
|
|
- **Kael:** The smuggler starts reading Kael's stress not as operational friction but as personal cost. "Kael's distracted" becomes "Kael's scared."
|
|
- **Naia Tamm:** The smuggler begins avoiding Naia. Not out of guilt exactly -- out of the pre-guilt awareness that guilt is coming.
|
|
- **Pell:** If the smuggler has observed Pell's fear, Pell becomes a mirror: "That could be me. That could be any of us."
|
|
|
|
---
|
|
|
|
### Phase 3: Reckoning
|
|
|
|
**Emotional state:** Cannot rationalize. The smuggler must choose: continue, reform, or exit. A specific harm has materialized -- someone the smuggler cares about has been damaged by the operation, and the smuggler's actions contributed.
|
|
|
|
**`moral_weight` value range:** `complicit` to `compromised`
|
|
|
|
The smuggler's assessments are now sharp-edged. Kael is no longer `willing` (comfortable participant) but `compromised` (trapped). Naia's `innocent` status now reads as indictment. The smuggler's own position is `complicit` at minimum -- the question is whether it crosses to `compromised`.
|
|
|
|
**Observable behavioral shifts:**
|
|
- Monologue is conflicted and sharp -- fragments hit harder, pauses are loaded
|
|
- The smuggler's voice loses its operational ease; confidence is replaced by urgency
|
|
- NPC observations are filtered through moral cost: "Is this my fault?"
|
|
- Operational thinking shifts from "is this safe?" to "is this right?"
|
|
- Self-reference spikes: the smuggler can no longer avoid herself
|
|
|
|
**Transition trigger:** The smuggler makes a definitive choice about the situation. This is a player decision, not an automatic transition. Specific gates:
|
|
- `smuggler.decides.triangle1_path` -- The player commits to a path in the Triangle 1 escalation fork (back Voss, back Nils, or stay neutral)
|
|
- `smuggler.confronts.kael` -- The smuggler directly addresses Kael about the unauthorized contact
|
|
- `smuggler.decides.pell_fate` -- If Pell's wavering comes to a head, the smuggler chooses to support, report, or abandon Pell
|
|
|
|
The transition to Compromise is gated by one of these decisions being made. The smuggler must act, not just observe.
|
|
|
|
**Example monologue lines:**
|
|
|
|
> *"I told Kael to push back on Nils. Now Nils is angry, and Kael's the one standing in front of it. I did that."*
|
|
|
|
> *"Two years I told myself it was just containers. It was never just containers. It was Kael, and Naia, and Maret, and Drin, and everyone who has to live in the wake of what we move."*
|
|
|
|
**Key NPC interactions:**
|
|
- **Kael:** THE FRIEND contradiction is at peak intensity. The smuggler's moral reckoning and Kael's trust erosion are the same events seen from different angles (see Section 5 below).
|
|
- **Naia Tamm:** If the smuggler encounters Naia during Reckoning, the monologue fires guilt-loaded lines. Naia's presence is an accusation without words.
|
|
- **Voss:** The smuggler may see Voss not as a tool anymore but as another person trapped. Or may see Voss as the reason the trap exists. Depends on the player's path.
|
|
|
|
---
|
|
|
|
### Phase 4: Compromise
|
|
|
|
**Emotional state:** Whatever the player decided, the cost is visible. The question becomes: "Can I live with it?" Some damage is done. Some relationships are changed. The smuggler settles into a new moral equilibrium that is heavier than the old one.
|
|
|
|
**`moral_weight` value range:** `compromised` to `willing`
|
|
|
|
This is the final assessment. The smuggler knows what she is now. The `moral_weight` of specific NPCs may shift based on the player's choices -- Kael might move from `compromised` back to `willing` if the smuggler helped him, or to `innocent` (victim) if the smuggler reported him. The smuggler's own moral position is whatever she chose, and the monologue reflects the weight of it.
|
|
|
|
**Observable behavioral shifts:**
|
|
- Monologue is quiet and weighted -- fewer fragments, more silence between thoughts
|
|
- The operational ease of Phase 1 is gone permanently; the smuggler works with awareness now
|
|
- NPC observations carry the full history: every warm interaction is filtered through knowledge of cost
|
|
- Self-reference is present but controlled: the smuggler has made peace or is learning to
|
|
|
|
**Transition trigger:** None. This is the final phase of v0.1. The arc does not resolve -- it settles. The 30-minute session ends with the smuggler carrying whatever she chose.
|
|
|
|
**Example monologue lines:**
|
|
|
|
> *"Kael's at the dock. Same jokes. Same routine. I know what it costs now. Both of us do."*
|
|
|
|
> *"The freight bay hums the way it always has. Recycled air, cargo lubricant. It used to smell like home. Now it smells like what I chose."*
|
|
|
|
**Key NPC interactions:**
|
|
- **Kael:** Post-confrontation equilibrium. If the smuggler chose understanding (Path A), Kael is cautious but present. If betrayal (Path B), Kael is hostile or absent. If observation (Path C), the tension simmers.
|
|
- **Naia Tamm:** The smuggler's guilt about Naia crystallizes. Naia is still innocent. The smuggler is not.
|
|
- **The operation:** Every container, every manifest, every shift transition now carries the weight of awareness. The smuggler can still do the job. But the job is different now.
|
|
|
|
---
|
|
|
|
## 3. FactId Integration
|
|
|
|
These are the smuggler-specific FactIds that track moral arc progression. They are the information states that gate phase transitions. FactIds are populated by the knowledge graph when the smuggler observes, learns, or decides specific things.
|
|
|
|
### Phase 1 -> Phase 2 Gates (Comfort -> Doubt)
|
|
|
|
| FactId | Source | What It Tracks |
|
|
|--------|--------|----------------|
|
|
| `smuggler.sees.naia_worry` | Direct observation: Naia Tamm at bar, visibly distressed | The smuggler notices that the operation's stress is reaching Kael's partner |
|
|
| `smuggler.notices.maret_anxiety` | Direct observation: Maret double-checking manifests | The smuggler sees institutional pressure on a colleague who did not choose this |
|
|
| `smuggler.hears.pell_fear` | Overheard or dialogue: Pell's voice during ring check-in | The smuggler recognizes fear in a ring member who is close to breaking |
|
|
|
|
**Gate logic:** ANY one of these FactIds confirmed = Doubt phase begins. The first observation of human cost cracks the rationalization.
|
|
|
|
### Phase 2 -> Phase 3 Gates (Doubt -> Reckoning)
|
|
|
|
| FactId | Source | What It Tracks |
|
|
|--------|--------|----------------|
|
|
| `smuggler.witnesses.kael_stress` | Direct observation: Kael's tells escalate (lattice checking, shortened interactions, spatial deviation) | Kael's behavioral deterioration is now unmissable |
|
|
| `smuggler.learns.naia_confided_sera` | Dialogue or observation: Naia has spoken to Sera about Kael | The smuggler discovers that the worry has reached the Commission's orbit |
|
|
| `smuggler.sees.drin_breaking` | Direct observation: Drin's inspection compromises visible as human suffering | The operational asset is a person in pain |
|
|
| `smuggler.knows.ring_volume_escalation` | Dialogue: Devra relays Nils's doubled-volume order | The operation is escalating beyond the smuggler's comfort |
|
|
|
|
**Gate logic:** ANY one of these FactIds confirmed = Reckoning phase begins. One undeniable harm materializes.
|
|
|
|
### Phase 3 -> Phase 4 Gates (Reckoning -> Compromise)
|
|
|
|
| FactId | Source | What It Tracks |
|
|
|--------|--------|----------------|
|
|
| `smuggler.decides.triangle1_path` | Player choice: Triangle 1 escalation fork (Path A/B/C) | The smuggler commits to backing Voss, backing Nils, or staying neutral |
|
|
| `smuggler.confronts.kael` | Player choice: Initiates confrontation dialogue with Kael about the unauthorized contact | The smuggler addresses the FRIEND contradiction directly |
|
|
| `smuggler.decides.pell_fate` | Player choice: Responds to Pell's wavering (support, report, or abandon) | The smuggler makes a decision about a vulnerable ring member |
|
|
|
|
**Gate logic:** ANY one of these FactIds confirmed = Compromise phase begins. The smuggler must act to enter the final phase.
|
|
|
|
### Supporting FactIds (Not Phase-Gating, But Monologue-Relevant)
|
|
|
|
| FactId | What It Tracks |
|
|
|--------|----------------|
|
|
| `smuggler.knows.kael_exit_attempt` | The smuggler has discovered Kael's unauthorized contact and infers exit attempt |
|
|
| `smuggler.knows.sera_commission` | The smuggler is aware Sera is Commission (always true at start, but awareness sharpens during Doubt) |
|
|
| `smuggler.sees.torek_spending` | The smuggler notices Torek's visible consumption |
|
|
| `smuggler.feels.location_contamination` | The smuggler returns to a location (bar, dock) after a moral phase transition and the monologue notes the changed feeling |
|
|
| `smuggler.assesses.voss_stability` | The smuggler evaluates Voss's cover integrity |
|
|
|
|
---
|
|
|
|
## 4. Monologue Trigger Rules
|
|
|
|
Moral-arc-relevant monologue fires under the following conditions. These are not exhaustive -- other monologue triggers exist for operational, atmospheric, and NPC-observation content. These rules govern specifically the lines that track the moral arc.
|
|
|
|
### Phase Transition Moments
|
|
|
|
When a phase-gating FactId is confirmed, the monologue system fires a phase-transition line. These are the highest-priority monologue events in the pool.
|
|
|
|
**Trigger type:** `phase_transition`
|
|
**Priority:** Maximum (overrides queued environmental or routine monologue)
|
|
**Example (Comfort -> Doubt):**
|
|
|
|
> *"Naia was at the bar again. Looking at the door every time it opened. Waiting for Kael. ...She doesn't know why he's late. I do."*
|
|
|
|
**Example (Doubt -> Reckoning):**
|
|
|
|
> *"Kael's hands were shaking. Not the lattice checking -- his hands. That's not nerves. That's fear."*
|
|
|
|
**Example (Reckoning -> Compromise):**
|
|
|
|
> *"I chose. For better or worse, I chose. Now I get to live with it."*
|
|
|
|
### Post-Decision Reflection
|
|
|
|
After the player makes a decision that gates a phase transition (Triangle 1 fork, Kael confrontation, Pell decision), a reflective monologue fires within 30-60 seconds. This is the "consequences landing" moment.
|
|
|
|
**Trigger type:** `post_decision`
|
|
**Priority:** High (fires after decision dialogue concludes, during next idle moment)
|
|
**Delay:** 30-60 seconds post-decision (let the player process the dialogue first)
|
|
**Example (post-Triangle 1, Path A):**
|
|
|
|
> *"Told Kael to push back. He didn't want to. Did it anyway, because I asked. If Nils comes down on him... that's on me."*
|
|
|
|
### Observing Consequences of Own Choices
|
|
|
|
After a decision has been made, the smuggler's monologue fires when she observes the downstream effects. These are delayed consequence lines -- they fire minutes after the decision, when the player encounters the result.
|
|
|
|
**Trigger type:** `observe_consequence`
|
|
**Prerequisite:** Phase-gating FactId + specific consequence state
|
|
**Example (Path B consequence -- Voss rattled):**
|
|
|
|
> *"Voss is sitting alone in the break room. Staring at his lattice. He did what I asked him to do. Look at him."*
|
|
|
|
### Kael Contradiction Discovery Intersection
|
|
|
|
When the smuggler discovers Kael's unauthorized contact (the FRIEND contradiction), the moral-arc monologue and the FRIEND-arc monologue fire in sequence. The FRIEND line fires first (shock, confusion). The moral-arc line fires second (guilt, responsibility).
|
|
|
|
**Trigger type:** `friend_contradiction` + `moral_reflection`
|
|
**Sequence:**
|
|
1. FRIEND line: *"Kael? In the corridor? Who the hell is that with him?"* (immediate)
|
|
2. Moral-arc line: *"He's trying to get out. And I'm the reason he needs to."* (15-30 second delay)
|
|
|
|
**Tuning target:** The 15-30 second delay is a content-side estimate. If both lines fire too close together, they feel like one event rather than a realization arriving after the shock. If too far apart, the emotional connection breaks. Playtesting should calibrate the exact delay -- flag for QA during integration.
|
|
|
|
The second line only fires if the smuggler is in Phase 2 (Doubt) or later. If still in Phase 1 (Comfort), only the FRIEND line fires -- the smuggler has not yet developed the moral lens to process the observation as self-implication.
|
|
|
|
---
|
|
|
|
## 5. Kael Intersection
|
|
|
|
The smuggler's moral arc and Kael's 5-phase contradiction arc (defined in [kael-davan.md](../wiki/npcs/kael-davan.md)) are two perspectives on the same events. The following table maps the intersection:
|
|
|
|
| Kael Phase | Kael State | Smuggler Moral Phase | Smuggler State | Shared Event |
|
|
|------------|------------|---------------------|----------------|-------------|
|
|
| **1: Comfort** | Warm, reliable, present | **1: Comfort** | Operationally confident, fond | Baseline: both characters comfortable. No tension. |
|
|
| **2: First Crack** | Lattice checking, shortened interactions | **1: Comfort** or **2: Doubt** | Noticing concern but not yet connecting to moral cost | Kael's behavioral tells begin. Smuggler may still be in Comfort if she has not yet seen Naia's worry or other Phase 1->2 gates. |
|
|
| **3: The Observation** | Corridor B-7, unknown contact, spatial deviation | **2: Doubt** or **3: Reckoning** | Shock at Kael's contradiction; if in Doubt, the moral implications land immediately | THE FRIEND contradiction moment. This is the hinge. The smuggler's moral phase determines whether she reads this as betrayal (Phase 1-2: "Kael broke protocol") or as consequence (Phase 2-3: "Kael is trying to get out because of what we're all doing"). |
|
|
| **4: Confrontation** | Evasion, the tell confirmed, forced casualness | **3: Reckoning** | The smuggler's confrontation with Kael IS the moral reckoning -- personal loyalty vs. operational security vs. the cost of the operation | The confrontation dialogue. Kael's evasion forces the smuggler to decide: press harder, show mercy, or walk away. Each choice is a moral position. |
|
|
| **5: Contaminated Trust** | Surface normal, warmth locked out or cautiously restored | **4: Compromise** | Living with whatever she chose. Every interaction with Kael carries the weight of the decision. | The new equilibrium. Kael's Phase 5 and the smuggler's Phase 4 are the same state: something is permanently different, and both characters know it. |
|
|
|
|
### Why This Intersection Matters
|
|
|
|
The smuggler's moral reckoning and Kael's trust erosion are **the same events seen from different angles**. The smuggler does not have a moral arc separate from her relationships -- the relationships ARE the moral arc. Kael's contradiction is not just a plot event; it is the moment the smuggler's rationalization meets reality.
|
|
|
|
This means content authors must write the intersection, not just the individual arcs:
|
|
- Every Kael-related smuggler monologue line must be aware of the smuggler's current moral phase
|
|
- Every confrontation dialogue option must reflect both the FRIEND arc state and the moral arc state
|
|
- The "contaminated trust" of Kael Phase 5 and the "compromise" of Smuggler Phase 4 must feel like the same emotional register approached from two directions
|
|
|
|
---
|
|
|
|
## 6. Divergence from Detective
|
|
|
|
At each phase, the smuggler's moral arc creates maximum distance from the detective's analytical trajectory. The following table cross-references the divergence escalation curve from the [Dual Lens Authoring Guide](dual-lens-authoring-guide.md), Chapter 4.
|
|
|
|
| Phase | Smuggler Moral Position | Detective Analytical Position | Divergence Type | Minutes |
|
|
|-------|------------------------|------------------------------|----------------|---------|
|
|
| **1: Comfort** | "Nobody's getting hurt." | "Manifest discrepancies require investigation." | Minimal: both characters are in their comfort zones. Difference is tonal, not emotional. | 0-10 |
|
|
| **2: Doubt** | "Maybe people ARE getting hurt." | "Behavioral patterns suggest a network. Building the case." | Growing: the smuggler is beginning to question; the detective is beginning to confirm. One moves toward uncertainty, the other toward certainty. | 10-20 |
|
|
| **3: Reckoning** | "I am responsible for this harm." | "The evidence supports formal action. But the subjects are people, not entries." | Maximum: the smuggler is inside the moral crisis. The detective may be starting to feel the human cost of the investigation, but from the outside. Same events, opposite emotional positions. | 20-25 |
|
|
| **4: Compromise** | "I chose. I live with it." | "The investigation produced results. But at what cost?" | Settled: both characters carry weight, but different weight. The smuggler's compromise is personal (complicity). The detective's doubt is institutional (was this right?). | 25-30 |
|
|
|
|
### What This Means for Content
|
|
|
|
The maximum divergence point (Phase 3, minutes 20-25) is where the dual-lens experience creates its strongest emotional contrast. A player who has played the smuggler path and then plays the detective path will experience the same 5-minute window as two completely different emotional events:
|
|
|
|
- **As smuggler:** "I am watching my world break apart because of choices I made."
|
|
- **As detective:** "I am closing in on a case. The suspects are nervous. The evidence is mounting."
|
|
|
|
The smuggler's moral arc is the engine that makes this divergence feel earned, not arbitrary. The divergence is not "different information" -- it is "different moral position relative to the same information."
|
|
|
|
---
|
|
|
|
## 7. Content Requirements
|
|
|
|
### Lines Per Phase
|
|
|
|
| Phase | Monologue Lines | Type Breakdown |
|
|
|-------|----------------|----------------|
|
|
| **Comfort** | 6-8 | 3-4 operational confidence, 2-3 NPC fondness, 1 atmospheric |
|
|
| **Doubt** | 8-10 | 3-4 reflective concern, 2-3 NPC moral observation, 2 self-questioning, 1 phase-transition |
|
|
| **Reckoning** | 6-8 | 2-3 confrontation reaction, 2-3 post-decision reflection, 1-2 consequence observation, 1 phase-transition |
|
|
| **Compromise** | 4-6 | 2-3 settled weight, 1-2 contaminated observation, 1 atmospheric (changed), 1 phase-transition |
|
|
| **Total** | **24-32** | Moral-arc-specific monologue lines |
|
|
|
|
These counts are for **moral-arc-specific** monologue only. The smuggler's total monologue pool is larger (operational observations, environmental atmosphere, general NPC reactions). The moral arc lines are the subset that tracks the emotional trajectory.
|
|
|
|
### What Authors Need to Produce Per Phase
|
|
|
|
**Phase 1 (Comfort):**
|
|
- Operational monologue lines that demonstrate ease and confidence
|
|
- NPC observation lines with no moral coloring
|
|
- 0 moral-weight-shift lines (the smuggler is not thinking about it)
|
|
|
|
**Phase 2 (Doubt):**
|
|
- Reflective monologue lines that introduce moral questioning
|
|
- NPC observation lines with new emotional subtext (re-seeing familiar faces through a cost lens)
|
|
- 1 phase-transition line (the moment Doubt begins)
|
|
- Self-questioning lines that use physical sensation, not abstract ethics
|
|
|
|
**Phase 3 (Reckoning):**
|
|
- Confrontation-adjacent lines (pre-decision tension, post-decision landing)
|
|
- Consequence observation lines (seeing the results of choices)
|
|
- 1 phase-transition line (the moment Reckoning begins)
|
|
- Lines must work across all Triangle 1 fork paths (A/B/C) with path-specific variants
|
|
|
|
**Phase 4 (Compromise):**
|
|
- Quiet, weighted lines that carry full history
|
|
- Contaminated-observation lines (same locations/NPCs, new subtext)
|
|
- 1 phase-transition line (the moment Compromise settles)
|
|
- Atmospheric lines that echo Phase 1 with changed meaning
|
|
|
|
---
|
|
|
|
## 8. Subsumption Note
|
|
|
|
This spec subsumes ticket #310 (Character voice speech patterns). The voice card ([smuggler-voice-card.md](smuggler-voice-card.md)) handles speech patterns -- register parameters, voice anchors, anti-patterns, display constraints, and the authoring checklist. This document handles the moral trajectory -- the 4-phase arc that determines *what the smuggler thinks about*, not *how she thinks*.
|
|
|
|
Together, the two documents define the complete smuggler authoring framework:
|
|
- **Voice card** = HOW (fragments, feeling-first, first names, Krenn substrate vocabulary)
|
|
- **Moral arc** = WHAT (the progression from comfort through doubt and reckoning to compromise)
|
|
|
|
Content authors use both documents together. A smuggler monologue line must pass the voice card's checklist AND reflect the correct moral arc phase. A line that sounds right but belongs to the wrong phase is as broken as a line that sounds wrong.
|
|
|
|
---
|
|
|
|
**Cross-References:**
|
|
- [Smuggler Voice Card](smuggler-voice-card.md) -- Voice register parameters and authoring checklist
|
|
- [Dual Lens Authoring Guide](dual-lens-authoring-guide.md) -- Full dual-lens framework, divergence curve (Chapter 4), voice signatures (Chapter 7)
|
|
- [Kael Davan](../wiki/npcs/kael-davan.md) -- Kael's 5-phase contradiction arc, smuggler FRIEND intersection
|
|
- [Entity Attributes](../wiki/knowledge/entity-attributes.md) -- `moral_weight` key definition and role-perspective interpretation
|
|
- [Round 1 Gestalt](../workshops/v01-content-scoping/round1-gestalt.md) -- Original `moral_weight` key proposal and smuggler attribute mapping
|
|
- [Round 1 Paula](../workshops/v01-content-scoping/round1-paula.md) -- Smuggler moral arc phases, smuggler-lens sections
|
|
- [Round 2 Paula](../workshops/v01-content-scoping/round2-paula.md) -- Role-perspective keys as content not schema, generic assessment architecture
|
|
|
|
---
|
|
|
|
**End Smuggler Moral Arc Spec**
|