Bow Tie Kreative Writing System

Rules / punctuation

PUN-008 Context default layer: sentence

Semicolon joins related independent clauses

IF two independent clauses are closely related AND no coordinator is used, THEN a semicolon is available ELSE choose another boundary.

Why the rule exists

A semicolon marks grammatical independence and close conceptual linkage.

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.adjacent_units eq "independent_clauses"
    • sentence.semantic_relation in [contrast, continuation, cause, parallel]
    • sentence.coordinator missing true

Facts this rule reads

Fact paths read by PUN-008 and whether the analyser derives them
PathSource
sentence.adjacent_units You supply it
sentence.semantic_relation You supply it
sentence.coordinator You supply it

Then

  1. select — target sentence.boundary, value ";"

Else

  1. select — target sentence.boundary

LAKA

Smallest sufficient intervention
Yes
Primary axes

Sources

  • The Blue Book of Grammar and Punctuation — Jane Straus; Lester Kaufman
    Accessible grammar, punctuation, examples, and exercises.
  • Eats, Shoots & Leaves — Lynne Truss
    Punctuation and the effect of marks on meaning.
  • Grammar, Punctuation, and Sentence Structure — Purdue Online Writing Lab link
    Practical mechanics, clause, sentence, punctuation, and style guidance.
The raw rule record

Verbatim from 08-punctuation-rules.json. Also available at /v1/rules/PUN-008.

{
  "id": "PUN-008",
  "name": "Semicolon joins related independent clauses",
  "domain": "punctuation",
  "layer": "sentence",
  "strength": "context_default",
  "human_logic": "IF two independent clauses are closely related AND no coordinator is used, THEN a semicolon is available ELSE choose another boundary.",
  "when": {
    "all": [
      {
        "path": "sentence.adjacent_units",
        "operator": "eq",
        "value": "independent_clauses"
      },
      {
        "path": "sentence.semantic_relation",
        "operator": "in",
        "value": [
          "contrast",
          "continuation",
          "cause",
          "parallel"
        ]
      },
      {
        "path": "sentence.coordinator",
        "operator": "missing",
        "value": true
      }
    ]
  },
  "then": [
    {
      "action": "select",
      "target": "sentence.boundary",
      "value": ";"
    }
  ],
  "else": [
    {
      "action": "select",
      "target": "sentence.boundary",
      "options": [
        "period",
        "comma_plus_coordinator",
        "colon_when_explanatory"
      ]
    }
  ],
  "unless": [],
  "because": "A semicolon marks grammatical independence and close conceptual linkage.",
  "diagnostics": [],
  "examples": {},
  "source_ids": [
    "BK-002",
    "BK-009",
    "WEB-011"
  ],
  "laka": {
    "smallest_sufficient_intervention": true,
    "primary_axes": [
      "scope",
      "depth",
      "magnitude",
      "reversibility"
    ]
  }
}

Other punctuation rules

  1. PUN-001 Terminate complete sentences IF a prose sentence is complete, THEN end it with a mark matching statement, direct question, or strong exclamation ELSE keep it joined to its governing structure. Hard constraint
  2. PUN-002 No comma splice IF two independent clauses are joined only by a comma, THEN add a coordinator, use a semicolon, or make two sentences ELSE retain. Hard constraint
  3. PUN-003 Comma before coordinating conjunction IF a coordinating conjunction joins two independent clauses, THEN place a comma before it unless the clauses are very short and unambiguous ELSE retain. Context default
  4. PUN-004 Comma after introductory material IF introductory material is long, clausal, or potentially misread, THEN add a comma before the main clause ELSE use the lightest mark that preserves clarity. Context default
  5. PUN-005 Set off nonrestrictive material IF a modifier adds nonessential information rather than identifying the referent, THEN set it off with paired punctuation ELSE do not set it off. Hard constraint
  6. PUN-006 Do not isolate restrictive material IF a modifier identifies which person or thing is meant, THEN remove punctuation that falsely marks it as optional ELSE evaluate as nonrestrictive. Hard constraint
  7. PUN-007 Serial comma follows declared style IF a series contains three or more coordinated items, THEN apply the selected serial-comma policy consistently AND add a comma when omission causes ambiguity ELSE retain. Context default
  8. PUN-009 Semicolons clarify complex series IF list items contain internal commas, THEN separate top-level items with semicolons ELSE use commas. Context default