All rules

Heading echoed

heading-echoon by default (info)Japanese / English

A first sentence that only repeats the heading above it

Example

Flagged
## How to claim expenses This section explains how to claim expenses. Attach the receipt and submit it by the end of the month.
What chaff prints
3:1 The first sentence repeats the heading "How to claim expenses"
Fixed
## How to claim expenses Attach the receipt and submit it by the end of the month.
What chaff prints
no finding

How to fix

Start from what the heading promised, not from the heading itself.

Why it matters

When the first sentence repeats the heading, the reader gains nothing by reading on. A sentence that states a figure the heading does not have (an amount, a number, a date) gives the content even when it repeats the heading, and is not reported.

What it does not flag

Headings too short to measure an overlap are not checked. A number label at the head of a heading (Step 3:, Example 4:, 1., Chapter 2:) is not counted in the overlap. A sentence that sends the reader to where the content lives (a link, a web address, a file path in code, as in The full reference is in `docs/api.md`.) is not an echo. A name alone (a letterhead) or a field and its value (a contact name after its label) right under the heading is the top of a form, not an echo. A line that only names what the heading is about (Annual maintenance schedule under About the annual maintenance schedule, or a list titled with the quoted heading) is the label of a link or an attachment, not an echo. A field label opening the line (the Current project status field under Project Status) belongs to a report template, so only the value is measured against the heading.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: heading-echo — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax heading-echo --why "reason"
Turn it off for the team (chaff.yaml)
rules: heading-echo: off
Technical details
Layer
L1
Status
stable
Severity
info
Languages
Japanese and English
Suited to
blog, business, technical, 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).

strictreported when the first sentence overlaps the heading by 45% or more
normalreported when the first sentence overlaps the heading by 60% or more
relaxedreported when the first sentence overlaps the heading by 75% or more

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, academic/paper, speech/address
Turned off by the genre in
legal/contract, legal/statute, legal/judgment, legal/patent, docs/manual, docs/faq, docs/glossary, literature/fiction, literature/essay, literature/poetry, literature/play, speech/transcript

Genres

Message

The first sentence repeats the heading "{heading}"

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