Bow Tie Kreative Writing System

Rules / technical writing

TEC-019 Heuristic layer: content_system

Reuse single-source facts

IF the same volatile fact appears in multiple documents, THEN centralize it or generate references from one source ELSE retain independent stable statements.

Why the rule exists

Single sourcing reduces inconsistent updates.

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
    • fact.duplicate_location_count gt 1
    • fact.volatility in [medium, high]

Facts this rule reads

Fact paths read by TEC-019 and whether the analyser derives them
PathSource
fact.duplicate_location_count You supply it
fact.volatility You supply it

Then

  1. centralize — target fact
  2. reference — target duplicate_locations

Else

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

LAKA

Smallest sufficient intervention
Yes
Primary axes

Sources

  • DITA 1.3 Technical Content Specification — OASIS link
    Topic-based concept, task, reference, troubleshooting, and reuse architecture.
  • Technical Writing 101 — Alan Pringle; Sarah O’Keefe
    Real-world documentation and structured authoring.
  • Managing Your Documentation Projects — JoAnn T. Hackos
    Planning, resourcing, and managing documentation systems.
The raw rule record

Verbatim from 15-technical-writing-rules.json. Also available at /v1/rules/TEC-019.

{
  "id": "TEC-019",
  "name": "Reuse single-source facts",
  "domain": "technical_writing",
  "layer": "content_system",
  "strength": "heuristic",
  "human_logic": "IF the same volatile fact appears in multiple documents, THEN centralize it or generate references from one source ELSE retain independent stable statements.",
  "when": {
    "all": [
      {
        "path": "fact.duplicate_location_count",
        "operator": "gt",
        "value": 1
      },
      {
        "path": "fact.volatility",
        "operator": "in",
        "value": [
          "medium",
          "high"
        ]
      }
    ]
  },
  "then": [
    {
      "action": "centralize",
      "target": "fact",
      "to": "single_source"
    },
    {
      "action": "reference",
      "target": "duplicate_locations"
    }
  ],
  "else": [
    {
      "action": "retain",
      "target": "current_text",
      "reason": "No triggering condition is present."
    }
  ],
  "unless": [],
  "because": "Single sourcing reduces inconsistent updates.",
  "diagnostics": [],
  "examples": {},
  "source_ids": [
    "WEB-008",
    "BK-023",
    "BK-027"
  ],
  "laka": {
    "smallest_sufficient_intervention": true,
    "primary_axes": [
      "scope",
      "depth",
      "magnitude",
      "reversibility"
    ]
  }
}

Other technical writing rules

  1. TEC-001 Choose an information type IF a technical topic is being created, THEN classify it as concept, task, reference, troubleshooting, glossary, or mixed with explicit boundaries ELSE do not draft a generic blob. Hard constraint
  2. TEC-002 Concept answers what and why IF the reader asks what something is or why it matters, THEN use a concept topic with definition, model, relationship, boundary, and example ELSE select another type. Context default
  3. TEC-003 Task answers how to achieve a goal IF the reader wants to achieve an outcome, THEN use a task topic with goal, prerequisites, steps, results, recovery, and verification ELSE select another type. Context default
  4. TEC-004 Reference supports lookup IF the reader needs facts about an entity or interface, THEN use stable repeated fields, valid values, defaults, constraints, examples, and links ELSE select another type. Context default
  5. TEC-005 Prerequisites before steps IF a task requires permissions, state, tools, knowledge, inputs, or safety conditions, THEN list them before step 1 ELSE state that none are required only when useful. Hard constraint
  6. TEC-006 Imperative starts the step IF the reader performs a procedural action, THEN start with a specific imperative verb and name the object ELSE name the actual actor. Context default
  7. TEC-007 Expected result follows uncertain action IF a step’s success is not self-evident, THEN state the observable result immediately after it ELSE retain. Context default
  8. TEC-008 Recovery follows known failure IF a step has a common or consequential failure mode, THEN provide symptom, cause or check, corrective action, and verification ELSE retain. Context default