Bow Tie Kreative Writing System

Rules / syntax

SYN-006 Context default layer: sentence

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.

Why the rule exists

One principal action per step improves scanning, recovery, and testability.

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
    • sentence.function eq "procedure_step"
    • sentence.independent_action_count gt 1
    • sentence.actions_tightly_coupled eq false

Facts this rule reads

Fact paths read by SYN-006 and whether the analyser derives them
PathSource
sentence.function Derived from text
sentence.independent_action_count You supply it
sentence.actions_tightly_coupled You supply it

Then

  1. split — target sentence

Else

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

LAKA

Smallest sufficient intervention
Yes
Primary axes

Sources

  • Microsoft Writing Style Guide — Microsoft link
    Warm, clear, concise, helpful technical communication.
  • Making Content Usable for People with Cognitive and Learning Disabilities — W3C link
    Clear words, simple voice and tense, explicit instructions, and supportive structure.
  • DITA 1.3 Technical Content Specification — OASIS link
    Topic-based concept, task, reference, troubleshooting, and reuse architecture.
  • Developing Quality Technical Information — Michelle Carey; Moira Lanyi; Deirdre Longo; et al.
    Quality dimensions for usable technical information.
The raw rule record

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

{
  "id": "SYN-006",
  "name": "One principal action per procedural step",
  "domain": "syntax",
  "layer": "sentence",
  "strength": "context_default",
  "human_logic": "IF a step contains multiple independently verifiable actions, THEN split them into ordered steps ELSE retain a tightly coupled action.",
  "when": {
    "all": [
      {
        "path": "sentence.function",
        "operator": "eq",
        "value": "procedure_step"
      },
      {
        "path": "sentence.independent_action_count",
        "operator": "gt",
        "value": 1
      },
      {
        "path": "sentence.actions_tightly_coupled",
        "operator": "eq",
        "value": false
      }
    ]
  },
  "then": [
    {
      "action": "split",
      "target": "sentence",
      "by": "independently_verifiable_action"
    }
  ],
  "else": [
    {
      "action": "retain",
      "target": "current_text",
      "reason": "No triggering condition is present."
    }
  ],
  "unless": [],
  "because": "One principal action per step improves scanning, recovery, and testability.",
  "diagnostics": [],
  "examples": {},
  "source_ids": [
    "WEB-004",
    "WEB-006",
    "WEB-008",
    "BK-024"
  ],
  "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-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
  7. 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
  8. SYN-009 End-weight complex material IF a long complex phrase separates subject from verb OR delays the core relation, THEN move that weight later when meaning permits ELSE retain. Heuristic