Bow Tie Kreative Writing System

Rules / structure

STR-002 Heuristic layer: paragraph

Expose the paragraph point

IF the paragraph’s controlling point is absent or recoverable only after rereading, THEN state or move it to a strategic position ELSE retain an intentional delayed reveal.

Why the rule exists

Readers need a frame for interpreting details.

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.

  • ALL
    • ANY
      • paragraph.controlling_point missing true
      • paragraph.point_requires_reread eq true
    • paragraph.delayed_reveal_intended eq false

Facts this rule reads

Fact paths read by STR-002 and whether the analyser derives them
PathSource
paragraph.controlling_point You supply it
paragraph.point_requires_reread You supply it
paragraph.delayed_reveal_intended You supply it

Then

  1. insert — target paragraph.controlling_sentence
  2. move — target paragraph.existing_point

Else

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

LAKA

Smallest sufficient intervention
Yes
Primary axes

Sources

  • The Sense of Style — Steven Pinker
    Reader-centered clarity informed by linguistics and cognition.
  • On Writing Well — William Zinsser
    Clarity, simplicity, voice, and nonfiction craft.
  • Principles of plain language — Digital.gov / U.S. General Services Administration link
    Design content so the intended audience can find, understand, and use it.
The raw rule record

Verbatim from 10-paragraph-document-rules.json. Also available at /v1/rules/STR-002.

{
  "id": "STR-002",
  "name": "Expose the paragraph point",
  "domain": "structure",
  "layer": "paragraph",
  "strength": "heuristic",
  "human_logic": "IF the paragraph’s controlling point is absent or recoverable only after rereading, THEN state or move it to a strategic position ELSE retain an intentional delayed reveal.",
  "when": {
    "all": [
      {
        "any": [
          {
            "path": "paragraph.controlling_point",
            "operator": "missing",
            "value": true
          },
          {
            "path": "paragraph.point_requires_reread",
            "operator": "eq",
            "value": true
          }
        ]
      },
      {
        "path": "paragraph.delayed_reveal_intended",
        "operator": "eq",
        "value": false
      }
    ]
  },
  "then": [
    {
      "action": "insert",
      "target": "paragraph.controlling_sentence",
      "position": "first_or_contextually_emphatic"
    },
    {
      "action": "move",
      "target": "paragraph.existing_point",
      "when": "present_but_buried",
      "destination": "strategic_position"
    }
  ],
  "else": [
    {
      "action": "retain",
      "target": "current_text",
      "reason": "No triggering condition is present."
    }
  ],
  "unless": [],
  "because": "Readers need a frame for interpreting details.",
  "diagnostics": [],
  "examples": {},
  "source_ids": [
    "BK-008",
    "BK-013",
    "WEB-002"
  ],
  "laka": {
    "smallest_sufficient_intervention": true,
    "primary_axes": [
      "scope",
      "depth",
      "magnitude",
      "reversibility"
    ]
  }
}

Other structure rules

  1. STR-001 One controlling move per paragraph IF a paragraph performs more than one unrelated rhetorical move, THEN split it at the move boundary ELSE retain. Context default
  2. STR-003 Support consequential claims IF a paragraph makes a consequential factual claim, THEN provide evidence, cite it, qualify it, or remove the claim ELSE retain. Hard constraint
  3. STR-004 Keep evidence beside the claim IF evidence is separated from the claim it supports by unrelated material, THEN move it closer or label the relation ELSE retain. Context default
  4. STR-005 Use transitions that name the relation IF adjacent paragraphs have a meaningful but unstated relation, THEN add a transition that expresses that relation ELSE retain. Context default
  5. STR-006 Delete orphan paragraphs IF a paragraph neither advances the purpose nor supports another necessary move, THEN delete or relocate it ELSE retain. Heuristic
  6. STR-007 Section answers one reader question IF a section answers multiple unrelated reader questions, THEN split and label them ELSE retain. Context default
  7. STR-008 Heading predicts content IF a heading does not accurately predict its section, THEN rename the heading or repair the section ELSE retain. Hard constraint
  8. STR-009 Maintain heading hierarchy IF heading levels skip or reflect visual size rather than logical nesting, THEN repair the hierarchy ELSE retain. Hard constraint