Bow Tie Kreative Writing System

Rules / narrative

NAR-012 Creative option layer: section

Subtext differs from literal text

IF characters have conflicting public and private goals, THEN let word choice, omission, action, or rhythm carry subtext ELSE direct speech is acceptable.

Why the rule exists

Subtext lets dialogue carry simultaneous social and private actions.

Condition

The rule fires when this evaluates true. Paths marked below must be present in the fact base; the engine reports the rest rather than guessing them.

  • dialogue.public_private_goal_conflict eq true

Facts this rule reads

Fact paths read by NAR-012 and whether the analyser derives them
PathSource
dialogue.public_private_goal_conflict You supply it

Then

  1. layer — target dialogue.line

Else

  1. retain — target current_text, No triggering condition is present.

LAKA

Smallest sufficient intervention
Yes
Primary axes

Sources

  • Story — Robert McKee
    Scene design, causality, conflict, and narrative structure.
  • Self-Editing for Fiction Writers — Renni Browne; Dave King
    Dialogue, viewpoint, exposition, scene, and revision.
The raw rule record

Verbatim from 13-narrative-rules.json. Also available at /v1/rules/NAR-012.

{
  "id": "NAR-012",
  "name": "Subtext differs from literal text",
  "domain": "narrative",
  "layer": "section",
  "strength": "creative_option",
  "human_logic": "IF characters have conflicting public and private goals, THEN let word choice, omission, action, or rhythm carry subtext ELSE direct speech is acceptable.",
  "when": {
    "path": "dialogue.public_private_goal_conflict",
    "operator": "eq",
    "value": true
  },
  "then": [
    {
      "action": "layer",
      "target": "dialogue.line",
      "surface": "public_goal",
      "subtext": "private_goal",
      "signals": [
        "word_choice",
        "omission",
        "action",
        "rhythm"
      ]
    }
  ],
  "else": [
    {
      "action": "retain",
      "target": "current_text",
      "reason": "No triggering condition is present."
    }
  ],
  "unless": [],
  "because": "Subtext lets dialogue carry simultaneous social and private actions.",
  "diagnostics": [],
  "examples": {},
  "source_ids": [
    "BK-016",
    "BK-017"
  ],
  "laka": {
    "smallest_sufficient_intervention": true,
    "primary_axes": [
      "scope",
      "depth",
      "magnitude",
      "reversibility"
    ]
  }
}

Other narrative rules

  1. NAR-001 Give the focal agent a desire IF a narrative section expects forward motion AND the focal agent has no legible desire or need, THEN reveal one ELSE retain deliberate mystery with another source of propulsion. Context default
  2. NAR-002 Obstacle opposes the desire IF the focal agent has a desire but no meaningful resistance, THEN introduce an external, interpersonal, internal, or systemic obstacle ELSE retain. Context default
  3. NAR-003 Make stakes change choice IF failure or success would not alter the agent’s choices, relationships, identity, resources, safety, or future, THEN strengthen or clarify stakes ELSE retain a low-stakes form by design. Context default
  4. NAR-004 Events cause later events IF a major event has no causal, motivational, or thematic relation to what precedes it, THEN connect, foreshadow, move, or remove it ELSE retain. Hard constraint
  5. NAR-005 Scene contains a turn IF a scene begins and ends with the same relevant value, knowledge, power, relationship, or plan, THEN add a turn or compress the scene ELSE retain an intentional atmosphere scene. Heuristic
  6. NAR-006 Choice reveals character IF the story asserts a trait without a consequential choice that demonstrates it, THEN create or cite such a choice ELSE retain. Heuristic
  7. NAR-007 Control point of view IF perception, knowledge, or interior access exceeds the established viewpoint without a marked shift, THEN remove, recast, or mark the shift ELSE retain. Hard constraint
  8. NAR-008 Keep narrative tense stable IF narrative tense changes without a time-frame or mode shift, THEN restore the established tense ELSE retain. Context default