All rules

A date out of order in a schedule

date-orderon by defaultJapanese / English

One date out of order in an itinerary, a schedule or a changelog's headings

Example

Flagged
- 1 April 2026: depart - 3 April 2026: site visit - 5 March 2026: meeting - 10 April 2026: return
What chaff prints
3:3 5 March 2026 breaks the order of the dates around it (after 3 April 2026)
Fixed
- 1 April 2026: depart - 3 April 2026: site visit - 5 April 2026: meeting - 10 April 2026: return
What chaff prints
no finding

How to fix

Check the date. Correct it if it is a typo, or move the row if the order is wrong.

Why it matters

In a list or a table of dates, such as an itinerary or milestones, or in a run of headings at one depth, such as the release headings of a changelog, one date earlier than the one before it makes the reader check whether it is a typo or a swapped row. The direction of the list (oldest or newest first) is taken from most of its steps, and only a date against it is pointed out. A list where no more than half of the dates follow that direction is taken as sorted by something else, such as a name or a version, and nothing is said.

What it does not flag

A list where no more than half of the dates follow one direction is taken as sorted by something else, and nothing is said.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: date-order — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax date-order --why "reason"
Turn it off for the team (chaff.yaml)
rules: date-order: 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
dates

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

{date} breaks the order of the dates around it (after {previous})

{date} breaks the order of the dates after it (before {next})

Sources

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