All rules

Date without a year

date-without-yearon by default (info)Japanese / English

A date with no year where the document's dates span years or cross a new year

Example

Flagged
# Schedule - October 15, 2025: last year's briefing - October 14, 2026: briefing - October 28: results sent
What chaff prints
5:3 "October 28" has no year, and the document's dates run from 2025 to 2026, so the year is unclear
Fixed
# Schedule - October 15, 2025: last year's briefing - October 14, 2026: briefing - October 28, 2026: results sent
What chaff prints
no finding

How to fix

Write the year (January 15, 2027).

Why it matters

When the document's dates span more than one year (some in 2025, some in 2026), a date without a year leaves the reader unable to tell which year it means. The same holds where the dates cross the turn of a year (December and January). When every dated date is in one year, the reader can tell the year without it.

What it does not flag

A document whose dated dates are all in one year is not reported, since the reader can tell the year. A document that writes the year once and the rest as month and day (more yearless dates than dated ones) is a style, and not reported either. In both, a date across the turn of a year is still reported. A date in a section whose heading names the year ("2026 events", "FY27-Q2") takes its year from the heading and is not reported. Nor is a month and day that carries an account forward right after two dates of one year ("April 9, 1952 … April 21, 1952 … on April 30 … May 12"). In minutes, a letter, a speech or a transcript (the genres of the dated_genres option) that carry their own date at the top ("January 17, 2024" under the title), a day and month within five months of that date takes the year that puts it there, and is not reported. Below a line that is only a date further down ("WEDNESDAY, MAY 21, 2025", each sitting of a record of several), a day and month is read from that line's date instead; a date-only line that goes back in time (a report's date of last release) is not a sitting's. Nor is a date of no one year, such as a day that comes round every year ("every year on April 1", "each December 31", "March 1 of each calendar year", "the fiscal year end is March 31", "April 1 to March 31 of the following year", a whole year such as "January 1 to December 31") and a date in a worked example ("for example, a request received on April 1", the dates after "e.g.", a list item opening with "If" just after an example's item). A document with no dated date, and month-only and year-only dates, are not checked.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: date-without-year — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax date-without-year --why "reason"
Turn it off for the team (chaff.yaml)
rules: date-without-year: off
Technical details
Layer
L1
Status
stable
Severity
info
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).

strictwarning
normalinfo
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

"{date}" has no year, and the document's dates run from {from} to {to}, so the year is unclear

"{date}" has no year, and the dates around it cross the turn of a year

Rewrite depth (chaff fix-plan --depth): light — words and sentences; the structure and the voice stay

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