All rules

An absolute rule with an exception written elsewhere

absolute-exceptionon by defaultJapanese / English

A rule said to have no exception ("must always") that another part excepts

Example

Flagged
## 1. Receipts Staff must always send the receipt for every expense to the finance team. ## 2. Small expenses Staff need not send the receipt to the finance team for an expense under ten dollars, except for travel.
What chaff prints
3:1 This says "always", but line 7 makes an exception ("except") for the same act
Fixed
## 1. Receipts Except as set out in section 2, staff must always send the receipt for every expense to the finance team. ## 2. Small expenses Staff need not send the receipt to the finance team for an expense under ten dollars, except for travel.
What chaff prints
no finding

How to fix

Either add the exception to the absolute rule ("except as set out in section 5") or remove the exception.

Why it matters

A rule stated without exception ("all staff must", "must never") that a later article or paragraph makes an exception to ("except", "unless") misleads a reader who stops at the rule. It happens when an exception is added later or copied from another document. An exception in the same article or paragraph is the rule's own proviso and is not reported. Whether two sentences are about the same act is read from the content words they share.

What it does not flag

An exception in the same article or paragraph (a proviso), an absolute rule that carries its own exception, and an exception that does not repeat most of the rule's content words are not reported. A statement with no obligation word (must, shall, must not) and words inside quotation marks are not read.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: absolute-exception — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax absolute-exception --why "reason"
Turn it off for the team (chaff.yaml)
rules: absolute-exception: off
Technical details
Layer
L3
Status
stable
Severity
warning
Languages
Japanese and English
Suited to
business, technical, blog, legal, docs, academic, literature, speech
Reads from the document
structure, pos

Levels

Set a level for this rule under rules in chaff.yaml. With nothing set, it runs at the level its genre gives it (see By genre below).

stricterror
normalwarning
relaxedinfo

This rule has no limit to count to. A level sets how a finding is marked: relaxed keeps the finding and marks it a step lower.

By genre

Runs by default in
technical/spec, technical/readme, blog/tech, blog/essay, blog/owned-media, business/proposal, business/report, business/email, business/press-release, business/meeting-notes, legal/contract, legal/statute, legal/judgment, legal/patent, docs/manual, docs/faq, docs/glossary, academic/paper, speech/address, speech/transcript
Turned off by the genre in
literature/fiction, literature/essay, literature/poetry, literature/play

Genres

Message

This says "{word}", but line {otherLine} makes an exception ("{exception}") for the same act

This page is built from the rule's definition file:packages/chaff/rules/absolute-exception.yaml