Bow Tie Kreative Writing System

Rules / syntax

SYN-020 Heuristic layer: sentence

Split overloaded sentences by proposition

IF a sentence contains more than three major propositions OR more than one unrelated rhetorical move, THEN split at the strongest logical boundary ELSE retain.

Why the rule exists

A sentence can be grammatical yet too dense to be usable.

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.

  • ANY
    • sentence.major_proposition_count gt 3
    • sentence.rhetorical_move_count gt 1

Facts this rule reads

Fact paths read by SYN-020 and whether the analyser derives them
PathSource
sentence.major_proposition_count You supply it
sentence.rhetorical_move_count You supply it

Then

  1. split — target sentence
  2. insert — target new_sentence.connective

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.
  • Making Content Usable for People with Cognitive and Learning Disabilities — W3C link
    Clear words, simple voice and tense, explicit instructions, and supportive structure.
The raw rule record

Verbatim from 09-syntax-and-sentence-rules.json. Also available at /v1/rules/SYN-020.

{
  "id": "SYN-020",
  "name": "Split overloaded sentences by proposition",
  "domain": "syntax",
  "layer": "sentence",
  "strength": "heuristic",
  "human_logic": "IF a sentence contains more than three major propositions OR more than one unrelated rhetorical move, THEN split at the strongest logical boundary ELSE retain.",
  "when": {
    "any": [
      {
        "path": "sentence.major_proposition_count",
        "operator": "gt",
        "value": 3
      },
      {
        "path": "sentence.rhetorical_move_count",
        "operator": "gt",
        "value": 1
      }
    ]
  },
  "then": [
    {
      "action": "split",
      "target": "sentence",
      "by": "rhetorical_move_then_logical_boundary"
    },
    {
      "action": "insert",
      "target": "new_sentence.connective",
      "when": "relation_would_be_lost"
    }
  ],
  "else": [
    {
      "action": "retain",
      "target": "current_text",
      "reason": "No triggering condition is present."
    }
  ],
  "unless": [],
  "because": "A sentence can be grammatical yet too dense to be usable.",
  "diagnostics": [],
  "examples": {},
  "source_ids": [
    "BK-008",
    "BK-013",
    "WEB-002",
    "WEB-006"
  ],
  "laka": {
    "smallest_sufficient_intervention": true,
    "primary_axes": [
      "scope",
      "depth",
      "magnitude",
      "reversibility"
    ]
  }
}

Other syntax rules

  1. SYN-001 Complete clause for formal prose IF a unit is presented as a formal prose sentence AND lacks an independent clause, THEN attach it, complete it, or label it as a fragment ELSE retain. Hard constraint
  2. SYN-002 Separate fused independent clauses IF adjacent independent clauses have no valid boundary, THEN add a coordinator and punctuation, a semicolon, or a period ELSE retain. Hard constraint
  3. SYN-003 Prefer visible actor–action order IF the reader must act or identify responsibility AND no stronger reason favors passive voice, THEN place the actor before the action ELSE retain. Context default
  4. SYN-004 Use passive voice for a reason IF a clause is passive, THEN retain it only when the receiver is the topic, the actor is unknown or irrelevant, blame should be softened, or domain convention requires it ELSE convert to active. Context default
  5. SYN-005 Put conditions before instructions IF an instruction applies only under a condition, THEN state the condition before the imperative ELSE give the action directly. Context default
  6. SYN-006 One principal action per procedural step IF a step contains multiple independently verifiable actions, THEN split them into ordered steps ELSE retain a tightly coupled action. Context default
  7. SYN-007 Limit nested clauses for general audiences IF clause nesting exceeds two levels AND the audience is not expert-only, THEN split or promote a buried clause ELSE retain necessary complexity. Heuristic
  8. SYN-008 Given information before new information IF a sentence introduces new information before the anchor it depends on, THEN reorder from shared context to new contribution ELSE retain a deliberate surprise. Heuristic