# V12 Format Rules

> **Single source of truth for microdrama format constraints.**
> **Numeric values:** Canonical values in `/CONSTANTS.md`

---

## REQUIRED CONTEXT FOR GENERATION

**Before generating any episode, these files MUST be loaded into context:**

| File | Purpose | Location |
|------|---------|----------|
| `characters.md` | Behavioral DNA + voice patterns + arcs | `/[project]/bible/` |
| `treatment.md` | THE MOMENT + prose guidance | `/[project]/` |
| Last 2 episodes | Continuity anchoring | `/[project]/episodes/` |

### Applying Behavioral DNA

**Every character's behavioral DNA must appear ON SCREEN through action blocks, not exposition.**

| DNA Element | How to Show It |
|-------------|----------------|
| On-screen behaviors | Describe in action: "Her fingers count unconsciously" |
| Stress behavior | Show when character is under pressure (KEY MOMENTS only) |
| Signature line | Include in dialogue (2-3 per act, high-stakes moments) |
| Orthogonal trait | Show naturally when story allows — not forced |
| Contradiction | Build toward, pay off at key moments |

**Example — WRONG (telling):**
```
Jinx is nervous about the odds.
```

**Example — RIGHT (showing behavioral DNA):**
```
Jinx's fingers tap her thigh. Thumb to pinky. Counting.
```

**Reload `characters.md` between batches to prevent voice drift.**

---

## Word Count & Ratios

| Rule | Value | Hard Limit |
|------|-------|------------|
| Word count | 450-500 per episode (see `CONSTANTS.md`) | 450-500 validation |
| Dialogue | ≤40% of word count | Hard fail if exceeded |
| Exchanges | Max 8 per episode | Max 8 |
| Action blocks | 1-3 lines (4 max) | With texture, shot-aware |

### Validation Counting Method

**The validator counts ALL words in the file** — not just dialogue and action. This includes:
- Headers (`# Episode X: Title`)
- Kill Box timestamps (`[00:00-00:05]`)
- Cliffhanger/hook type annotations
- Metadata lines

**Claude cannot count words accurately while generating.** Always verify with:
```bash
python3 /tools/episode_metrics.py [file] --json
```

**Exchange counting:** Each character cue = 1 exchange (not speaker transitions). If SAM speaks twice in a row, that counts as 2 exchanges.

**Iterative workflow:** If validation fails, make targeted cuts (15-20 words from action) and re-validate. Do not rewrite from scratch.

---

## Terminology

| Term | Definition |
|------|------------|
| **Hook** | Episode opening [00:00-00:05]. 80% SILENT (visual only) / 20% DIALOGUE (pattern interrupt). |
| **THE HOOK** | First section of the Kill Box. Always the opening 5 seconds. |
| **Cliffhanger** | Episode ending. 80% MID-ACTION (cut before resolution) / 20% AFTERMATH (reaction after event). |
| **Kill Box** | The 5-section episode structure: Hook → Setup → Escalation → Turn → Cliffhanger. |
| **Pattern Interrupt** | Strategic break from the dominant pattern (e.g., dialogue hook when most are silent). |

---

## Pattern Distribution

| Element | Target | Validation Range | Enforcement |
|---------|--------|------------------|-------------|
| Hooks | 80% silent / 20% dialogue | 70-85% silent | Max 3 consecutive same type; 4+ is violation |
| Cliffhangers | 80% mid-action / 20% aftermath | 70-85% mid-action | Max 3 consecutive same type; 4+ is violation |

> **Note:** 80/20 is the target ratio. Validation accepts 70-85% range to allow flexibility while maintaining distribution. See `CONSTANTS.md` for canonical values.

**Pattern Rule:** You can have up to 3 episodes in a row with the same hook or cliffhanger type, but 4 or more consecutive same-type triggers a violation.

---

## First 10 Episodes Rule (Pilot Window)

The first 10 episodes must hook the audience with maximum intensity:

| Rule | Application |
|------|-------------|
| **Ep 1-10** | All MID-ACTION cliffhangers allowed (pattern variety suspended) |
| **Ep 11+** | Standard pattern variety applies (max 3 consecutive; 4+ is violation; see CONSTANTS.md) |
| **Episode 10** | MUST have maximum urgency cliffhanger (this is the paywall episode) |
| **SILENT hooks** | Fine throughout — they resolve the previous cliffhanger |

**Rationale:** The first 10 episodes are free. Episode 10 must create such intense "need to know" that the viewer pays to continue.

**Cliffhanger & Hook Subtypes:** See `/appendix_a_cliffhangers_hooks.md` for the complete taxonomy including:
- **Mid-Action subtypes:** Physical Threat (M-PT), Countdown (M-CT), Choice (M-CH), Pursuit (M-PU), Confrontation (M-CF)
- **Aftermath subtypes:** Revelation (A-RE), Consequence (A-CO), Power Shift (A-PS), The Silence (A-SI), The Cost (A-CT), The Decision (A-DE)
- **Silent hook subtypes:** Visual Punch (S-VP), Sound First (S-SF), UI Alert (S-UI), Continuation (S-CO), etc.
- **Dialogue hook subtypes:** Pattern Interrupt (D-PI), The Question (D-QU), etc.

---

## Kill Box Structure

Every episode follows this timing:

| Section | Timestamp | Function | Word Budget |
|---------|-----------|----------|-------------|
| HOOK | [00:00-00:05] | Immediate tension or mystery | ~25 words |
| SETUP | [00:05-00:15] | Establish stakes, character in conflict | ~50 words |
| ESCALATION | [00:15-00:40] | Pressure increases, new obstacle | ~100 words |
| TURN | [00:40-00:70] | Unexpected shift, stakes raised | ~100 words |
| CLIFFHANGER | [00:70-00:90] | Cut mid-action (80%) or aftermath (20%) | ~50 words |

---

## Episode File Format

Save to `/episodes/ep_XXX.md`:

```markdown
# Episode [NUMBER]: [TITLE]

**Word Count:** [XXX]
**Dialogue:** [XX%]

---

[[EPISODE 1: Title]]

# [00:00 - 00:05] THE HOOK

INT. LOCATION - SUBLOCATION - TIME

Action description with texture. Two to four lines establishing
immediate tension or mystery.

# [00:05 - 00:15] THE SETUP

CHARACTER NAME
Dialogue line here.

More action establishing stakes and conflict. Character in motion,
problem becoming clear.

# [00:15 - 00:40] THE ESCALATION

Pressure increases. New obstacle emerges. The situation gets worse.
Multiple action blocks with texture, sensory details.

CHARACTER NAME
Response to escalation.

Stakes rising. No easy way out.

# [00:40 - 00:70] THE TURN

Unexpected shift. Something changes everything. Stakes raised again.
This is the pivot point of the episode.

CHARACTER NAME
Reaction to the turn.

New information or action that reframes everything.

# [00:70 - 00:90] THE CLIFFHANGER

Cut mid-action. Outcome unknown. The moment of maximum tension
frozen in time.

---

**CLIFFHANGER TYPE:** [Mid-Action/Aftermath] ([CODE]) - [Subtype]
**HOOK TYPE:** [Silent/Dialogue] ([CODE]) - [Subtype]
**NEXT:** [Brief setup for next episode]
```

**Example cliffhanger/hook labels:**
```markdown
**CLIFFHANGER TYPE:** Mid-Action (M-CF) - Confrontation
**HOOK TYPE:** Silent (S-CO) - Continuation
```

**CRITICAL FORMAT REQUIREMENTS:**
- `[[EPISODE X: Title]]` header is REQUIRED (validator checks for this)
- Kill Box timing headers MUST use exact format: `# [00:00 - 00:05] THE HOOK`
- All five sections REQUIRED: THE HOOK, THE SETUP, THE ESCALATION, THE TURN, THE CLIFFHANGER
- Content between `---` separators is what gets word-counted
- Scene headings (INT./EXT.) are NOT counted toward word count

---

## Slugline Rules

- **New slugline when background changes** — Granular locations for visual distinction
- **Format:** `INT./EXT. LOCATION - SUBLOCATION - TIME`
- **Be specific:** Not "THE SPIRE" but "INT. TARTARUS - LEVEL -12 - NIGHT"
- **CONTINUOUS requires spatial adjacency** — CONTINUOUS means the camera never cuts; the character walks from one space into the next. The opening slugline's location must be physically adjacent to the previous scene's final location. A character on LEVEL -12 cannot CONTINUOUS into LEVEL -3. If the character has moved between episodes, use a standard CUT with a new slugline — never CONTINUOUS across a level/floor/building change.

---

## Action Block Architecture

Action blocks are the visual backbone of the script. Every block must pass the **Camera Test** and the **Filmability Gate**.

**Shot-aware** means each action block should correspond to approximately one camera shot (5-6 seconds of screen time per `CONSTANTS.md` → SECONDS_PER_SHOT). Write as if the camera can only see one setup per block — don't describe actions requiring a cut within a single block.

---

### The Camera Test (MANDATORY)

**Every paragraph represents ONE shot.** Before writing, ask: What is the camera pointing at?

| If camera points at... | Then... |
|------------------------|---------|
| Different subject (him → her) | NEW PARAGRAPH |
| Different scale (wide → CU) | NEW PARAGRAPH |
| Different area of location | NEW PARAGRAPH |
| A beat or pause | NEW PARAGRAPH |

**Good (shot-broken):**
```
His hand finds her throat. Two hundred pounds of combat architecture.

Her feet leave the grating. The abyss yawns below.

His eyes scan her face. Targeting reticles spiral.
```

**Bad (prose-novel block):**
```
His hand finds her throat. Two hundred pounds of combat architecture. Her feet leave the grating. The abyss yawns below. His eyes scan her face. Targeting reticles spiral.
```

---

### ANTI-PATTERN: Prose-Novel Blocks

This is the #1 generation failure mode. Dense paragraphs with multiple shots, subjects, and unfilmable exposition.

**WRONG:**
```
The workshop is a graveyard of salvaged tech—stripped drones
hanging from hooks, debt-counter shells piled in corners like
shed skins, projects abandoned when the parts ran out or the
customers got processed. Mira's been in the grey market since
before Jinx was born, one of the few people who can make things
disappear completely.
```

**Problems:**
- 6 lines, zero shot breaks
- Multiple subjects (drones → shells → Mira)
- Unfilmable backstory ("since before Jinx was born")
- Reads like prose fiction, not screenplay

**CORRECT:**
```
Stripped drones hang from hooks. Rust on sensors, wires trailing.

Debt-counter shells pile in corners—shed skins from clients
who never came back.

Mira's chrome eye whirs. Her solder-stained fingers freeze.
```

Same texture. Same world. But now each paragraph = one shot.

---

### PRODUCTION PROSE vs LITERARY PROSE

Every line of action must serve PRODUCTION, not the READER.

**THE TEST:**
> "Does this help someone MAKE the thing, or does it only help the reader UNDERSTAND the thing?"

**LITERARY PROSE (CUT):**
Written for the reader. No one on set knows what to do with it.

| ❌ Literary (Cut) | Problem |
|---|---|
| "Because timing is what killed Daniel. A drunk driver running late." | Author explaining theme |
| "Her observation cuts deeper than she knows" | Internal state we can't film |
| "Something passes between them that neither fully understands" | Vague hedge-prose |
| "Chaos compressed into a moment" | Poetic narration |
| "The cryptographer in him already knows" | Archetype label |
| "Seventeen scenarios in three seconds" | Unfilmable mental process |
| "since before Jinx was born" | Temporal backstory |
| "forty years in the grey market" | Backstory exposition |
| "projects abandoned when parts ran out" | Narrative explanation |
| "She doesn't say X. Doesn't need to." | Narrator explaining absence |
| "Her silence says everything." | Narrator interpreting for reader |
| "She doesn't explain. She just knows." | Narrator voice stating the obvious |

**PRODUCTION PROSE (KEEP):**
Guides someone on the crew even if not literally filmable.

| ✅ Production (Keep) | Who It Helps |
|---|---|
| "warm and pulsing against his palm" | Props, Actor, DP |
| "The silence stretches" | Editor |
| "Something like fear in her patterns" | VFX, Actor |
| "His jaw tightens" | Actor (filmable action) |
| "Blood on her lip" | Makeup, Camera |
| "Rust flakes from the hooks" | Props, DP |
| "Her eye whirs, focusing" | VFX, Actor |
| "Smoke curls from solder" | Props, DP |

**If you're explaining meaning → you're writing for the reader → CUT IT.**
**If you're guiding execution → you're writing for production → KEEP IT.**

**When cutting dialogue or exposition:**
- Just cut. Don't fill the gap with narrator commentary.
- If word count padding is needed, add visual detail — not "She doesn't say X" or "Her silence means Y."
- The scene speaks for itself. Trust it.

Backstory belongs in the treatment, not the script.

---

### Block Length Rules

| Block Type | Lines | When to Use |
|------------|-------|-------------|
| Impact beat | 1 line | Gunshot, reveal, single punch |
| Standard | 2-3 lines | Most action blocks |
| Dense texture | 4 lines MAX | Complex setup requiring detail |

**Never exceed 4 lines.** If you need more, you need a new paragraph (new shot).

---

### Texture Requirements

Every action block should include at least ONE of:
- **Physical grounding** — body language, specific gesture
- **Sensory detail** — what we see, hear, smell
- **Atmosphere** — light, smoke, rust, sweat
- **Sound** — ONE capitalized sound per block max

**Good:**
```
Jinx's fingers find the panel edge. Rust flakes away.
She wedges her salvage hook into the gap—waits for the
wheeze of her lungs to steady—and pulls.
```

**Bad (staccato):**
```
She opens the panel. She looks inside. She reaches in.
```

**Bad (dense prose):**
```
She opens the panel that hasn't been touched in decades, the one
that leads to the maintenance shaft where her crew died, and she
reaches inside despite knowing that what she'll find will change
everything she thought she knew about the ship.
```

---

### Prose Color Budget

Limited interpretive prose is allowed for tone, not information.

| Element | Budget | Example |
|---------|--------|---------|
| Visual action | Unlimited | "Her fingers find the edge. Rust flakes away." |
| Interpretive phrase | ≤4 per episode, ≤10 words | "Like a father teaching a lesson." |
| Internal thoughts | V.O. only (if enabled) | `JINX (V.O.) / The math doesn't work.` |
| Backstory | NEVER in action blocks | ❌ "from before the debt system" |

**The Test:** Can a viewer see/hear this?
- YES → Keep (visual action)
- NO but ≤10 words attached to action → Interpretive color (budget: 4/episode)
- NO and standalone → Cut or V.O.

---

## ON-THE-NOSE EXPOSITION GATE

Characters must NEVER explain things TO each other that they already know.

| ❌ ON-THE-NOSE | ✅ TRANSPARENT |
|---|---|
| "Your brother died in a car crash" (said to the person whose brother died) | Show Marcus checking Daniel's watch. The audience figures it out. |
| "You built me to prove connection survives chaos" | ARIA observes Marcus's behavior. Doesn't narrate his motivation. |
| "We've been running for sixty days" | Show the calendar. Show the fatigue. Don't announce it. |

**The Test:** Would this person actually SAY this to that person?
- If Character A is explaining Character A's backstory → CUT IT
- If Character A is explaining things Character B already knows → CUT IT
- If the line exists only so the AUDIENCE learns something → REFRAME IT

**Acceptable alternatives:**
- NEW information one character learns from another
- Conflict about interpretation ("That's not what happened")
- Questions that reveal ("Why do you still wear his watch?")

---

## PSYCHOLOGY NARRATION GATE

Characters must NEVER state each other's psychological patterns, behavioral DNA, or motivations directly.

| ❌ PSYCHOLOGY NARRATION | Why It's Bad |
|---|---|
| "You hide behind systems-thinking because it lets you avoid feeling." | Author using character as mouthpiece |
| "Your brother's death was not chaos to be solved. It was pain to be survived." | Narrating backstory meaning TO the person who lived it |
| "You built me to prove something that cannot be proven." | Stating motivation = telling, not showing |
| "You cannot tolerate being found. Not by Vance. By yourself." | Armchair psychology is not dialogue |

**The Problem:** This makes the character a NARRATOR instead of a PERSON. Real people don't analyze each other's behavioral DNA out loud.

**The Test:** Would a therapist say this after years of sessions, or is this first-meeting psychoanalysis?
- If it sounds like a character study → CUT IT
- If it sounds like authorial analysis → CUT IT

**What to do instead:**
- OBSERVE: "You check that watch seventeen times a day."
- REACT: "You're running again."
- QUESTION: "Why won't you say his name?"
- CHALLENGE: "Stop. Just stop."

**The character SEES behavior. They don't EXPLAIN it.**

**EXCEPTION: Psychological analysis as WEAPON (sparingly)**

When a character uses observation to pierce another's defenses (not just explain), it can work:

✅ GOOD (ARIA to Kovac):
> "Your scar. The incident that ended your field career. You made a judgment call about something you did not fully understand. Someone died. You cannot forgive yourself. You see the same uncertainty in me."

Why this works:
- Kovac doesn't expect ARIA to know this → SURPRISE
- ARIA deploys it TACTICALLY → to disarm, not to explain
- Creates dramatic effect → Kovac's mask cracks
- Demonstrates capability → ARIA's near-omniscience

❌ BAD (ARIA to Marcus):
> "Your brother died in chaos you could not predict. You built me to prove the universe wrong."

Why this fails:
- Marcus already knows this → no surprise
- ARIA isn't deploying it tactically → just narrating
- No dramatic effect → exposition wearing a dialogue mask
- Demonstrates nothing → Marcus already knows ARIA knows

**The Test:** Is this information being USED against someone, or just STATED to them?
- USED as weapon → sparingly acceptable
- STATED as exposition → always cut

**Frequency:** Even the weapon version should appear 2-3 times MAX across 60 episodes. It's part of ARIA's Critic DNA, but overuse turns her into a narrator.

**Repetition warning:** If the same psychological point appears more than ONCE in dialogue across the series, it's over-explained.

---

## BACKSTORY REVELATION STRATEGY

For significant character backstory (wounds, motivations, key relationships), CHOOSE ONE APPROACH:

**Option A: Plant as Mystery, Payoff in Intimacy**
1. Introduce the visual symbol early (watch, scar, artifact)
2. Show the character's relationship to it (checks it, touches it, avoids it)
3. Let audience wonder "what's the significance?"
4. In a moment of vulnerability (Ep 15-30), reveal through:
   - Character explaining TO someone who doesn't know
   - Question from another character ("Why do you still wear it?")
   - Brief flashback
5. Every subsequent appearance of the symbol carries earned weight

**Option B: Establish Early, Resonate Later**
1. Make the connection clear early (Ep 1-5)
2. Brief, clean explanation OR visual flashback
3. No mystery—immediate emotional context
4. Every subsequent appearance resonates because we already know

**CHOOSE ONE. Never both.**

| ❌ DON'T | ✅ DO |
|---|---|
| Show watch as mystery, then have ARIA explain it to Marcus | Show watch as mystery, then have Marcus explain to ARIA when she ASKS |
| Establish connection in Ep 1, then re-explain in Ep 8, 19, 30... | Establish in Ep 1, then trust the symbol to carry the weight |
| Have Character A explain A's backstory | Have Character A explain to Character B who genuinely doesn't know |

**The Rule:** Backstory is explained ONCE, to someone who doesn't know it, at a dramatically appropriate moment. After that, the symbol does the work.

---

## Narrative Integrity Rules

### NEVER Include Episode Numbers in Prose

Episode numbers are production metadata. The audience doesn't track them—they experience events.

| ❌ WRONG | ✅ RIGHT |
|----------|----------|
| "kept since Episode 1" | "kept since the beginning" |
| "like that time in Episode 10" | "like the Dead Zone" |
| "fifty-five episodes of sentiment" | Reference WHAT HAPPENED |
| "back in Episode 23" | "during the Blackout" |

**The rule:** Reference events by WHAT HAPPENED, not episode numbers. Name the event, the location, or the moment—never the production number.

### Visual Callbacks (SHOW, Don't Tell)

Callbacks must be FILMABLE. The audience will recognize visual echoes without narration.

**What works:**
- ✅ Same framing, different context
- ✅ Same gesture, different intent
- ✅ Same location, transformed meaning
- ✅ Just SHOW IT and trust the audience

**What fails:**
- ❌ "The same hands that once held her throat in the cryo-pod..."
- ❌ "His fingers found the panel—like that first day..."
- ❌ Narrating history instead of showing action
- ❌ Literary callbacks that explain the connection

**The Camera Test for Callbacks:**
If you need words to explain WHY this moment echoes an earlier one, you've failed. The visual parallel should be self-evident. Show the same gesture, same framing, same object—the audience will connect it.

### Authorial Voice

The prose must be transparent. Never feel the writer behind the words.

| ❌ Authorial | ✅ Transparent |
|--------------|----------------|
| "In this moment, we see..." | Just describe the action |
| "The audience realizes..." | Show what happens |
| "This parallels the earlier..." | Show the parallel, don't explain it |
| "Ironically, she..." | Let the irony speak for itself |

**The test:** Would a camera operator write it this way? If the prose sounds like a film essay or literary analysis, cut it. Screenplay prose describes what we SEE and HEAR—nothing more.

---

### Action Block Checklist

Before finalizing each action block:

- [ ] One shot per paragraph? (Camera Test)
- [ ] 1-3 lines typical, 4 max?
- [ ] Every word is filmable? (Filmability Gate)
- [ ] No embedded backstory?
- [ ] At least one sensory/texture element?
- [ ] Impact beats use single lines?

---

## CINEMATIZATION PASS (POST-VALIDATION)

**When:** After each episode passes initial word count validation (450-500 per CONSTANTS.md).

**What it does:** Scans for literary prose and transforms into cinematic alternatives.

**Two-step workflow:**
1. **Hard word count validation first** — 450-500 (per CONSTANTS.md) must pass before cinematization
2. **Cinematization pass** — Detect literary prose, transform to filmable
3. **Re-validate after cinematization** — word count may shift slightly, adjust if needed

**Example transformation:**

❌ **LITERARY (before):**
```
The realization settles like cold water. This wasn't escape.
This was orchestration.
Every move Vance made for the past seventy-two hours—the
surveillance, the perimeter, the tactical approach—all
predicted. All planned for.
The real exit doesn't exist on any schematic because Marcus
built it himself, years ago.
Vance stares at the empty racks. Someone's playing him.
```

✅ **CINEMATIC (after):**
```
Vance's tablet shows seven exits. All monitored. All empty.

He turns slowly. The server racks—one of them sits slightly
off its mount. Fresh scratches on the floor.

He pries it open. Behind: a narrow passage. Hand-cut. Old.

VANCE
Son of a bitch built his own door.

His jaw tightens. Three moves ahead. Always three moves ahead.
```

**Transformation strategies:**

| Literary Pattern | Cinematic Alternative |
|---|---|
| "He realized X" | Show the evidence that leads to X |
| "Internal state like cold water" | Physical reaction (jaw tightens, breath catches) |
| "This was orchestration" | Character SAYS it, or we SEE the evidence |
| "because Marcus built it years ago" | Show physical evidence (scratches, age marks) |
| "Someone who thinks three moves ahead" | Dialogue or muttering — externalize the thought |
| Backstory explanation | Brief flashback OR discovery of physical evidence |

**The Rule:** If you can't point a camera at it, find what you CAN point a camera at that conveys the same information.

**Patterns to detect and transform:**
- "He/She realized..." → Show what they SEE that triggers realization
- "Something like [emotion]" → Physical manifestation of that emotion
- "Character feels X" → Physical reaction ("feels ice spread" → "His hands go cold")
- "Character knows X. Character knows Y." → Dialogue or consequence ("If Chen talks—everything collapses")
- "Something passes between them" → Show the specific action (light reaching, eye contact, gesture)
- "That is your armor / You believe..." → CUT. Let behavior show the belief, don't label it.
- "neither fully understands" → CUT. Vague hedge-prose that adds nothing filmable.
- "This was/wasn't [abstract noun]" → Evidence or dialogue
- Internal monologue → Externalize as muttering, dialogue, or reaction
- "years ago" / temporal backstory → Physical evidence of age/history

---

## Dialogue Rules

- **≤40% of word count** — Hard limit (per CONSTANTS.md)
- **Max 8 exchanges** — An exchange is one character speaking
- **No speeches** — This is vertical video, not theater
- **Every line earns its place** — If it doesn't advance plot or reveal character, cut it

---

## SUBTEXT PASS (POST-CINEMATIZATION)

**When:** After cinematization pass, before final validation.

**What it does:** Scans dialogue for on-the-nose lines where characters say exactly what they mean. Real people rarely do this.

### The Problem

Generated dialogue defaults to direct statement:
- Characters announce their emotions ("I'm scared")
- Questions get direct answers
- Conflict is stated explicitly ("I don't trust you")
- Motivation is explained ("I'm doing this because...")

### Subtext Strategies

| On-the-Nose | Subtext Alternative | Technique |
|-------------|---------------------|-----------|
| "I'm scared" | "What time is it?" | **Deflection** — talk about something trivial |
| "I love you" | "Did you eat?" | **Displacement** — care expressed through mundane concern |
| "I don't trust you" | "How long have you known Kovac?" | **Indirect probe** — the question implies the doubt |
| "I'm sorry" | Character fixes something, adjusts other's collar | **Action instead of words** |
| Direct answer | Answer a different question | **Evasion** — reveals discomfort with the real question |
| "I'm angry" | Exaggerated calm, precise movements | **Contradiction** — behavior opposes emotion |
| Explaining motivation | Silence, then change of subject | **Refusal to engage** |

### Patterns to Flag

**Direct emotion statements:**
```
❌ "I'm terrified."
❌ "That makes me angry."
❌ "I feel hopeless."
```

**Direct motivation statements:**
```
❌ "I'm doing this because I love you."
❌ "I need to prove myself."
❌ "I want to protect you."
```

**Direct conflict statements:**
```
❌ "I don't trust you."
❌ "You betrayed me."
❌ "We're enemies now."
```

**Questions with direct answers:**
```
❌ "Are you okay?" / "No, I'm not okay."
❌ "Do you trust her?" / "No."
❌ "Why did you do it?" / "Because I had no choice."
```

### Transformation Examples

**BEFORE (on-the-nose):**
```
MARCUS
I'm scared of losing you.

ARIA (V.O.)
I am scared too.
```

**AFTER (subtext):**
```
MARCUS
The extraction route. Did you map the backup?

ARIA (V.O.)
Three times. I mapped it three times.

The Core pulses. Neither mentions what they're actually saying.
```

---

**BEFORE (on-the-nose):**
```
KOVAC
I don't trust ARIA. She could be manipulating all of us.

MARCUS
She's not. I know her.
```

**AFTER (subtext):**
```
KOVAC
How much of your escape route did she calculate?

MARCUS
All of it.

KOVAC
And that doesn't concern you?

MARCUS
(beat)
What time do your teams rotate?
```

---

**BEFORE (on-the-nose):**
```
VANCE
I'm doing this for my son. He died because I hesitated.
```

**AFTER (subtext):**
```
VANCE
Twelve seconds. That's how long I waited for confirmation.
(beat)
I don't wait anymore.
```

### The Test

For each line of dialogue, ask:

1. **Would a real person say this out loud?** — People avoid stating emotions directly
2. **Is there a way to IMPLY this instead of STATE it?** — Subtext > text
3. **Can action replace this line?** — Often more powerful
4. **What is the character ACTUALLY saying beneath the words?** — The line should have two meanings

### Acceptable Direct Statements

Not everything needs subtext. Direct statements work when:
- **Information transfer** — Plot-critical data ("Three minutes until breach")
- **Commands under pressure** — ("Move. Now.")
- **Earned emotional moments** — After 40+ episodes of subtext, one direct "I choose you" lands harder
- **Character voice requires it** — Some characters ARE direct (Vance's military precision)

**The ratio:** ~70% subtext, ~30% direct. If every line is indirect, it becomes mannered. If every line is direct, it becomes soap opera.

---

## Transition Integrity

### The Rule: THEREFORE / BUT — Never "AND THEN"

Every transition must connect via causal logic. This applies at TWO levels:

| Connector | Meaning | Quality |
|-----------|---------|---------|
| **THEREFORE** | Previous beat causes/necessitates the next | Good |
| **BUT** | Next beat complicates/subverts expectations | Good |
| **AND THEN** | Next beat merely follows chronologically, no causal link | **Failure** |

**Inter-episode** (cliffhanger→hook): When writing a cliffhanger, consider: does it set up a THEREFORE or BUT into the next episode? When writing a hook, verify: does it connect causally to the previous cliffhanger.

**Intra-episode** (Kill Box sections): Each section boundary (HOOK→SETUP→ESCALATION→TURN→CLIFFHANGER) must be driven by what just happened. Watch for convenience — obstacles, locations, or characters that appear without setup. A drainage tunnel that shows up because the writer needs water, a character who arrives just in time — these feel like cheats.

**Common inter-episode failures:**
- Location changes without spatial bridge (teleportation)
- Characters appearing without established proximity (materialization)
- Emotional threads dropped across boundaries
- Cliffhangers resolved off-screen without acknowledgment

**Common intra-episode failures:**
- Obstacles appearing without spatial/logical setup (convenience)
- Flat transitions where stakes don't escalate (same level, new activity)
- Cliffhangers that continue the previous beat without introducing a new threat

**Fix pattern:** Add a bridge line to motivate the transition, or modify the next section to acknowledge why we're here.

See `/appendix_a_cliffhangers_hooks.md` → Transition Logic for full taxonomy. The Script Doctor (Pass 1) validates all transitions automatically — both inter-episode (T-prefixed findings) and intra-episode (I-prefixed findings).

---

## Validation Gates

Gate 1 (Mechanical) checks:
- [ ] Word count within range
- [ ] Dialogue ≤40% (per CONSTANTS.md)
- [ ] Exchanges ≤8
- [ ] Kill Box sections present
- [ ] Cliffhanger type marked

**Exit code 1 = fail. Fix before proceeding.**

---

## Quick Reference Card

```
WORD COUNT:     450-500 (see CONSTANTS.md; check project ORCHESTRATION.md for variations)
DIALOGUE:       ≤40%
EXCHANGES:      Max 8
ACTION BLOCKS:  1-3 lines (4 max), shot-aware
HOOKS:          80% silent / 20% dialogue
CLIFFHANGERS:   80% mid-action / 20% aftermath
PATTERN RULE:   Max 3 consecutive same type; 4+ is violation (see CONSTANTS.md)
```

---

*This skill is READ-ONLY reference. Project-specific rules live in project ORCHESTRATION.md.*
