EDT-015
Hard constraint
layer: document
Record unresolved risk
IF deadline or authority prevents resolving a material ambiguity, factual gap, accessibility barrier, or legal issue, THEN record it with owner and consequence; do not silently approve ELSE retain.
Why the rule exists
Visible unresolved risk is safer than false completion.
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
- edit.material_issue_unresolved eq true
- ANY
- edit.deadline_blocks_fix eq true
- edit.authority_blocks_fix eq true
Facts this rule reads
| Path | Source |
|---|---|
edit.material_issue_unresolved |
You supply it |
edit.deadline_blocks_fix |
You supply it |
edit.authority_blocks_fix |
You supply it |
Then
- record — target
edit.risk_register - withhold — target
edit.unqualified_approval
Else
- retain — target
current_text, No triggering condition is present.
LAKA
- Smallest sufficient intervention
- Yes
- Primary axes
Sources
-
The Copyeditor's Handbook — Amy Einsohn; Marilyn Schwartz
Professional copyediting practice, grammar, and editorial process. -
Managing Your Documentation Projects — JoAnn T. Hackos
Planning, resourcing, and managing documentation systems.
The raw rule record
Verbatim from 19-editing-diagnostic-rules.json. Also available at /v1/rules/EDT-015.
{
"id": "EDT-015",
"name": "Record unresolved risk",
"domain": "editing",
"layer": "document",
"strength": "hard_constraint",
"human_logic": "IF deadline or authority prevents resolving a material ambiguity, factual gap, accessibility barrier, or legal issue, THEN record it with owner and consequence; do not silently approve ELSE retain.",
"when": {
"all": [
{
"path": "edit.material_issue_unresolved",
"operator": "eq",
"value": true
},
{
"any": [
{
"path": "edit.deadline_blocks_fix",
"operator": "eq",
"value": true
},
{
"path": "edit.authority_blocks_fix",
"operator": "eq",
"value": true
}
]
}
]
},
"then": [
{
"action": "record",
"target": "edit.risk_register",
"fields": [
"issue",
"consequence",
"owner",
"recommended_action"
]
},
{
"action": "withhold",
"target": "edit.unqualified_approval"
}
],
"else": [
{
"action": "retain",
"target": "current_text",
"reason": "No triggering condition is present."
}
],
"unless": [],
"because": "Visible unresolved risk is safer than false completion.",
"diagnostics": [],
"examples": {},
"source_ids": [
"BK-007",
"BK-027"
],
"laka": {
"smallest_sufficient_intervention": true,
"primary_axes": [
"scope",
"depth",
"magnitude",
"reversibility"
]
}
}
Other editing rules
- EDT-001 Do not polish before purpose is stable IF audience, purpose, outcome, or controlling idea is unresolved, THEN perform strategy or developmental editing before line editing ELSE continue. Hard constraint
- EDT-002 Separate editing passes IF one pass attempts strategy, structure, evidence, style, mechanics, and proofing simultaneously, THEN separate the passes ELSE retain. Context default
- EDT-003 Protect meaning before changing form IF an edit changes denotation, scope, polarity, actor, time, modality, evidence strength, or legal effect without authorization, THEN reject or escalate it ELSE retain. Hard constraint
- EDT-004 Apply smallest sufficient intervention IF a diagnosed failure can be fixed at a lower layer without creating another failure, THEN use that lower-layer fix ELSE escalate one layer. Context default
- EDT-005 Track the reason for substantive edits IF an edit changes argument, order, emphasis, evidence, obligation, or reader action, THEN attach a concise rationale ELSE silent mechanical correction is allowed by policy. Context default
- EDT-006 Style sheet records local decisions IF spelling, capitalization, hyphenation, numerals, terminology, citation, locale, or exceptions repeat, THEN record the decision in a style sheet ELSE retain. Context default
- EDT-007 Query instead of guessing intent IF two plausible interpretations require different edits and context cannot resolve them, THEN ask a focused query ELSE edit. Hard constraint
- EDT-008 Verify facts outside copyediting scope IF names, dates, numbers, citations, quotations, links, calculations, or cross-references are present, THEN verify according to assignment scope and flag the rest ELSE retain. Context default