All rules

The outline is unlike human articles

ai-structureon by default (info)Japanese / English

An outline that lies past human articles on several structure measures at once

Example

Flagged
# Rethinking our demo ## Challenges ### Fewer people came Attendance dropped. ### The same people presented Two people gave most of the talks. ### Topics were far from work Most topics had nothing to do with our work. ## Solutions ### Pick topics from work We chose topics from the week's work. ### Keep it short We cut each slot to five minutes. ### Write it down We kept notes of every talk. ## Lessons learned - **Systems**: willpower alone does not last - **Small steps**: anyone can give a short talk
What chaff prints
3:1 3 structure measures lie past 90% of human articles (2 needed): sections of one or two paragraphs, headings split into three, list items opening with a bold label
Fixed
# Our demo came back when we shortened the slots Attendance dropped, and the same two people gave most of the talks, mostly on topics far from our work. ## Short talks on the week's work So we chose topics from the week's work, cut each slot to five minutes and kept notes. What kept it going was the format, not willpower.
What chaff prints
no finding
chaff.yaml used for this example
genre: blog/tech rules: ai-structure: strict

How to fix

Run `chaff outline` to see each measure against human articles, then rewrite from the outline. Merge thin sections, drop a heading over a single paragraph, split only as many ways as the content has, and cut a closing that only restates the body.

Why it matters

Generated articles show their shape in the outline before the sentences, with a heading every paragraph, headings split into three, bold-label lists, sections of one size, and a closing that restates the body. Each of these turns up in human articles too. chaff compares measures such as heading density and section length variation with articles written before generated text was common, and counts how many lie past 90% of those articles. **Even then it does not say the text was generated.** It marks an outline to rethink.

What it does not flag

A document without headings is not checked. A measure the document is too small for (a short text, few sections or lists) is not counted. The baseline is blog articles, so business, legal, documentation, academic and speech genres do not run this rule (`chaff outline` and `chaff fix-plan` measure the structure in any genre).

Turning it off or relaxing it

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

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 once 2 measures lie past 90% of human articles
normalreported once 3 measures lie past 90% of human articles
relaxedreported once 4 measures lie past 90% of human articles

By genre

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

Genres

Message

{count} structure measures lie past 90% of human articles ({limit} needed): {word}

Rewrite depth (chaff fix-plan --depth): structure — sections, headings and paragraphs are reorganised

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