SYN-014
Hard constraint
layer: sentence
Avoid ambiguous scope of only, not, and even
IF a focusing or negative operator can modify more than one constituent, THEN move it directly before the intended scope ELSE retain.
Why the rule exists
Operator position can change the truth conditions of a sentence.
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
- operator.token in [only, not, even, almost, nearly]
- operator.scope_ambiguous eq true
Facts this rule reads
| Path | Source |
|---|---|
operator.token |
You supply it |
operator.scope_ambiguous |
You supply it |
Then
- move — target
operator
Else
- retain — target
current_text, No triggering condition is present.
LAKA
- Smallest sufficient intervention
- Yes
- Primary axes
Sources
-
Garner's Modern English Usage — Bryan A. Garner
Modern American usage and editorial judgment. -
The Copyeditor's Handbook — Amy Einsohn; Marilyn Schwartz
Professional copyediting practice, grammar, and editorial process. -
The Sense of Style — Steven Pinker
Reader-centered clarity informed by linguistics and cognition.
The raw rule record
Verbatim from 09-syntax-and-sentence-rules.json. Also available at /v1/rules/SYN-014.
{
"id": "SYN-014",
"name": "Avoid ambiguous scope of only, not, and even",
"domain": "syntax",
"layer": "sentence",
"strength": "hard_constraint",
"human_logic": "IF a focusing or negative operator can modify more than one constituent, THEN move it directly before the intended scope ELSE retain.",
"when": {
"all": [
{
"path": "operator.token",
"operator": "in",
"value": [
"only",
"not",
"even",
"almost",
"nearly"
]
},
{
"path": "operator.scope_ambiguous",
"operator": "eq",
"value": true
}
]
},
"then": [
{
"action": "move",
"target": "operator",
"destination": "immediately_before_intended_scope"
}
],
"else": [
{
"action": "retain",
"target": "current_text",
"reason": "No triggering condition is present."
}
],
"unless": [],
"because": "Operator position can change the truth conditions of a sentence.",
"diagnostics": [],
"examples": {},
"source_ids": [
"BK-003",
"BK-007",
"BK-008"
],
"laka": {
"smallest_sufficient_intervention": true,
"primary_axes": [
"scope",
"depth",
"magnitude",
"reversibility"
]
}
}
Other syntax rules
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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