All rules

A provision's verb form is not the one the house rule uses

requirement-modalwhen listed in chaff.yamlJapanese / English

A requirement's verb ("must", "shall") that the team's house rule does not use

Example

Flagged
The supplier shall deliver the goods within 30 days.
What chaff prints
1:14 Write "must" instead of "shall"
Fixed
The supplier must deliver the goods within 30 days.
What chaff prints
no finding
chaff.yaml used for this example
genre: technical/spec options: requirement-modal: shall: must

How to fix

Decide whether the sentence states an obligation and write "must" ("must not" for a prohibition). Keep "shall" only where a law you quote uses it.

Why it matters

A standard or a set of rules tells a requirement from a recommendation and a permission by the form of the verb, and the reader takes from it whether something must be done, should be done or may be done. JIS Z 8301:2019 does not use 「…すべきである」 for a recommendation or a closing 「…できる」 for a permission or a possibility; it uses 「…することが望ましい」, 「…してもよい」 and 「…可能である」. In English, the Federal Plain Language Guidelines use "must" for an obligation instead of "shall", which readers and courts take in more than one way. Both are a team's choice, so the rule checks only what options turn on.

What it does not flag

Nothing is checked until options pick a standard. In Japanese, できる is checked only at the end of a sentence, since JIS allows it mid-sentence for an ability.

Turning it off or relaxing it

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

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, literature/fiction, literature/essay, literature/poetry, literature/play, speech/address, speech/transcript

Genres

Message

Write "{preferred}" instead of "{matched}"

Sources

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