# Tom's writing checks

These checks document Tom's writing preferences and the patterns his tools flag. Use them alongside the author's own approved examples and standards. A different writer may make different choices.

Published revision: 4b98b5003337abe23e14f3348f47250fd75be555dc2c1cb936b257284a480141
Source revision: 782f4dd09264de95b609e1b7204aae51c6f39a288b8e183dc8b8c2af778be1b1
Updated: 2026-11-06T18:02:04.155Z

## How to use these checks

- Plan the purpose, claims, audience and structure before drafting. Use representative examples across the kinds of work the author needs.
- Preserve the author's meaning, stance, qualifications and useful variation when revising.
- A match identifies text to inspect. Read its context and legitimate-use conditions before deciding what to change.
- Keep exact author requirements separate from contextual editorial judgment. Do not turn every warning into a ban.
- Repair the decision or production method behind a recurring defect. Replacing punctuation or substituting a synonym can leave the same problem in place.
- An empty scan establishes only that the available detectors found no matches. Evaluate the complete work against its purpose and source examples.

## Coverage

107 shared catcher entries; 52 site-linter entries; 78 entries in the editorial reference.

- The editorial reference includes contextual requirements that have no executable detector. The shared catcher's hardBan count is not the full inventory of author requirements.
- Shared regex patterns are included where maintained. Heuristic names and site descriptions are metadata, not runnable detector implementations or a complete standalone linter.
- The shared catcher and site linter have overlapping coverage and different severities. Their entries are retained separately rather than presented as interchangeable checks.
- This snapshot removes private provenance and inaccessible local references. Regeneration follows changes to the maintained owners; the revision identifies the published content.
- The JSON form of this reference (`/api/writing-rules`) also carries each check's original source wording.

## Detector reference

### Em dash

ID: shared:em-dash
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Restructure the sentence with a colon, semicolon, comma, or participial phrase. The em dash gives prose an ad-copy cadence Tom never uses.

Example of the pattern: `the result—a clean break—held`

Maintained candidate pattern:
```text
—
```
Flags: g

### Contrastive-negation template

ID: shared:not-just-but
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

**Lead with the positive claim.** Delete the negated clause and read what remains; if the positive statement stands on its own, keep only that.

Examples of the template:

- “not just a tool, but a way of thinking”
- “it's not about speed, it's about depth”

**Legitimate use:** a single genuine correction of a real misconception can be legitimate. Flagging it is still correct, and the agent keeps it only when the negated belief is one a reader actually holds.

Maintained candidate pattern:
```text
\bnot\s+(?:just|merely|only|simply)\b[^.!?]{0,120}\bbut\b|\bit'?s\s+not\s+(?:just|about)\b[^.!?]{0,80}\bit'?s\b
```
Flags: gi

### Contrastive negation (semicolon hinge)

ID: shared:semicolon-contrastive-negation
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

The semicolon variant of contrastive negation (“X does not Y; it Z”, “is not A; it is B”) is the form that most often slips past a fast read. After any rewrite, grep for `not ...; it ` (the applicable writing criterion no-contrastive-negation).

Restructure the grammar in one of these ways:

- lead with the positive claim;
- lay out the competing territories so the reader feels the gap;
- give a concrete illustration.

Cut the negation entirely when the reader was never going to hold the wrong belief.

Examples of the pattern:

- “The map does not store the route; it stores the rule.”
- “Mass is not intensive; it is extensive.”

**The ban targets the grammatical template.** Correcting a genuine misconception remains allowed (the applicable writing criterion): when the reader truly holds a wrong belief, a “common belief X; the truth is Y” correction is allowed once the grammar has been restructured. Flagging is still correct; keep the correction only when the negated belief is one a reader actually holds, and prefer leading with the positive claim.

A quoted source or a `[cite:...]` attribution is exempt and does not fire.

Maintained candidate pattern:
```text
\b(?:does|do|did|is|are|was|were|isn'?t|aren'?t|won'?t|can'?t|couldn'?t|wasn'?t|weren'?t)\s+not\b[^.;!?]{0,80};\s+it(?:'?s)?\b
```
Flags: gi

Quotations are exempt.

### Contrastive negation (cluster)

ID: shared:contrastive-negation-cluster
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (contrastiveNegationCluster)

Repeated negation hinges make prose think only by opposing abstractions. The hinges include “not X”, “not merely”, “more than just”, and “rather than”. **Name the actual force** instead.

One isolated necessary negation is fine. The cluster detector fires only when the frame recurs.

### Abstraction denigration

ID: shared:abstraction-denigration
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Abstraction is epistemically essential: it is a real pattern expressible in many concrete ways. Describe what the abstraction **is** and what it does. Use “pair the concept with a concrete example”, never “make the abstract concrete”.

Examples of the pattern:

- “not just abstract theory”
- “we make the abstract concept concrete”

Maintained candidate pattern:
```text
\b(?:mere|merely|purely|empty|sterile|vague|bloodless)\s+abstraction\b|abstraction\s+for\s+abstraction'?s\s+sake|\bnot\s+(?:just\s+|merely\s+)?(?:an?\s+)?abstract(?:ion)?\b|\bmore\s+than\s+(?:mere\s+)?(?:theory|abstraction)\b|(?:make|turn|render)s?\s+(?:the\s+|an?\s+)?abstract\s+\w+\s+(?:concrete|tangible|real)
```
Flags: gi

### Significance scaffold (matters because)

ID: shared:matters-because
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Name the work the idea does: it distinguishes, protects, reveals, limits, connects, prevents, or makes something visible. State that directly.

Maintained candidate pattern:
```text
\bmatters\s+because\b|\bmatter\s+because\b
```
Flags: gi

### Significance caption (that matters)

ID: shared:that-matters
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Do not caption importance. State the consequence, constraint, distinction, or mechanism that makes it weigh.

Example of the pattern: “The symmetry is exact, and that matters.”

Maintained candidate pattern:
```text
\bthat\s+matters\b|\bthis\s+matters\b|\bwhy\s+this\s+matters\b|\bwhat\s+matters\s+is\b
```
Flags: gi

### Coy reason scaffold

ID: shared:for-a-reason
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

State the reason in the same sentence. Do not make the reader wait for it.

Maintained candidate pattern:
```text
\bfor\s+a\s+reason\b
```
Flags: gi

### Second-person capability frame (check for reflex use)

ID: shared:you-can
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

**“You can” is fine when it tells the reader something they really can do** (“You can read a matrix as a map”). Rewrite only reflex use:

- the same capability frame across neighboring sentences;
- a promised capability where the text should say what happens;
- a definition padded with the reader's capability.

Write each sentence from its own idea so the syntax varies. Swapping in another stock frame such as “lets you”, or a command, does not repair it.

Examples of reflex use:

- “You can inspect each claim. You can compare the sources. You can save the result.”
- “Save a record so you can compare the results”

**Acceptable uses:** a single “you can” stating a real option the reader has is acceptable. Negative forms such as cannot, can't, can not, can never, and can no longer express a limit and are different constructions. Preserve verbatim quotations and executable code.

Maintained candidate pattern:
```text
\byou\s+can\b(?!['’]|\s+(?:no\s+longer|never)\b|\s+not\b(?!\s+only\b))
```
Flags: gi

### "X is Y you can [verb]" sentence

ID: shared:is-something-you-can
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

State the same definition or capability while preserving its qualifications and explanatory purpose. Apply the applicable writing criterion.

> Before: “The report is a record you can review after the run”
>
> After: “The report remains available for review after the run.”

Adding a command changes this statement into an instruction and is not a faithful wording repair.

Another example of the pattern: “Your voice is a set of claims you can inspect”

**What it matches:** this rule fires only on a definition padded with the reader's capability (“X is Y you can verb”). Plain uses of “you can” belong to the `you-can` watchlist rule.

Maintained candidate pattern:
```text
\bis\s+(?:(?!\b(?:that|to|where|when|why|how|whether|if|because|so|as|while|although|though|unless|until|once|after|before)\b|[.!?,;:\n()[\]{}]).){1,120}(?<!\band\s)(?<!\bbut\s)(?<!\bor\s)\byou\s+can\b(?!['’]|\s+(?:no\s+longer|never)\b|\s+not\b(?!\s+only\b))\s+[a-z][a-z'-]*\b
```
Flags: gi

### Name introduced without quotation marks or bold

ID: shared:unmarked-name
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Set the name off with quotation marks or bold (the applicable writing criterion): a check called the “because” test, a form called the “singular possessive.”

**Keep a coined name marked on every later use too.** This catcher only sees the introduction, so search the file for the bare name.

Examples of an unmarked introduction:

- “A check called the because test uses that difference”
- “a form called the singular possessive”
- “Using only the results that fit a claim is called cherry-picking.”

**Uses that stay:**

- Other senses of the verb: called for, called the police, called the new plan a bargain, a cat named Pip.
- Names inside quoted source text or test passages stay as printed.
- A name already set off with bold markup (`<strong>`, `**`) or code formatting passes, even though the pattern sees a letter after the article.

Maintained candidate pattern:
```text
\b(?:[Cc]alled|[Kk]nown\s+as|[Nn]icknamed|[Rr]eferred\s+to\s+as)\s+(?:(?:the|a|an)\s+)?(?!(?:for|on|off|out|up|back|in|to|by|after|upon|it|them|him|her|me|us|you|this|that|these|those|its|his|their|my|our|your)\b|(?:the|a|an)\s+[^a-z\s])[a-z]
```
Flags: g

### Stock numerical advice that hides the intended action

ID: shared:prescriptive-singular
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Explain the intended choice and the evidence that finishes the task. **Read the surrounding passage to decide what it asks for:** priority, a manageable trial, coverage, comparison, or a finished result.

- For priority, choose the useful task that is feasible now.
- For a trial, use a representative case that can expose a failure.
- For a summary, include what changes the reader's decision.

When that is the intended lesson, “Choose one thing and make it work” might become “Choose the recurring task that costs you the most time and test the automation on your next real request.”

Do not replace one with a/an, swap digits for words, substitute a fixed synonym, or invent a selection criterion. Rewrite the complete thought and preserve supported meaning.

Examples of the pattern:

- “Find one way to improve your workflow”
- “Choose ONE thing and make it work”
- “Do the one thing”
- “Start with one small action”

**Quantities that stay** are those that carry facts or necessary constraints: mathematics, dates, versions, measured totals, a stated schema or format, per-item allocation, capacity, batching, an explicit comparison, or a demonstrated test design. Ordinary idioms, factual enumerations, and quoted source text also stay.

A numbered list alone does not justify imposing its length. Repeated arbitrary quotas and fixed recipe counts need semantic review even when the catcher finds no match.

Maintained candidate pattern:
```text
\b(?![^.!?;\n]{0,150}\b(?:per|at\s+a\s+time|because|so\s+that|rather\s+than|instead\s+of|compared\s+with|versus|vs\.?|requires?|required|limit|capacity|slots?|fields?|schema|format)\b)(?:(?:find|choose|pick|do|make|take|focus\s+on|start\s+with)\s+(?:(?:just|only|the)\s+)?(?:one|single|1)\s+(?:(?:small|tiny|concrete|meaningful|focused|clear|simple|easy|quick|smart|key|practical|useful|grounded|honest|real|specific|deliberate|important|valuable|short|main|best)\s+)?(?:thing|way|action|step|move)\b|the\s+(?:one|single)\s+(?:thing|action|move|step|question|outcome|project|change|habit)\b|single\s+most\s+important\b)
```
Flags: gi

### Quantified advice or output quota needing a reason

ID: shared:numeric-prescription
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Explain the intended choice and the evidence that finishes the task. **Read the surrounding passage to decide what it asks for:** priority, a manageable trial, coverage, comparison, or a finished result.

- For priority, choose the useful task that is feasible now.
- For a trial, use a representative case that can expose a failure.
- For a summary, include what changes the reader's decision.

When that is the intended lesson, “Choose one thing and make it work” might become “Choose the recurring task that costs you the most time and test the automation on your next real request.”

Do not replace one with a/an, swap digits for words, substitute a fixed synonym, or invent a selection criterion. Rewrite the complete thought and preserve supported meaning.

Examples of quantified advice or output quotas:

- “Write three takeaways from the meeting”
- “Draft 12 ideas for the launch”
- “List twenty-five lessons from the trial”

**Quantities that stay** are those that carry facts or necessary constraints: mathematics, dates, versions, measured totals, a stated schema or format, per-item allocation, capacity, batching, an explicit comparison, or a demonstrated test design. Ordinary idioms, factual enumerations, and quoted source text also stay.

A numbered list alone does not justify imposing its length. Repeated arbitrary quotas and fixed recipe counts need semantic review even when the catcher finds no match.

Maintained candidate pattern:
```text
\b(?![^.!?;\n]{0,150}\b(?:per|at\s+a\s+time|because|so\s+that|rather\s+than|instead\s+of|compared\s+with|versus|vs\.?|requires?|required|limit|capacity|slots?|fields?|schema|format)\b)(?:(?:choose|pick|select|find|identify|name|list|write|draft|generate|create|produce|give|ask|offer|return|suggest|recommend|brainstorm|collect|capture|save|record|keep|try|test|plug\s+in|start\s+with|focus\s+on|come\s+up\s+with)\s+(?:(?:just|only|exactly|up\s+to|no\s+more\s+than|at\s+least|at\s+most|the\s+next|your\s+next)\s+)?(?:\d+|(?:twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)(?:[-\s](?:one|two|three|four|five|six|seven|eight|nine))?|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|hundred|thousand)(?:(?:\s+(?:to|or)\s+|[–-])(?:\d+|(?:twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)(?:[-\s](?:one|two|three|four|five|six|seven|eight|nine))?|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|hundred|thousand))?\s+(?:(?:small|tiny|concrete|meaningful|focused|clear|simple|easy|quick|smart|key|practical|useful|grounded|honest|real|specific|deliberate|important|valuable|short|main|best)\s+){0,3}(?:things?|ways?|actions?|steps?|moves?|tasks?|projects?|workflows?|habits?|questions?|outcomes?|changes?|improvements?|examples?|ideas?|options?|alternatives?|takeaways?|lessons?|points?|insights?|reasons?|sentences?|paragraphs?|bullets?|recommendations?|priorities|goals?|problems?|checks?|details?|values?|numbers?|connections?|opportunities|axes)\b(?!\s+(?:of|per|each|at\s+a\s+time)\b)|(?:for|choose|select|review)\s+(?:the\s+)?top\s+(?:\d+|(?:twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)(?:[-\s](?:one|two|three|four|five|six|seven|eight|nine))?|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|hundred|thousand)(?:(?:\s+(?:to|or)\s+|[–-])(?:\d+|(?:twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)(?:[-\s](?:one|two|three|four|five|six|seven|eight|nine))?|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|hundred|thousand))?\s+(?:(?:small|tiny|concrete|meaningful|focused|clear|simple|easy|quick|smart|key|practical|useful|grounded|honest|real|specific|deliberate|important|valuable|short|main|best)\s+){0,3}(?:things?|ways?|actions?|steps?|moves?|tasks?|projects?|workflows?|habits?|questions?|outcomes?|changes?|improvements?|examples?|ideas?|options?|alternatives?|takeaways?|lessons?|points?|insights?|reasons?|sentences?|paragraphs?|bullets?|recommendations?|priorities|goals?|problems?|checks?|details?|values?|numbers?|connections?|opportunities|axes)\b|(?:must|should|need\s+to)\s+(?:\w+\s+){1,6}?(?:at\s+least|at\s+most|no\s+more\s+than)\s+(?:\d+|(?:twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)(?:[-\s](?:one|two|three|four|five|six|seven|eight|nine))?|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|hundred|thousand)(?:(?:\s+(?:to|or)\s+|[–-])(?:\d+|(?:twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)(?:[-\s](?:one|two|three|four|five|six|seven|eight|nine))?|one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|fourteen|fifteen|sixteen|seventeen|eighteen|nineteen|hundred|thousand))?\b|(?:(?:just|only)\s+)?one\s+(?:small|tiny|concrete|meaningful|focused|clear|simple|easy|quick|smart|key|practical|useful|grounded|honest|real|specific|deliberate|important|valuable|short|main|best)\s+\w+|smallest\s+(?:useful|possible|viable|honest|practical|complete|next)\b)
```
Flags: gi

### Figurative "buys/purchases" payoff

ID: shared:buys-payoff
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Name what actually becomes available.

> Before: “The Jacobian buys you the easy version”
>
> After: “For continuous-time dynamics near a fixed point, the Jacobian describes how a small displacement changes the velocity.”

Another example of the pattern: “that buys us a closed-form solution”

**Literal commerce is fine** (“buys a house”, “purchased the dataset license”). The rule fires on the figurative payoff sense.

Maintained candidate pattern:
```text
\b(?:buys?|bought)\s+(?:you|us|me|them|the|some|a\s+lot|enough|little|nothing)\b|\bpurchas(?:e|es|ed)\s+(?:you|us|the|some)\b|\bthat\s+buys\b
```
Flags: gi

### Figurative financial language for intellectual value

ID: shared:financial-metaphor
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

**Hard ban in all authored prose:** financial language used to describe intellectual or pedagogical value. The ban covers the whole financial family, of which “buys you” is one member. State the concrete capability or consequence instead.

**The banned family includes:**

- paying rent
- payoff, pays off
- repays the effort
- pays dividends
- price of admission
- the currency of X
- cashing in
- getting a result for free
- a property that earns its name; earns its place or earns its keep
- spend attention
- cognitive budget or cognitive tax
- a lesson, test, or answer that “pays” points or XP

**Rewrites from the source.** For points, say what gives them.

| Flagged | Rewrite |
| --- | --- |
| “Full tests pay XP for the habits that raise your score” | “Full tests give XP for the habits that raise your score” |
| “a wrong answer never pays” | “a wrong answer gets no XP” |
| “They keep paying rent” | “they have kept solving new problems in every century since” |
| “the payoff is leverage: prove one theorem and every system inherits it” | “a theorem proved once about the pattern holds in every system wearing that pattern” |
| “you get the second theorem for free” | “the second theorem follows at once” |

**What stays:**

- **Ordinary idioms of effort.** Investing or spending time, energy, or effort is common usage and stays.
- **Literal money.** A tenant paying rent, a fund paying dividends, a museum's price of admission, a free download or free tier, cashing in a bond, wages earned, a one-time purchase (“you pay once”).
- **Points and XP.** Earning points or XP is the game's own verb and stays; only “pay” is flagged for points.
- **Terms of art.** Payoff matrix, payoff function, and payoff table in game theory (excluded by the pattern).
- **Mathematics literally about money.** Examples such as bank deposits and withdrawals as integers.

Other examples flagged by this rule:

- “groups keep paying rent”
- “this subject repays the effort”
- “abstraction pays dividends later”
- “counting one hands you the other for free”

This rule is the sibling and generalization of `buys-payoff`, which keeps its own rule.

#### Background

Added after “keeps paying rent” and “the payoff is leverage” shipped in lesson prose that only the narrower `buys-payoff` regex was guarding.

Maintained candidate pattern:
```text
\bpay(?:s|ing)?\s+(?:rent|dividends|off|for\s+itself|back)\b|\bpaid\s+off\b|\bpayoffs?\b(?!\s+(?:matri(?:x|ces)|functions?|tables?))|\brepays?\s+(?:the\s+)?(?:effort|attention|study|climb|time|reader|investment)\b|\bprice\s+of\s+admission\b|\bcurrency\s+of\b|\bcash(?:es|ed|ing)?\s+in\s+on\b|\bfor\s+free\b|\bearn(?:s|ed|ing)?\s+(?:you|us|(?:its?|their|a)\s+(?:own\s+)?(?:name|keep|place|spot|seat))\b|\bspend(?:s|ing)?\s+(?:your\s+|the\s+|more\s+)?(?:attention|focus)\b|\b(?:attention|cognitive|complexity)\s+(?:tax|budget|currency)\b|\b(?:pay(?:s|ing)?|paid)\s+(?:(?:out|you|extra|more|bonus)\s+)?(?:xp|points?|experience\s+points)\b|\b(?:answers?|questions?|tests?|retakes?|lessons?|habits?|success(?:es)?|takeaways?|quiz(?:zes)?|exercises?|drills?|practice)\s+(?:(?:never|only|always|also)\s+)?pays?\b
```
Flags: gi

### Compounding claimed without actual exponential growth

ID: shared:misapplied-compounding
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (misappliedCompounding)

**What compounding means.** In growth claims, use “compounding” only for actual exponential growth: successive gains proportional to the accumulated amount.

**What does not establish it.** Feedback, recursion, reuse, persistence, and improvements that help later improvements do not establish compounding. Neither does a number, or the words exponential, multiplicative, recursive, or reinvested, by themselves. A disclaimer about an irregular rate does not excuse an unsupported growth claim. Growth uses require semantic review and evidence of actual exponential growth.

**How to repair it.** Say what happens: the setup improves over time, saved checks catch more errors, or the assistant handles more tasks. Do not invent a rate or add growth jargon to justify the word. Rewrite the whole thought as finished prose without mentioning the previous wording.

Examples of the pattern:

- “They turn every AI interaction into a compounding improvement”
- “A compounding loop improves the means of making later improvements”
- “The gains compound because each improvement becomes part of the base for the next improvement”

**Literal technical uses stay:** compound interest, chemical compound, compound sentence, compound fracture, and compound microscope.

### Published prose narrates discarded wording

ID: shared:revision-residue
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (revisionResidue)

Write the corrected claim as finished prose. Delete commentary about what an earlier draft said, what the text used to call something, or which wording the editor replaced. The reader needs the subject, and the revision history gets in the way.

Examples of residue:

- “The previous version called this compounding”
- “Rather than calling these gains compounding, think of them as cumulative”
- “This used to say that every interaction compounds”

**Where revision history belongs:** editing instructions, redlines, changelogs, textual scholarship, and explicit comparisons of historical document versions may need it. The defect is residue inside finished reader-facing prose, which should read as if the corrected claim had always been there. Preserve accurate quotations and source discussions.

### "Honest" hedge

ID: shared:honest-hedging
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Drop the hedge and state the caveat.

> Before: “One honest caveat: the model ignores migration”
>
> After: “The model ignores migration, so it overstates local extinction.”

Another example of the pattern: “to be honest, the estimate is rough”

**Legitimate use:** prose genuinely about honesty as a subject (ethics, testimony, an honest day's work).

Maintained candidate pattern:
```text
\b(?:one\s+)?honest\s+(?:caveat|answer|truth|admission|note|confession)\b|\bto\s+be\s+honest\b|\bif\s+I'?m\s+honest\b|\bin\s+all\s+honesty\b|\bhonestly,
```
Flags: gi

### "Has teeth" cliche

ID: shared:has-teeth
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Name the actual force or consequence.

> Before: “The rule has teeth”
>
> After: “Violating the rule voids the warranty.”

Example of the pattern: “the constraint finally has teeth”

**Literal anatomy is fine** (“sharks have teeth arranged in rows”); the clause-end match targets the idiom.

Maintained candidate pattern:
```text
\b(?:has|have|had|with|got|gives?\s+it|giving\s+it)\s+(?:real\s+|some\s+)?teeth\b(?=\s*[.,;:!?)]|\s*$)
```
Flags: gi

### "Doing all the work" / heavy lifting

ID: shared:doing-the-work
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Name the mechanism.

> Before: “The exponent is doing all the work”
>
> After: “The exponent sets how fast error grows, so it alone decides whether the trajectory diverges.”

Examples of the pattern:

- “the normalization term is doing all the work”
- “the prior does the heavy lifting”

Maintained candidate pattern:
```text
\b(?:doing|does|do|did)\s+(?:all\s+|most\s+of\s+)?the\s+(?:heavy\s+lifting|work|hard\s+work)\b|\bheavy\s+lifting\b|\bcarr(?:y|ies|ied|ying)\s+the\s+weight\b|\bpull(?:s|ing)?\s+its\s+weight\b|\bdoing\s+the\s+work\s+here\b
```
Flags: gi

### Empty intensifier (honest/real/true as emphasis)

ID: shared:empty-intensifier
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Using honest, real, true, or genuine as emphasis asserts importance instead of showing it, and the word adds nothing. State the property or mechanism directly. **Keep the word only when it is load-bearing.**

| Flagged | Rewrite |
| --- | --- |
| “the AND gate is the honest middle” | “the AND gate sits in the middle, mixing redundancy and synergy” |
| “the real magic is X” | name X |

Other examples of the pattern:

- “that is where the real magic happens”
- “the truly remarkable part is the symmetry”

**Uses that stay:**

- Technical terms keep the word: real numbers, real analysis, real part, real line, real-valued, real-time, real-world, true positive, true negative, true value, true mean, true north, truth value.
- “Honest” about real honesty (testimony, an honest day's work).
- A “real” or “true” that contrasts with a specific stated illusion the reader holds. Empty emphasis before a framing noun does not qualify.

Maintained candidate pattern:
```text
\b(?:honest|real|true|genuine)\s+(?:middle|magic|question|story|reason|point|picture|deal|winner|culprit|driver|engine|insight|payoff|kicker|takeaway|answer|version|account|reading|cut|split|baseline|hero|star|heart|core|secret|beauty|power|trick|catch)\b|\b(?:genuinely|truly|really|honestly)\s+(?:\w+\s+)?(?:informative|remarkable|powerful|surprising|important|useful|elegant|beautiful|striking|fascinating|crucial|essential|profound|fundamental|insightful|impressive|extraordinary|special|unique|matters?|shines?)\b
```
Flags: gi

### Opaque control-theory jargon (slave/slaved)

ID: shared:opaque-jargon-slaving
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

The synergetics and singular-perturbation term “slave/slaved/slaving” is opaque and off-putting to a beginner. Replace it with plain language for what happens. The fast variable:

- is eliminated;
- settles to a value the slow variable fixes;
- follows the slow variable;
- or is set by it.

Gloss the term of art at most once in a parenthetical, and never lead with it. This is the catchable instance of the broader plain-language-first standard: define or replace specialist jargon at first use.

Examples of the pattern:

- “you may slave the fast variable”
- “the complex is slaved to the substrate”
- “Tikhonov's slaving theorem”

**Prose about actual slavery** (history, ethics, abolition, forced labor) is legitimate and must never be rewritten.

Maintained candidate pattern:
```text
\bslaved\s+to\b|\bslav(?:e|es|ing)\s+(?:the\s+|a\s+|them\s+|it\s+)?(?:fast|slow|variable|mode|modes|complex)\b|\bslaving\s+(?:principle|theorem|condition|works|relation)\b|\bmay\s+slave\b|\bsafely\s+slaved\b
```
Flags: gi

### Causative-resultative compression ("X gets Y ready")

ID: shared:causative-resultative
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Check whether the surrounding explanation identifies the change, relationship and relevant conditions. “Practice turns concepts into capabilities” promises a result without explaining the practice or the usable capacity. **Describe what learners do and what that prepares them to do.**

Preserve the author's explanatory or instructional purpose. Turning an explanation into a command, or swapping the verb merely to clear the match, is not a repair.

Other examples of the pattern:

- “one short assistant conversation gets the next session ready”
- “Discovery makes skills usable”
- “Spaced resurfacing keeps ideas alive”

**Accurate uses stay.** Literal physical causation, a defined mathematical transformation and an already explained mechanism can use makes, keeps or turns into accurately, and they do not require an invented human actor; a mechanism can be an explained relationship rather than a person acting. Also keep real actors doing specified actions, the receive and create senses of get and make, and summaries whose mechanism is already available: a short summary can rely on the mechanism established immediately before it. Preserve necessary qualification and authored stance.

Maintained candidate pattern:
```text
(?<!\b(?:you|we|they|i)\s)(?:gets?|makes?|keeps?|leaves?|renders?|future[-\s]?proofs?)\s+(?:[\w'-]+[\s,]+){0,5}?(?:ready|done|working|set up|organi[sz]ed|reliable|consistent|durable|repeatable|future[-\s]?proof|bulletproof|safe|usable|portable|discoverable|searchable|testable|reusable|automatic|tractable|effortless|seamless|trustworthy|alive|intact|better|smarter|easier|faster|simpler|clear(?:er)?|self[-\s](?:correcting|documenting))\b|\bturns?\s+[^.?!\n]{1,60}\b(?:into|from)\b
```
Flags: gi

### Imperative used for a hypothetical (missing conditional marker)

ID: shared:imperative-for-hypothetical
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

**The pattern:** an imperative-mood command voices a hypothetical or illustrative scenario, with no setup word to mark it as conditional, so the reader takes it for a real instruction. English lets a command stand in for a conditional antecedent (“Do X and Y happens” means “If you do X, Y happens”), so the model states a supposition without writing “If”, “Say”, “Suppose”, or “When”, and the reader parses a direction they were never given.

**Repair:** mark the hypothetical with a setup word or recast it as a declarative. Unmarked, the Before sentence below reads as a direction to store the rule in one tool, when the passage is describing the mistake of doing that.

> Before: “Store one of those in a single tool and every other tool works without it”
>
> After: “If you keep one of those in a single tool, every other tool works without it.”

Other examples of the pattern:

- “Tell one babysitter and nobody else, and the rest of the house walks in with shoes on”
- “Lock your rules in one app and each tool loses them”

**When the imperative is correct.** The separator is the sentence's intended function. Keep the imperative when the reader genuinely is being instructed to do the thing: “Split the job into stages, and each stage gets one focus” and “Give each email type its own skill” are recommended moves the lesson wants the reader to take. Preserve genuine authored instructions, but do not convert a qualified recommendation or explanation into a command merely because its action might be useful.

Also outside this pattern:

- A genuine two-step instruction that continues with another bare imperative (“Read the path and state which jobs it covers”).
- A declarative sentence that merely coordinates two clauses (“The rule lives in one tool, and every other assistant works without it”), since it is not an imperative.

Maintained candidate pattern:
```text
(?:^|[.!?]\s)[\s"'*_>()-]*(?:Store|Tell|Give|Put|Add|Keep|Make|Ask|Send|Point|Hand|Show|Leave|Set|Drop|Paste|Type|Run|Open|Save|Write|Take|Move|Feed|Name|Mark|Pick|Skip|Delete|Remove|Sort|File|Split|Build|Create|Use|Read|Choose|Connect|Install|Click|Copy|Share|Lock|Hide|Load|Teach|Treat|Follow|Gather|Collect|Improve|Mix|Combine|Merge|Hold|Let|Trust)\b[^.?!\n]{0,80}?(?:,\s*)?(?:and|then)\s+[*_`]{0,2}\s*(?:every|each|no|nobody|no\s+one|none|everyone|everything|the\s+rest|the\s+whole|the\s+entire|the\s+other|most|nothing|another|neither)\b[^.?!;:\n]{0,40}?(?<!\b(?:the|a|an|your|its|our|their|his|her|my|this|that|each|every|no|some|any|one|another|you|it|they|we|i|he|she)\s)\b(?:works|reads|walks|becomes|goes|costs|gets|stops|loads|breaks|fails|wins|happens|appears|changes|stays|ends|starts|runs|shows|means|matters|follows|reaches|sees|holds|drifts|slips|misses|loses|falls|rises|grows|pulls|pushes|sits|lives|waits|skips|hears|inherits|diverges|splinters|forgets|ignores|skews|drags|lags|slides|snaps|lapses|rots|splits|starves|stalls|slows|leaks|scatters|spreads)\b
```
Flags: g

### Vague mental-act verb (name/see/notice/tell apart)

ID: shared:vague-mental-verb
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Read the complete task and its context. **A direction fails when the learner cannot identify what to inspect, compare, calculate or conclude.** Repair that missing object or reasoning, preserving the author's meaning and the distinction the activity needs. “Notice the pattern” might become “Compare the gaps between successive terms; how does each gap change?” when that comparison is the intended task.

See, watch, and read are banned as vague verbs, so the repair never trades one perception verb for another. Replacing these words with understand, distinguish or another stock verb does not repair an unclear task either. An explanation may simply state its relationship.

A nomination in a title Tom approved is judged in context; he rejected a count-driven rewrite of approved titles on 2026-10-03. Judge the complete encounter under authored-meaning-and-stance.

Examples this rule nominates:

- “Name the assistant that goes and does the heavier work”
- “See why access is what makes the help specific”
- “Notice what you pay when you explain the same job every time”
- “Tell a one-time request apart from a saved skill”

**What stays:** specific, answerable comparison tasks; literal naming, perception and data access; and Tom's own wording. Established context may supply the object and criterion. The posted-notice noun and “tell” meaning instruct are ordinary uses. Judge missing meaning or unnecessary repeated framing, rather than the matched verb alone.

Maintained candidate pattern:
```text
\b(?:name|naming)\s+(?:the|a|an|your|that|this|what|which|one|each|every|its|their|his|her|my|our|it|them)\b|\bsee\s+(?:why|how)\b|\b(?:you'?ll|you\s+will|we'?ll|we\s+will|let'?s)\s+see\b|\b(?:notice|noticing)\s+(?:the|a|an|your|that|this|what|which|how|why|when|where|one|each|every|its|their|his|her|my|our|it|them|you|we|they|he|she|i)\b|\btell(?:s|ing)?\s+[^.?!\n]{0,40}?\bapart\b|\btell\s+(?:the\s+)?differences?\b
```
Flags: gi

### Vague perception verb (see/watch/read invitation)

ID: shared:vague-perception-verb
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Say what the reader gets, what happens, what the control does, or what to check. **Trading one perception verb for another** (watch, read, view, look at, observe) **keeps the defect.**

| Flagged | Rewrite |
| --- | --- |
| “Watch your agent secure your computer, step by step” | “Choose what your agent secures and get a live report of each check” |
| “See all 12 steps” | “Show all 12 steps” |
| “See why access makes the help specific” | state the reason |

Other examples flagged by this rule:

- “See each AI term drawn, with an example from everyday work”
- “Copy the prompt, then watch each check update here.”
- “Read more”

**Literal uses stay:**

- a person, assistant, or app that can see or read something (data access);
- playing a video or recording;
- reading a book or article as the activity;
- an instruction to an AI agent to read a source;
- “read X as Y” interpretation (Tom approved “You can read a matrix as a map”, 2026-10-05);
- a lowercase citation or “See also” cross-reference in agent-facing guidance;
- “Watch out” as a warning;
- Tom's own wording, which stays verbatim.

#### Background

Tom named read, watch, and see together as banned vague verbs on 2026-10-29.

Maintained candidate pattern:
```text
(?<=^|[.!?:;]\s+|["“‘(\[>*#]\s*|^\s*[-*+]\s+)(?:Watch\s+(?!out\b)|See\s(?!\s|also\b|section\b|[`\[§\d])|Read\s+(?:why|how|what|about|more|less|on)\b)|\b(?:then|and|to|can|will|'ll|’ll)\s+watch\s+(?:as|how|what|whether|it|them|each|every|your)\b|\bwatch\s+(?:as|how|what|whether)\b|\b[Yy]ou(?:'ll|’ll|\s+will)\s+(?:see|watch)\b
```
Flags: gm

Quotations are exempt.

### Placeholder action noun (move/shape/signal)

ID: shared:placeholder-action-noun
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Write the exact action, structure, observation, criterion, or saved instruction. Use a concrete verb with its object and result, so a cold reader does not have to infer what changes, what evidence was observed, or which instruction applies.

| Flagged | Rewrite |
| --- | --- |
| “the next move” | “compare both drafts” |
| “the lines that shape the reply” | “the lines the reply must reflect” |
| “progress signals” | “course activity, saved items, and test-outs” |
| “output shape” | “required sections and fields” |

Examples flagged by this rule:

- “use the same four moves in both apps”
- “what is your next move”
- “the next site learning signal”

**Literal or defined uses stay:**

- a chess move;
- moving a file to a named folder;
- a geometric shape;
- a data schema whose fields are stated;
- an electrical, acoustic, statistical, or model-internal signal;
- a named mathematical rule or transformation (the chain rule, the distributive rule, a rotation by 90 degrees);
- a named saved rule whose trigger and required behavior are stated.

A function, map, update, or recurrence that a passage calls “the rule” is not a defined use: `rule-for-function` covers that case. A numbered set can stay when the passage immediately enumerates a genuinely closed set and names every item.

The match nominates a contextual review and gives no permission for blind replacement.

Maintained candidate pattern:
```text
\b(?:next|same|better|best|smart|key|core|durable|portable|single|first|second|final|useful|important|main|big|small|one|two|three|four|five|six|few|these|those|each|every)\s+(?:move|moves|shape|shapes|signal|signals)\b|\b(?:the|this|that|same|a|one|your)\s+(?:move|shape|signal)\b|\b(?:lines|rules|examples|context|information|documents?)\s+(?:that (?:should )?|to |should )shape\b
```
Flags: gi

### Counted label ("Two moves", "Four jobs")

ID: shared:counted-label
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

A count and a vague noun stand where the section's idea should be, so the reader learns only how many. Write the heading or label that says what the reader does with which idea, or names the exact subject, in the form its own section calls for. Read it beside its neighbors so the rewritten set does not share one construction.

- “Four jobs” becomes “Hand the assistant drafting, sorting, searching, and scheduling”.
- “Two moves” becomes the two actions themselves.

Never swap the count for an article or another vague noun: changing “Choosing One Moment” to “Choosing a Moment” leaves it as vague. See `the applicable writing criterion`.

Examples of the pattern:

- `## Two moves`
- `**Two steps:**`
- “One proposal and four checks”

**Counts that stay** carry a fact the reader needs:

- a measured quantity or duration (“Ten minutes a day”);
- a recipe amount;
- a math answer choice;
- a navigation label (“Step 1 of 5”);
- the title of a real work;
- a heading that opens a claim (“One of the hardest problems ...”).

Quoted source text stays as printed.

Maintained candidate pattern:
```text
^#{1,6}[ \t]+(?:\*\*|__|\*|_)?(?:One|Two|Three|Four|Five|Six|Seven|Eight|Nine|Ten|Eleven|Twelve|ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN)(?![-‑])(?![ \t]+(?:of|in|on|at|by|or|to|more|another|day|way|time|times|minutes?|hours?|seconds?|days?|weeks?|months?|years?|mins?|hrs?|percent|cups?|eggs?|players?|people|dollars?|cents?)\b)[ \t]+\S[^\n]{0,70}$|^[ \t]*(?:[-*+][ \t]+)?\*\*(?:One|Two|Three|Four|Five|Six|Seven|Eight|Nine|Ten|Eleven|Twelve|ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN)(?![-‑])(?![ \t]+(?:of|in|on|at|by|or|to|more|another|day|way|time|times|minutes?|hours?|seconds?|days?|weeks?|months?|years?|mins?|hrs?|percent|cups?|eggs?|players?|people|dollars?|cents?)\b)[ \t]+[^*\n]{1,40}\*\*|^[ \t]*(?:One|Two|Three|Four|Five|Six|Seven|Eight|Nine|Ten|Eleven|Twelve|ONE|TWO|THREE|FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN)(?![-‑])(?![ \t]+(?:of|in|on|at|by|or|to|more|another|day|way|time|times|minutes?|hours?|seconds?|days?|weeks?|months?|years?|mins?|hrs?|percent|cups?|eggs?|players?|people|dollars?|cents?)\b)[ \t]+\p{L}[\p{L}'’]*(?:[ \t-]+\p{L}[\p{L}'’]*){0,3}[ \t]*[.:]?[ \t]*$
```
Flags: gmu

### Review whether "rule" names the actual object

ID: shared:rule-for-function
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Name the actual object or relationship. A derivative, function, mapping, recurrence, differential equation, constraint, or decision criterion needs its own precise name and meaning. For `y' = f(y)`, the differential equation relates the amount to its rate; `f` is the rate function, and `y'` is the derivative.

Choose from the mathematics in this passage instead of replacing every occurrence with one stock noun. Use “rule” when a rule is meant. This warning requests contextual judgment rather than automatic replacement; explicitly approved unchanged occurrences are retained by the reviewed-warning store.

Examples this rule nominates:

- “A dynamical system feeds each value back into one rule”
- “the value the rule gives back unchanged”
- “and the rule turns 10 into 15”
- “Repeating a rule”

**Uses that stay:**

- Named rules: the chain rule, the product rule, the distributive rule, Cramer's rule, Simpson's rule, an exponent rule written out (“the rule $x^{-n} = 1/x^n$”), a rule of inference, a rule of thumb.
- The rules of a game, a policy, a law, a style guide, or a software configuration, where no function of a value is meant.
- A constraint a puzzle calls a rule (a unique game's rules), when the passage uses that field's own word.

The match nominates a contextual review and gives no permission for blind replacement.

Maintained candidate pattern:
```text
\brules?\b
```
Flags: gi

### "Share" standing in for a fraction, probability, or weight

ID: shared:share-for-fraction
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

In math and science prose, a part of a whole has a precise name: a fraction, a proportion, a probability, or a weight in an average. “Share” leaves the reader to guess which one is meant, and whether it is a number at all. Use the word that names the quantity.

| Flagged | Rewrite |
| --- | --- |
| “its share of the days” | “the fraction of the days in it” |
| “each cell is its row's share times its column's” | “each cell's probability is its row's total times its column's total” |
| “mixes the rows' bits in the same shares” | “averages the rows' bits with the same weights, 3/4 and 1/4” |

Other examples this rule nominates:

- “That swaps the shares”
- “a share of deaths”

**Uses that stay:**

- The verb: two variables share 0.71 bits, two actors share a co-star, two series share history, neighboring characters share about 0.71 bits, two starts share six decimal places.
- Shares of stock and a share in a company.
- Market share and a fair share in writing about business or money.
- A screen share or file share.

The match nominates a contextual review and gives no permission for blind replacement.

Maintained candidate pattern:
```text
\b(?:its|their|his|her|our|your|a|an|the|same|equal|larger|smaller|bigger|largest|smallest|biggest|each|every|\p{L}+['’]s)\s+shares?\b(?!\s+(?:a|an|the|about|every|each|no|some|all|any|both|its|their|his|her|our|your|one|two|three|four|five|six|seven|eight|nine|ten|nothing|much|more|most|less|half|\d)\b)
```
Flags: giu

### Superlative asserted as fact

ID: shared:superlative-as-fact
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

A superlative asserted as bare fact about the science or the exposition (“the cleanest case”, “the sharpest controversy”, “the strongest argument”) claims a ranking the evidence rarely supports, and reads as a headline. State the specific property instead. The register to keep is science writing; a bare superlative reads like a YouTube headline.

| Flagged | Rewrite |
| --- | --- |
| “the cleanest physical case of a whole that does not come apart” | “a physical case of a whole that does not come apart” |
| “gave the field its cleanest map” | “gave the field a clear map” |

Examples this rule nominates:

- “the cleanest demonstration that modularity can evolve”
- “the sharpest controversy in the field”
- “Linearity Is the Gold Standard of Decomposability”

**Uses that stay:**

- Genuine mathematical terms of art keep the superlative and must not be rewritten: best rank-k approximation, best low-rank approximation, least upper bound, greatest common divisor, shortest path, steepest descent. “Best” is intentionally excluded from the pattern for this reason.
- A standard, defensible descriptor for a named object can stay (the Ising model as the simplest model of a magnet).
- A superlative the passage explicitly defines and earns over several sentences is borderline; keep it only if the definition does the work.

Maintained candidate pattern:
```text
\b(?:cleanest|purest|sharpest|finest|clearest|simplest|deepest|strongest)\b|\bgold[- ]standard\b
```
Flags: gi

### Exaggeration for effect

ID: shared:hyperbole-for-effect
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

A reader who checks an exaggerated magnitude finds a false claim. **Verify the magnitude and state it literally.**

> Before: “2^100 is larger than the number of atoms in the universe” (false: 2^100 is about 10^30, atoms about 10^80)
>
> After: “2^100 is about 1.27 × 10^30. At a billion operations per second, that many operations would take about 4 × 10^13 years”

Cut “infinitely” unless the quantity is literally unbounded.

Examples this rule nominates:

- “larger than the number of atoms in the observable universe”
- “infinitely harder to compute”
- “breaks every rule of the model”

**Uses that stay:** a literally true magnitude comparison. “Infinite” or “infinitely” for a genuinely unbounded mathematical quantity (an infinite series, an infinitely differentiable function) is correct and is not matched by the pattern.

Maintained candidate pattern:
```text
\b(?:more|larger|bigger|greater|higher)\s+than\s+(?:the\s+)?(?:number\s+of\s+)?atoms\b|\binfinitely\s+(?:more|less|many|fewer|harder|easier|faster|slower|better|worse|smaller|larger)\b|\bbreaks?\s+every\s+rule\b|\bdefies?\s+all\b
```
Flags: gi

### Model conflated with the thing it represents

ID: shared:model-reality-literal
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

A physical thing is described or represented by a mathematical object; it is not one. Correct the verb, and leave out philosophy-of-science commentary. See the applicable writing criterion.

> Before: “the three-photon state is literally an order-3 tensor”
>
> After: “quantum theory describes the three-photon state with an order-3 tensor”

The model-property (tensor rank, treewidth) can track a real structural property. Keep that claim and fix the identity claim.

Another example of the pattern: “the system is just a graph”

**The defect runs both ways.** A formal object said to *be* a physical quantity or another model's quantity fails the same test: “the metric's time part is Newton's potential”, “the derivative is the viral-load growth rate”.

**Uses that stay:**

- Defining the mathematical object itself is fine and is not matched: “a tensor is a multi-way array of numbers”, “a vector is a list of numbers”.
- A representation or role verb (is described by, is represented as, is modeled as, corresponds to, is given by, acts as, plays the role of, measures) is correct and must never be rewritten, including when copula-avoidance flags it.

Maintained candidate pattern:
```text
\bis\s+(?:literally|just|simply|merely|nothing\s+but)\s+(?:an?|the)\s+(?:[\w-]+\s+){0,3}?(?:tensor|matrix|vector|graph|network|array)\b
```
Flags: gi

### Trendy verb (pins down)

ID: shared:trendy-verb-pins-down
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

A theory, model, equation, or formal object **describes, represents, specifies, determines, fixes, or is given by** something. Saying that it "pins down" a result reads as a colloquial flourish.

- "quantum theory pins down a pure state" becomes "quantum theory describes a pure state" or "specifies a pure state".
- "the third axis pins down the factors" is another flagged example.

**Legitimate use.** An ordinary idiom that stays clear in flowing prose can be kept, especially when a person or a measurement is the subject: "the number of yes-or-no questions needed to pin down its value". The target is **a formal subject (a theory, model, equation, or axis) pinning down a result**.

Maintained candidate pattern:
```text
\bpins?\s+down\b|\bpinned\s+down\b
```
Flags: gi

### Trendy / cute verb (performing instead of stating)

ID: shared:trendy-cute-verb
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

A trendy or cute verb **performs instead of stating**. The rule covers three families:

- "smuggles in" and "unpacks"
- a formal subject that "knows," "wants," or "tells you"
- a mood verb that supplies affect with no mechanism: "snaps into focus," "comes due," "springs to life," "the payoff lands"

Use a plain, accurate verb instead: rests on, assumes, requires, describes, specifies, determines, fixes. A figurative verb can stay **when it names the actual mechanism**, the way a spring "carries the push across."

Flagged examples:

- "the proof smuggles in continuity"
- "the equation knows the answer"
- "the method wants smooth data"
- "the whole module snaps into focus"
- "the opening weigh-in comes due"

**Legitimate uses.**

- An ordinary idiom that stays clear in flowing prose is fine, especially with a person as the subject: "the number of questions needed to pin down its value".
- Literal unpacking (a box, an argument list, a suitcase) is fine; the figurative "unpacks the idea" is the target.
- Literal "comes due" for a bill, loan, or deadline is fine; the figurative "the argument comes due" is the target.

**Scope among sibling rules.** This rule is a sibling of trendy-verb-pins-down (which covers "pins down"), has-teeth, buys-payoff, and marketing-verbs in extended-rules.json (unlock, transform, supercharge, etc.). It covers only the verbs those rules do not, so "has teeth" and "buys you" stay with their own rules and are not re-flagged here.

#### Background

The source grounds this rule in the applicable writing criteria, including move 4, and cites the applicable writing criterion for the idiom guard.

Maintained candidate pattern:
```text
\bsmuggl(?:e|es|ed|ing)\s+in\b|\bunpack(?:s|ed|ing)\s+(?:how|why|what|the\s+(?:idea|concept|notion|intuition|argument|claim|meaning|logic|details?|implications?|nuances?|mechanism)|this|that)\b|\b(?:equation|formula|model|theory|method|proof|axiom|theorem|function)\s+(?:knows|wants)\b|\b(?:equation|formula|model|theory|method|proof|axiom|theorem)\s+tells\s+you\b|\bsnaps?\s+into\s+focus\b|\bcomes?\s+into\s+focus\b|\bsprings?\s+to\s+life\b|\bcomes?\s+(?:due|alive)\b|\bthe\s+(?:whole\s+)?(?:payoff|picture)\s+(?:lands|arrives|comes\s+together)\b
```
Flags: gi

### Deferral / process-narration signpost

ID: shared:deferral-meta-signpost
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

This pattern takes two forms:

- **deferring the name or payoff** of the concept under discussion, and
- **narrating the teaching move** instead of performing it ("tracing that fact is the work of this lesson," "the rest of the course tours that middle ground," "the modules that follow take this up").

Name the concept where you teach it and state its consequence there. State the content; the structure carries itself.

Other flagged examples:

- "the formal names arrive in the next section"
- "we'll come back to this later"
- "bear with me"
- "Take them one at a time."

**Legitimate use.** An ordinary forward cross-reference to a genuinely separate topic in another module is allowed and should be rare. The target is deferring the name or payoff of **the concept being taught right now**.

#### Background

The source cites the applicable writing criteria by name: deferred-payoff, no-process-narration, and moves 1-2.

Maintained candidate pattern:
```text
\bthe\s+formal\s+names?\s+(?:arrive|arrives|come|comes)\b|\bwe(?:\s+will|'?ll)\s+name\s+this\s+later\b|\bwe(?:\s+will|'?ll)\s+(?:come\s+back\s+to|return\s+to)\b|\bcomes\s+later\s+in\s+this\s+(?:lesson|section|chapter)\b|\ba\s+later\s+(?:module|section|chapter)\s+gives\s+this\s+its\s+name\b|\bafter\s+you\s+have\s+seen\s+more\s+cases\b|\bmore\s+on\s+this\s+later\b|\bas\s+we'?ll\s+see\b|\b(?:bear|stay)\s+with\s+me\b|\bthis\s+is\s+where\s+it\s+gets\b|\btake\s+them\s+one\s+at\s+a\s+time\b|\bnow\s+the\s+name\s+can\s+land\b|\bthat\s+is\s+the\s+whole\s+test\b|\bpicture\s+the\s+contrast\s+directly\b|\bthe\s+work\s+of\s+this\s+(?:lesson|module|section)\b|\bthe\s+rest\s+of\s+the\s+(?:course|module|lesson)\s+(?:tours|covers|works\s+through|takes\s+up|walks|will)\b|\bthe\s+modules?\s+that\s+follows?\b|\byou\s+will\s+see\s+when\b|\bthis\s+(?:module|lesson|section)\s+(?:follows|traces|tours|takes\s+up|walks\s+you)\b
```
Flags: gi

### Significance captioning

ID: shared:significance-captioning
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Let the specific fact carry its own weight: replace the caption with **the consequence or distinction** it was gesturing at.

The same caption can close a sentence, as in "and that step is the part to practice" or "they're where the learning happens". Cut the tail, or say what the reader does next.

**Legitimate use.** A literal part of a thing stays ("the part to the left of the equals sign"); the pattern needs a verb after "the part to".

Maintained candidate pattern:
```text
\b(?:is\s+important\s+because|is\s+significant\s+because|plays?\s+(?:a\s+)?(?:key|central|important|pivotal|crucial|vital)\s+role|marks?\s+a\s+(?:turning\s+point|pivotal|key)|the\s+(?:significance|importance|meaning)\s+of|(?:is|are|that(?:'|’)s)\s+the\s+part\s+to\s+(?:practice|remember|learn|notice|watch|focus\s+on|work\s+on|get\s+right)|(?:is|are|(?:they|we|you|these|those|that)(?:'|’)(?:re|s))\s+where\s+the\s+(?:real\s+)?(?:learning|work|growth|progress)\s+happens|is\s+what\s+to\s+(?:practice|remember|watch\s+for))\b
```
Flags: gi

### Doorway / key / unlocks scaffold

ID: shared:doorway-key-unlocks
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Stock threshold language (doorways, keys, unlocking) stands in for what the passage should say. Replace it with **the exact mechanism, consequence, or step the learner takes** in the passage.

**Legitimate uses.** Literal locks and keys stay ("the key is under the mat", "the badge unlocks the lab door"). So does a product mechanic whose result is stated, though "finishing level 3 opens level 4" is still clearer than "unlocks".

Maintained candidate pattern:
```text
\b(?:first\s+doorway|doorway\s+into|the\s+central\s+insight|starting\s+move|modest\s+but\s+powerful|this\s+unlocks|unlocks|the\s+key\s+is|at\s+its\s+core|the\s+secret\s+(?:is|to))\b
```
Flags: gi

### Instructional scaffold (by understanding)

ID: shared:by-understanding
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

When a sentence leans on the "by understanding" scaffold, name **the action or comparison the learner can now perform**.

Maintained candidate pattern:
```text
\bby\s+understanding\b
```
Flags: gi

### Vague payoff cliche (whole story / heart of / changes everything)

ID: shared:vague-payoff-cliche
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Phrases such as "the whole story," "the heart of," and "changes everything" make an empty payoff that **gestures at importance instead of stating it**. Replace the phrase with the concrete fact: what the one measurement is enough to determine, what specifically changes, or what the actual central mechanism is.

> "one thermometer per room tells the whole story"

becomes

> "one thermometer per room is enough, because the desks in a room already match each other"

Maintained candidate pattern:
```text
\btells?\s+(?:you\s+|us\s+)?the\s+whole\s+story\b|\bthe\s+whole\s+story\b|\btells?\s+you\s+everything\b|\bat\s+the\s+heart\s+of\b|\bchanges?\s+everything\b|\bdecides?\s+everything\b|\bpaints?\s+a(?:\s+vivid)?\s+picture\b|\bcaptures?\s+the\s+essence\b
```
Flags: gi

### Value-teaser (announce the payoff instead of delivering it)

ID: shared:value-teaser
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

A value-teaser is a sentence **whose only job is to announce that a payoff is coming**, which the next sentence then delivers:

- "But here's the catch:"
- "Here is the payoff of all that setup."
- "Here's where it gets interesting."

Delete the announcement and lead with the payoff itself: the time-saving fact, the point, or the result.

> "Here is the part that saves you time. Working with both is the same skill"

becomes

> "Working with both is mostly the same skill, so learning one teaches you most of the other."

**Enforcement and exclusions.** The writing-lint rule value-teaser enforces this at error severity. It excludes magic, secret, and trick, because those words routinely introduce a concrete artifact ("the secret key", "the magic number").

Maintained candidate pattern:
```text
\bhere(?:(?:'|’)s| is) the (?:interesting|surprising|best|fun|hard|tricky|important|key|whole) part\b|\bhere(?:(?:'|’)s| is) the part (?:that (?:saves|does|makes|matters|counts|trips|breaks)|where (?:it|this|things) gets?|most people|nobody|everyone)\b|\bhere(?:(?:'|’)s| is) the (?:move|payoff|catch|thing|kicker|twist|rub|punchline|gist|reality)\b|\bhere(?:(?:'|’)s| is) the real (?:reason|issue|point|problem|kicker|story)\b|\bhere(?:(?:'|’)s| is) where (?:it|this|things) gets?\b
```
Flags: gi

### Formulaic explanatory closer (this lesson shows...)

ID: shared:explanatory-closer-template
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

When **several intros or sections all end with the same "this lesson shows..." template**, the repetition reads as machine scaffolding. Vary the closer, or cut it and let the last concrete sentence carry the promise. Two alternatives work well: pose the question the piece answers, or state plainly what the reader will be able to do.

Maintained candidate pattern:
```text
\bthis\s+(?:lesson|module|section|chapter|article|piece|post)\s+(?:shows|reveals|traces|explores|explains|covers|teaches|is\s+about|will\s+show|walks)\b
```
Flags: gi

### AI hedge phrase

ID: shared:ai-hedge-phrases
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Remove an attention-announcing preface **only when it contributes no substantive judgment**. Under the applicable writing criterion, the revision preserves the author's scope, uncertainty, degree, conditions, and explanatory purpose. A qualified judgment of importance is not the same as announcing that a fact should be noted.

**Legitimate uses.** Keep substantive assessments, qualifications, and intentional emphasis. Words such as usually, may, often, important, and very are not defects by themselves. Do not convert a judgment into an imperative or a certainty merely to remove a match.

Maintained candidate pattern:
```text
\bit'?s\s+worth\s+noting\b|\bit\s+is\s+important\s+to\s+note\b|\bit\s+should\s+be\s+noted\b|\bneedless\s+to\s+say\b|\bin\s+conclusion\b|\bdelve\s+into\b|\bone\s+might\s+argue\b|\bat\s+the\s+end\s+of\s+the\s+day\b|\bsuffice\s+(?:it\s+)?to\s+say\b
```
Flags: gi

### Literal "illustrative" label on a hypothetical

ID: shared:illustrative-label
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Frame a hypothetical with "Suppose," "Say," or "For example" instead of labeling it illustrative. The framing keeps an invented case from reading as a real record, without the stiff label.

Flagged examples:

- "Here is an illustrative case."
- "An illustrative response: 'The proposal is due at 10:00.'"

Maintained candidate pattern:
```text
\b(?:here\s+is\s+)?an?\s+illustrative\s+(?:case|example|response|reply|scenario|output|draft|email|entry|consultant|person|brief|exchange)\b
```
Flags: gi

### Figurative worth/worthwhile judgment

ID: shared:value-judgment-worth
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

**Banned in every judgment sense.** These phrases borrow a money word to say something is good without saying what it does:

- "worth keeping", "worth testing", "worth revisiting"
- "worth it"
- "worthwhile"
- "it's worth noting"

State the concrete result, reason, or condition instead:

| Flagged | Rewrite |
| --- | --- |
| "a prompt worth saving" | "a prompt you will run again next week" |
| "two flavors worth telling apart" | "the two cases call for different tests" |

A synonym swap (valuable, deserves, merits, rewarding) keeps the empty judgment and fails.

Other flagged examples: "This decomposition is worth doing.", "Is the setup worth it?", "a worthwhile experiment".

**What stays.** Literal money: a price or amount ("$20 worth of credits"), net worth, an asset's market value, and explicit economics. Quotations and cited titles also stay. Every other use is a hit, and **a scoped authorial judgment is not an exemption**.

This rule is a sibling of financial-metaphor.

Maintained candidate pattern:
```text
(?<!\bnet\s)\bworth(?:while)?\b
```
Flags: gi

### Representation ranked without scope

ID: shared:representation-good-poor-binary
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Do not rank representations as generically good or poor **when the actual claim is task-scoped**. Name the representation, the question it serves, and the structure it reveals or leaves mixed. Avoid implying that separability, linearity, or convenience is the only measure of representation quality.

Flagged examples:

- "a good representation makes a problem come apart into independent pieces, while a poor one hides them"
- "a good basis reveals structure a poor one buried"

**Legitimate uses.** A passage may compare representations after naming the task, metric, and tradeoff. Keep mathematically precise claims, such as well-conditioned bases or best rank-k approximation, when the criterion is explicit.

Maintained candidate pattern:
```text
\b(?:good|right|better)\s+(?:representation|basis|coordinate\s+system)\b[^.!?]{0,180}\b(?:poor|bad|wrong)\s+(?:one|representation|basis|coordinate\s+system)\b|\b(?:poor|bad|wrong)\s+(?:representation|basis|coordinate\s+system)\b[^.!?]{0,180}\b(?:good|right|better)\s+(?:one|representation|basis|coordinate\s+system)\b
```
Flags: gi

### Filler phrase

ID: shared:filler-phrases
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Tighten filler phrases to the word they stand for:

| Filler | Tightened |
| --- | --- |
| "in order to" | "to" |
| "due to the fact that" | "because" |
| "at this point in time" | "now" |

Maintained candidate pattern:
```text
\bin\s+order\s+to\b|\bdue\s+to\s+the\s+fact\s+that\b|\bat\s+this\s+point\s+in\s+time\b|\bfor\s+all\s+intents\s+and\s+purposes\b|\bthe\s+fact\s+of\s+the\s+matter\s+is\b|\bin\s+the\s+process\s+of\b|\bwhen\s+it\s+comes\s+to\b
```
Flags: gi

### Unearned profundity

ID: shared:unearned-profundity
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Earn the weight with **a specific fact** instead of announcing a revelation.

Maintained candidate pattern:
```text
\b(?:everything\s+changed|something\s+shifted|and\s+that\s+changes\s+everything|let\s+that\s+sink\s+in|read\s+that\s+again|here'?s\s+the\s+thing|here'?s\s+the\s+truth|but\s+here'?s\s+the)\b
```
Flags: gi

### Vapid opener

ID: shared:vapid-opener
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Open with **the actual situation**, not a generic scene-setter.

Maintained candidate pattern:
```text
\bin\s+today'?s\s+(?:fast-paced|rapidly\s+evolving|digital|modern)\b|\bas\s+technology\s+continues\s+to\s+evolve\b|\bin\s+a\s+world\s+where\b|\bin\s+an\s+(?:era|age)\s+(?:of|where)\b
```
Flags: gi

### Stock rhetorical question

ID: shared:mid-sentence-rhetorical-question
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Answer a stock rhetorical question as a statement: "The result? Chaos." becomes "The result is chaos."

**Legitimate use.** A genuine question that the passage then explores at length can stay.

Maintained candidate pattern:
```text
(?:^|[.!?]\s+)(?:The\s+(?:result|catch|culprit|problem|upshot|takeaway|kicker)|Why\s+does\s+this\s+matter|So\s+what)\?
```
Flags: gm

### Copula avoidance

ID: shared:copula-avoidance
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Fix **only the puffed-up uses**:

| Puffed-up | Plain |
| --- | --- |
| "serves as a reminder" | "reminds" |
| "stands as a testament to" | the specific claim |
| "boasts a" | "has" |

**Never turn a role verb into "is"** when a model, equation, tensor, variable, or analogy stands in for a physical thing or for a quantity in another model. That rewrite creates model-reality-literal.

**Legitimate uses.** Keep "acts as", "plays the role of", "serves as", and "functions as" when the subject is a formal object or analogy standing in for something else ("the metric's time part acts as Newton's potential", "pressure acts as a source of gravity"). These are the honest representation verbs.

Maintained candidate pattern:
```text
\b(?:serves\s+as|stands\s+as|acts\s+as|functions\s+as)\b|\bboasts\s+a\b
```
Flags: gi

### Promotional language

ID: shared:promotional-language
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Drop the brochure adjective and state **the concrete property**.

**Exclusion.** "robust" is intentionally excluded: it is a term of art in Tom's content (robust estimator, robustness).

Maintained candidate pattern:
```text
\b(?:vibrant|groundbreaking|seamless|cutting-edge|game-?changer|revolutionary|nestled|in\s+the\s+heart\s+of|rich\s+tapestry|breathtaking|stunning|world-class|state-of-the-art)\b
```
Flags: gi

### Superficial -ing analysis

ID: shared:superficial-ing-analysis
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Trailing participle phrases tack on fake depth. Make the claim **a real clause**, or cut it.

Maintained candidate pattern:
```text
,\s+(?:highlighting|underscoring|emphasizing|reflecting|symbolizing|showcasing|fostering|cultivating|encompassing|illustrating|demonstrating|reinforcing)\b
```
Flags: gi

### Vague attribution

ID: shared:vague-attribution
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Name the study, author, or source. If there is none, drop the borrowed authority and make the claim in your own voice.

**Legitimate use.** The attribution is fine when an actual citation follows in the same sentence or as a footnote.

Maintained candidate pattern:
```text
\b(?:studies\s+have\s+shown|research\s+suggests|experts\s+(?:argue|say|believe)|it\s+is\s+widely\s+believed|some\s+critics\s+argue|according\s+to\s+sources|industry\s+reports)\b
```
Flags: gi

### Sycophantic filler

ID: shared:sycophancy
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Cut the servile filler and answer.

Maintained candidate pattern:
```text
\b(?:great\s+question|you'?re\s+absolutely\s+right|excellent\s+point|happy\s+to\s+help|I\s+hope\s+this\s+helps)\b|\b(?:Certainly|Absolutely)!
```
Flags: gi

### Overused word: magic

ID: shared:legacy-magic
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Name **the mechanism or effect** instead of calling it magic.

Maintained candidate pattern:
```text
\b(?:magic|magical|magically)\b
```
Flags: gi

### Overused word: dance

ID: shared:legacy-dance
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Choose a verb that names **the actual movement, exchange, or relation** instead of "dance".

**Legitimate use.** Literal dancing is fine.

Maintained candidate pattern:
```text
\b(?:dance|dances|danced|dancing)\b
```
Flags: gi

### Generic coaching imperative with a personal-context tail

ID: shared:generic-coaching-imperative
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

This pattern pairs a generic command with a vague personal-context tail. Flagged examples:

- "Choose a habit from the work in front of you"
- "Set authority from the action in front of you"
- "Choose a correction from the failures in your own work"

Read the section and its neighboring headings first. Then state **the particular insight, selection criterion, consequence, or concrete instruction** that the command and its tail were hiding, and vary the expression with the idea. Synonym swaps and a uniform declarative replacement do not repair repeated syntax. See generic-coaching-imperative in the applicable writing criterion.

**Legitimate uses.** Keep concrete instructions, meaningful ownership, literal spatial directions, and ordered procedures. A heading about an action already specified by its immediate context may be useful.

**What a match means.** This is a candidate signal, not an authorship test or a ban on commands, prepositions, "you", or "your". Broader sibling rhythm requires editorial review.

Maintained candidate pattern:
```text
^(?:#{1,6}\s+)?(?:Choose|Pick|Find|Start|Build|Make|Turn|Bring|Use|Set|Take|Apply|Match|Connect|Keep|Carry|Give|Put|Name|See|Notice|Learn|Shape|Grow|Design|Plan|Try|Identify|Practice)\b[^\r\n.!?]{0,160}\b(?:in\s+front\s+of\s+you|(?:in|from|around|for|to|with)\s+your\s+(?:own\s+)?(?:work|life)|work\s+you\s+(?:already\s+)?(?:do|repeat)|(?:with|from)\s+what\s+you\s+(?:already\s+)?(?:have|do|repeat))\s*[.!?]?\s*$
```
Flags: gim

### Generic header formula

ID: shared:generic-header-formula
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Headers name **the actual concept, mechanism, limitation, or learner decision**. State the takeaway instead of a generic formula.

Maintained candidate pattern:
```text
^#{1,6}\s+(?:Why\s+.+\s+matters|What\s+.+\s+teaches|How\s+.+\s+changes\s+everything|The\s+(?:key|secret|power|truth)\s+of\s+.+)\s*$
```
Flags: gim

### Overly absolute causal headline

ID: shared:absolute-causal-claim
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Compare the causal claim with **its evidence and conditions**, then rewrite an overstatement as the supported relationship. Do not mechanically add "can" or "may": a hedge word cannot rescue an unsupported or vague headline. Keep supported direct claims and definitions.

**Legitimate use.** Definitions and tautologies are fine stated absolutely.

Maintained candidate pattern:
```text
^#{1,6}\s+(?!.*\b(?:[Cc]an|[Mm]ay|[Oo]ften|[Tt]ends?\s+to|[Ss]ometimes|[Nn]ot\s+[Nn]ecessarily)\b).*\b(?:[Ee]nables?|[Cc]reates?|[Pp]roduces?|[Dd]etermines?|[Dd]rives?|[Pp]revents?|[Ee]nsures?|[Gg]uarantees?)\s+\w
```
Flags: gm

### Review full-sentence emphasis

ID: shared:full-sentence-bolding
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (fullSentenceBolding)

Review the bolded selection against the full paragraph for **centrality and standalone meaning**, using the applicable writing criterion. A full sentence is normal emphasis. Correct a selection that is secondary or incomplete; do not shorten it merely because the detector found a complete sentence.

**Legitimate uses.** Complete central claims are valid, including full sentences in neighboring paragraphs. The detector nominates text for semantic review and cannot establish a skimmability failure.

### Emoji in professional output

ID: shared:emoji-in-professional-output
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Drop the emoji. Tom's work copy and headings carry tone through word choice, not pictographs.

**Legitimate uses.** Content genuinely about emoji, or a user-supplied quote that contains one.

Maintained candidate pattern:
```text
\p{Extended_Pictographic}
```
Flags: gu

### Unicode formatting artifact

ID: shared:unicode-formatting-artifacts
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Mathematical-styled unicode letters and zero-width characters are paste artifacts. Use plain letters and real markdown emphasis.

Maintained candidate pattern:
```text
[\u{1D400}-\u{1D7FF}\u200B\u200C\u200D\uFEFF]
```
Flags: gu

### Colon-enumeration

ID: shared:colon-enumeration
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (colonEnumeration)

A colon-enumeration is **powerful once, monotonous in bulk**. To vary a run of them:

- recast the list as cause, sequence, or pressure;
- let one image carry it; or
- use a periodic or cumulative sentence.

A colon-to-period swap is not variation.

**Not enumerations.** Quotes, clock times, and label prefixes (Note:, e.g.:).

### Repeated sentence opening

ID: shared:repeated-opening
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (repeatedOpening)

Vary how sentences enter: begin with a place, action, condition, image, claim, or consequence.

### Repeated sentence architecture

ID: shared:syntactic-clustering
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (syntacticClustering)

Mix short declaratives with cumulative sentences, and vary clause order and punctuation rhythm.

### Same closing sentence appended across sibling strings

ID: shared:sibling-repeated-tail
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (siblingRepeatedTail)

The pattern appears when **three or more strings in a set** (directions, prompts, hints) end with the same added sentence, such as "Tap each one." It usually means a rewrite copied one example's shape onto every string.

Drop the tail where the control or its status line already says it, and let each direction say what its own task needs.

**Legitimate use.** A genuinely shared instruction that the interface does not show elsewhere may repeat. Judge the set, not the single string.

### Heading set rewritten as thesis sentences

ID: shared:sibling-thesis-heading-run
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (siblingThesisHeadingRun)

The pattern is **several titles, previews, or short labels in one set that are full claims of the same shape**, for example "A search chooses among complete options" and "A map shows every option; a route is one search through it".

Compare the set with the approved version. If these headings were rewritten, restore them unless a named defect required the change.

**When a heading may state its insight.** On a selected discovery or independent practice task, the heading must not reveal the answer. Explanation and synthesis headings may state their insight. Follow the project's current heading contract, including its conditions for question headings; the October 3 correction does not require every screen to use discovery.

**Legitimate uses.** Explanatory screens, essays, and reference pages may state findings in headings. Judge whether the set serves its ideas with natural variety, and whether a task's answer remains available for the learner to work out.

#### Background

Tom described this pattern as "redundant 'A ___ does ___'" titles.

### Staccato fragment run

ID: shared:staccato-fragment-run
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (staccatoFragmentRun)

Give ideas full sentences. Fragments are seasoning, not the meal.

### Cold imperative opening (review its purpose and context)

ID: shared:unframed-imperative-staging
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (unframedImperativeStaging)

Read the complete passage and its neighboring examples under the applicable writing criterion. A cold imperative can **replace a definition, observation, or assumed situation**, even once. "Call the hours, turns and shuffles elements" asks the reader to supply the term the explanation should give them.

Before revising, decide **the sentence's purpose and what the reader already knows**. A descriptive statement may do the job directly; a hypothetical may need an explicit condition or introduction. Choose from the idea and its context, then read sibling strings for rhythm. Replacing every command with Suppose, Imagine, If you, You can, or one declarative formula repeats the problem.

Other flagged examples:

- "Turn a light on and the circuit closes."
- "Load two sealed cargo boxes onto a truck. Weigh each box on its own, add the two numbers, and you have the answer. Now bind two protons and two neutrons into a helium-4 nucleus."
- "Take two numbers and line them up. Multiply each pair of digits."

**Legitimate uses.** Keep genuine instructions for actual tasks, controls, exercises, and procedures, including instructions nominated in flowing prose, with the warmth and pacing their purpose needs. A solitary thought-framing invitation such as "Picture a frictionless plane" is not itself a defect, though repeated invitations still need whole-set review. Preserve the author's qualifications, meaning, and degree of obligation.

**What a match means.** This is a contextual warning, with no imperative quota or automatic replacement. The approximate catcher excludes balanced inline quotations, blockquotes, list steps, headings, Markdown table rows, and code. A match cannot establish that an instruction is inappropriate, and an empty scan cannot establish that the prose is natural.

### Math variables without names

ID: shared:bare-variable-cluster
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (bareVariableCluster)

Introduce a symbol **with its meaning** when needed:

- "f(t) gives the room's temperature in degrees Celsius at time t, measured in minutes"
- "N(i) lists the nodes linked to node i"

A parenthetical name alone does not explain inputs, outputs, or units. Later shorthand can rely on established meaning within the same passage; a screen that readers can enter independently supplies a brief reminder where needed.

### Backwards definition (scenario before the definition)

ID: shared:backwards-definition
Source: Shared writing catcher
Severity: hardBan
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

In any definition, tooltip, glossary entry, marginalia callout, or concept annotation, **the first sentence must state what the term means in plain language**. Scenarios, examples, analogies, and "You want..." openers come after the definition. Rewrite so the plain-language definition leads, then add the scenario.

Flagged examples:

- "You want your assistant to handle morning briefings. That capability is one module. A module is..."
- "Imagine a system that settles into a repeating state. That is an attractor."

**Where the hard ban applies.** Treat this as a hard ban only inside definition, tooltip, glossary, and callout contexts. In ordinary narrative prose, a scenario opener is a legitimate hook, not a backwards definition.

**When the definition is missing.** Do not fire when the same sentence both opens with a scenario and the definition is genuinely absent. That sentence needs the definition added, but outside definition surfaces, downgrade it to a fixer note. The catcher only fires when the scenario opener is immediately followed by a definition-like sentence.

Maintained candidate pattern:
```text
(?:^|\n)\s*(?:You want|You'?re|Imagine|Suppose|Say you|Picture|Think about|Consider when|Let'?s say)\b(?=[^.!?]{0,220}[.!?]\s+(?:(?:That|This|These|Those|Such)\b[^.!?]{0,80}\b(?:is|are|means?|refers\s+to|is\s+called|are\s+called)\b|(?:A|An)\s+[A-Za-z][A-Za-z0-9' -]{1,80}\s+(?:is|are|means?|refers\s+to|is\s+called|are\s+called)\b))
```
Flags: gi

### Cognitive projection (everyone)

ID: shared:banned-everyone
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Tom's live checker flags every "everyone" as cognitive projection. Avoid universal claims about what everyone thinks, wants, or does; **name the specific group or person**.

> "Everyone knows the model is overconfident."

becomes

> "Reviewers on the last three PRs flagged the model's overconfidence."

Another flagged example: "Everyone wants the same thing."

**Legitimate use.** Keep "everyone" when it is literally and provably true and specific ("everyone on the four-person team signed off"). Skip quotations.

**Detection note.** The check is recall-first; the fixer dismisses provable universals.

Maintained candidate pattern:
```text
\beveryone\b
```
Flags: gi

### Formulaic challenges-and-future section

ID: shared:challenges-and-future-prospects
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Boilerplate challenge and future sections **gesture at complexity without supplying it**. Replace them with specific events or facts, such as "Traffic congestion increased after 2015 when three IT parks opened".

Flagged examples:

- "Despite its strengths, the system faces several challenges."
- "Challenges and Future Prospects"

**Legitimate use.** Keep a genuine challenges section that names specific, concrete obstacles with evidence. The tell is template framing with no specifics. Skip quotations.

Maintained candidate pattern:
```text
\b(?:Despite (?:its|these) (?:strengths|challenges|prosperity)|Challenges and (?:Legacy|Future|Prospects)|Future Outlook|faces? several challenges)\b
```
Flags: gi

### Commanded gratitude / commanded feeling

ID: shared:commanded-feeling
Source: Shared writing catcher
Severity: info
Scope: Tom's preferences for meditation writing; preserve the rule's narrower conditions.
Detection: regex

In gratitude and meditation scripts, never instruct the listener to feel a prescribed emotion. **Guide the seeing and let feeling arise.** "Allow deep gratitude to fill your chest" becomes a specific thing to notice.

Another flagged example: "Feel grateful now for the many hands that made this."

**Scope.** This rule is project-scoped to the author's meditation work scripts. Skip quotations.

Maintained candidate pattern:
```text
\b(?:feel (?:grateful|gratitude)|let (?:gratitude|it) fill|allow (?:deep )?gratitude|notice the gratitude (?:arising|filling)|gratitude (?:fill|fills|filling) your)\b
```
Flags: gi

Applies only to meditation.

### Contrastive superiority / tear-down positioning

ID: shared:contrastive-superiority
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

This pattern elevates the subject by **denigrating vague alternatives** ("most people", "traditional approaches", "theory"). Say what the thing is and let the reader draw the conclusion; never tell the reader everyone else is worse. This is the zero-sum framing that Tom's win-win value rejects.

Flagged examples:

- "something most experts never build: processes pulled from actual work, not theory"
- "Unlike most platforms, this isn't just another framework."

**Legitimate use.** Keep a specific, sourced comparison against a **named** alternative with real evidence, for example "unlike the 2019 protocol, which dropped packets above 1Gbps". The tell is vague unnamed inferiors, not a concrete benchmarked comparison.

Maintained candidate pattern:
```text
\b(?:unlike most|not just another|not theory|what most (?:people|experts) (?:never|don'?t)|while others struggle|beyond what typical|where most (?:fail|fall short)|that others overlook|separates \w+ from)\b
```
Flags: gi

### Curly quotation marks

ID: shared:curly-quotes
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Use straight quotes, not curly or smart quotes, which are a ChatGPT tell. Normalize “ ” ‘ ’ to " and '.

Flagged examples:

- "He said “hello” to her."
- "It’s a test."

**Legitimate uses.** Keep typographic quotes when a project's house style deliberately requires them, as some published-prose pipelines do. Skip code blocks and quotations of sources that use them meaningfully.

Maintained candidate pattern:
```text
[‘’“”]
```
Flags: g

### Corporate jargon / buzzwords (email)

ID: shared:email-corporate-jargon
Source: Shared writing catcher
Severity: info
Scope: Tom's preferences for email writing; preserve the rule's narrower conditions.
Detection: regex

Strip corporate buzzwords. "As per our discussion" becomes "As the recipient mentioned"; drop "please don't hesitate" and let the warm close stand.

Flagged examples:

- "Let's circle back and touch base to move the needle."
- "Please don't hesitate to reach out with any questions."

**Scope.** The rule is email-scoped, but the jargon ban generalizes.

**Legitimate uses.** Keep "bandwidth" in literal network or signal contexts, "streamline" where it names a specific process change, and "deep dive" in casual register if Tom uses it. Skip quotations.

Maintained candidate pattern:
```text
\b(?:synerg\w*|circle back|touch base|deep dive|value[- ]add|bandwidth|move the needle|low-hanging fruit|streamline|as per (?:our|the) (?:discussion|conversation|call)|please don'?t hesitate|don'?t hesitate to (?:reach out|contact))\b
```
Flags: gi

Applies only to email.

### Provide-value / self-promotional framing (email)

ID: shared:email-provide-value
Source: Shared writing catcher
Severity: info
Scope: Tom's preferences for email writing; preserve the rule's narrower conditions.
Detection: regex

In client email, do not frame a conversation as Tom giving value or showing what he can do. Reframe it as **collaborative**: learn about their goals, establish mutual fit, and map a plan.

Flagged examples:

- "I'd love to show you the value I can provide for your business."
- "Here is what I can do for you."

**Scope.** The rule applies to AI-consulting client email. Keep literal value discussions in pricing or contract contexts where value delivered is the explicit topic. Skip quotations.

Maintained candidate pattern:
```text
\b(?:provid(?:e|ing)\s+value|deliver\s+value|show(?:ing)?\s+you\s+(?:the\s+)?value|what\s+I\s+can\s+do\s+for\s+you)\b
```
Flags: gi

Applies only to email.

### Excessive balance / false even-handedness

ID: shared:excessive-balance
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Presenting multiple perspectives **even when unnecessary** creates wishy-washy text. Make the claim the evidence supports. The stance here is critical objectivism: engage with what is actually true rather than performing balance.

Flagged examples:

- "On the other hand, while some argue X, others contend Y, and the debate continues."
- "The truth likely lies somewhere in between, and only time will tell."

**Legitimate uses.** Keep genuine two-sided analysis where both sides have real evidence and the piece's job is to weigh them. Keep "on the other hand" when it introduces a substantive counter-consideration. Skip quotations.

Maintained candidate pattern:
```text
\b(?:on the other hand|while some (?:argue|experts|praise)|the (?:debate|truth) (?:continues|likely lies)|only time will tell|the truth lies somewhere in between)\b
```
Flags: gi

### Excessive hedging

ID: shared:excessive-hedging
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

**Stacked qualifiers** drain commitment. Collapse them to a single calibrated modal.

> "It could potentially possibly be argued that the policy might have some effect."

becomes

> "The policy may affect outcomes."

Another flagged example: "This might potentially help."

**Legitimate use.** Keep a single appropriate hedge on a genuinely uncertain empirical claim; Tom hedges contingent causal claims on purpose. The tell is stacked qualifiers, not one honest modal. Skip quotations.

Maintained candidate pattern:
```text
\b(?:could (?:potentially|possibly)|potentially possibly|might (?:have some|potentially)|it (?:could|might) be argued that|may (?:perhaps|possibly))\b
```
Flags: gi

### Exercise / lab meta-narration

ID: shared:exercise-meta-narration
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Do not narrate the structure of an exercise, or say that a lab is "designed to teach". Run the exercise directly and show the mechanism; the reader follows the steps, not a description of the format.

Flagged examples:

- "This exercise works by having you pause at each step."
- "The lab below is designed to teach feedback."

**Legitimate use.** Keep brief setup that genuinely orients the learner to a concrete task. Skip quotations.

Maintained candidate pattern:
```text
\b(?:the\s+exercise\s+has|this\s+exercise\s+has|stopping\s+at\s+\w+\s+is\s+part\s+of|the\s+discipline\s+is\s+to|this\s+exercise\s+works\s+in|the\s+exercise\s+works\s+by|this\s+lab\s+is\s+designed\s+to|part\s+of\s+the\s+reading\s+experience)\b
```
Flags: gi

### Rhetorical literally/actual/physically on figurative claims

ID: shared:false-literally
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Use "literally," "actual," and "physically" **only when the claim is factually or materially true**, never as rhetorical emphasis. Replace a figurative use with the accurate verb: quoted, echoed, mirrored, carried, embedded, appears within, registers as.

> "The proof literally tears the continuum apart"

becomes

> "The proof splits the continuum into two cardinalities."

Other flagged examples:

- "Her discovery literally changed everything."
- "The argument physically dismantles the objection."

**Legitimate uses (essential guard).** Keep the word when the claim is literally, physically, or actually true: "the bridge literally collapsed", "the value is actually 42, not 41", "the heat physically deforms the rail". The word is correct far more often than not. Skip quotations.

Maintained candidate pattern:
```text
\bliteral(?:ly)?\b
```
Flags: gi

### False range (from X to Y)

ID: shared:false-range
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

A false range uses "from X to Y" where **X and Y are not on a meaningful scale**. Replace it with a plain list of what is covered; "Everything from philosophy to breakfast cereal" becomes a direct list.

Another flagged example: "from the Big Bang to dark matter, from stars to the cosmic web"

**Legitimate uses.** Keep genuine ranges on a real scale:

- numeric ("from 0 to 100")
- temporal ("from 1990 to 2020")
- spatial ("from the coast to the ridge")
- ordered scales ("from novice to expert")

Only the unscaled rhetorical "from X to Y" is the tell. Skip quotations.

**Detection note.** The check is high recall; the fixer dismisses scaled ranges.

Maintained candidate pattern:
```text
\bfrom\s+\w+\s+to\s+\w+\b
```
Flags: gi

### Filter phrases (telling perception instead of showing it)

ID: shared:filter-phrases-deep-pov
Source: Shared writing catcher
Severity: info
Scope: Tom's preferences for fiction writing; preserve the rule's narrower conditions.
Detection: regex

**This rule applies only to deep-POV (immersive) fiction.** In that kind of writing, a filter verb tells the reader that the character perceives something instead of showing what they perceive. Remove the filter verb and jump straight to what is perceived or thought.

- Before: "I see the sunlight bouncing off the bar top."
- After: "Sunlight bounces off the bar top, too bright, like it's interrogating me."

Another flagged example: "She felt the cold creep into her hands."

**Where filter phrases are legitimate:**

- Technical, expository, email, or news prose, where "I think" and "we saw" are legitimate. Do not fire there.
- Sentences where perception itself is the explicit subject.
- Quotations: skip them.

Maintained candidate pattern:
```text
\b(?:I|he|she|they|we)\s+(?:saw|see|noticed?|notice|realized?|realize|felt|feel|thought|think|remembered?|remember|watched|observed|could (?:see|feel|hear|smell|taste))\b
```
Flags: gi

Applies only to fiction.

### Generic phrase blacklist (penalize on sight)

ID: shared:generic-phrase-blacklist
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

These phrases **announce significance or comprehensiveness while saying nothing checkable**, so they are penalized on sight. Delete the phrase and rewrite directly with the concrete claim.

Flagged examples:

- "In today's world, the landscape of AI is a multifaceted, rich tapestry; it cannot be overstated that this is a game-changer."
- "This serves as a reminder of the broader trend."

**Legitimate uses:** "paradigm shift" stays when directly quoting or discussing Kuhn, and "tapestry" stays for a literal woven textile. Skip quotations.

Maintained candidate pattern:
```text
\b(?:a testament to|serves as a reminder|it cannot be overstated|a nuanced approach|paradigm shift|game-?changer|at the end of the day|rich tapestry)\b
```
Flags: gi

### Generic positive conclusion

ID: shared:generic-positive-conclusion
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

This flags **vague upbeat endings**. Replace one with a concrete next fact or plan.

- Before: "The future looks bright."
- After: "The company plans to open two more locations next year."

Flagged examples:

- "The future looks bright. Exciting times lie ahead."
- "This is a step in the right direction."

The false-positive risk is low. Skip quotations and anti-example blocks.

Maintained candidate pattern:
```text
\b(?:the future looks bright|exciting times lie ahead|step in the right direction|journey toward excellence|the possibilities are endless)\b
```
Flags: gi

### Heading-level skip

ID: shared:heading-level-skip
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: heuristic (headingLevelSkip)

Do not skip heading levels (jumping from H1/H2 straight to H3). Human writers rarely skip levels. To fix a skip, **insert the intervening level or promote the heading**.

Flagged example: `# Title` then `### Subsection` with no `##` between.

**Exception:** keep the structure when a documented component or MDX convention legitimately starts sections at a fixed level. Skip code blocks.

Because detection requires scanning the heading sequence, implement the check as a structural pass.

### Inline-header vertical list

ID: shared:inline-header-vertical-list
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

This flags list items that start with a bolded header and a colon and then **restate the header in a sentence**. Convert the list to flowing prose where it reads better, or strip the redundant restatement.

Flagged examples:

- `- **Speed:** It is fast.`
- `- **Performance:** Performance has been enhanced through optimized algorithms.`

**Legitimate uses** are genuine definition lists, glossaries, API parameter docs, and changelog entries, where the bold lead-in is a real label and the text after it is not a restatement. Skip quotations and code.

Maintained candidate pattern:
```text
^\s*[-*]\s+\*\*[^*]+:?\*\*:?
```
Flags: gi

### Significance signaling / intensifiers as proof

ID: shared:intensifiers-as-proof
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

An intensifier asserts importance without showing it. **Drop the intensifier unless the same sentence gives exact evidence.** Specificity, and claims that make the weight visible, are rewarded over assertions of importance. Name the concrete result, consequence, or limitation that justifies the word.

Flagged examples:

- "This is a crucial and profound insight with far-reaching implications."
- "a deeply transformative, profoundly important breakthrough"

**Keep the word when:**

- It is technically precise: "critical point" in physics, "critical path" in scheduling, or "significant" in a statistics sentence reporting a p-value.
- The same sentence supplies exact evidence that the intensifier summarizes.

Skip quotations.

Maintained candidate pattern:
```text
\b(?:deeply|profoundly|incredibly|remarkably|fundamentally|truly|utterly|vitally)\b|\b(?:important|crucial|critical|essential|remarkable|profound|far-reaching|significant|noteworthy|groundbreaking|transformative|game-?chang(?:er|ing)|revolutionary)\b
```
Flags: gi

### Knowledge-cutoff / availability disclaimer

ID: shared:knowledge-cutoff-disclaimer
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

This flags **AI disclaimers about incomplete information left in the text**. Replace the disclaimer with a sourced fact, or cut it.

- Before: "While specific details are limited... established in the 1990s"
- After: "Founded in 1994, per its registration documents."

Flagged examples:

- "As of my last update, while specific details are limited based on available information..."
- "up to my last training, the figure was unclear"

**Legitimate use:** a genuine, dated data-currency note in a report where recency is the explicit subject, such as "data current as of Q1 2026". Skip quotations.

Maintained candidate pattern:
```text
\b(?:as of my last (?:update|training)|up to my last training|while specific details (?:are|remain) (?:limited|scarce|not extensively documented)|based on available information|as of \[?date)\b
```
Flags: gi

### Marketing / brochure verbs

ID: shared:marketing-verbs
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Brochure verbs stand in for what something does. Replace them with concrete actions and plain verbs. They are **banned especially in teaching content**.

- "Leverage" becomes "use".
- "Harness" becomes the named mechanism.
- "Empower" becomes the specific capability granted.

Flagged examples:

- "Unlock your potential and transform your workflow to take productivity to the next level."
- "We leverage a holistic framework to empower learners."

**Legitimate uses:**

- "Leverage" as a finance or physics noun (financial leverage, mechanical leverage).
- "Transform" in math and computer science senses (a Fourier transform, transform a matrix, data transformation).
- "Empower" when describing literal legal authorization.

Skip quotations.

Maintained candidate pattern:
```text
\b(?:unlock|transform|elevate|harness|leverage|empower|supercharge|revolutionize|turbocharge)\b|\btake\s+.{0,20}\s+to (?:the )?next level\b
```
Flags: gi

### Negative statement in meditation script

ID: shared:meditation-negative-statement
Source: Shared writing catcher
Severity: info
Scope: Tom's preferences for meditation writing; preserve the rule's narrower conditions.
Detection: regex

**Apply this only to the author's meditation work, in guided-script files.** It would break ordinary prose, so never fire it on general prose.

In meditation scripts, eliminate *not*, *don't*, *isn't*, *no*, *never*, *nothing*, and *without*, and say what things are: "stay relaxed" instead of "don't tense".

Flagged examples:

- "Don't let any tension remain; there is nothing you need to do."
- "No effort is required."

Skip quotations.

Maintained candidate pattern:
```text
\b(?:don'?t|do not|isn'?t|doesn'?t|won'?t|never|nothing|without)\b|\bno\b
```
Flags: gi

Applies only to meditation.

### Mirror-cliche self-description

ID: shared:mirror-cliche
Source: Shared writing catcher
Severity: info
Scope: Tom's preferences for fiction writing; preserve the rule's narrower conditions.
Detection: regex

**Fiction only.** In fiction, never have a character study a mirror to catalog their own appearance. Reveal appearance through contrast or through a salient, plot-relevant detail.

Flagged example: "She looked in the mirror at her green eyes and long auburn hair."

**Legitimate uses:** mirrors that serve plot or theme, such as a cracked mirror as a clue or a literal mirror in a physics demo. Skip quotations.

Maintained candidate pattern:
```text
\b(?:in|into) the mirror\b
```
Flags: gi

Applies only to fiction.

### Negation of the unreal (describing what is NOT happening)

ID: shared:negation-of-the-unreal
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

This began as Tom's fiction rule and generalizes to all prose: **do not negate a phantom alternative to assert what is happening.** Delete the negated phantom and show the thing itself as concrete physical action or a direct claim.

- Before: "The vertigo hit then, not metaphorical, actual."
- After: "The vertigo hit. The room tilted. She gripped the counter."

Another flagged example: "This wasn't just theory."

**Legitimate use:** keep the negation when it genuinely disambiguates a term the reader would otherwise misread as figurative, in a context where both readings are live and the distinction is load-bearing. Skip quotations.

#### Background

Tom originally wrote this as a fiction rule in capitals.

Maintained candidate pattern:
```text
\b(?:not (?:metaphorical|metaphorically|literal|figurative|imagined|hypothetical)|wasn'?t (?:just|merely|simply|metaphorical)|isn'?t (?:just|merely|simply))\b
```
Flags: gi

### Obtuse fluff announcing significance or effort without a concept

ID: shared:obtuse-significance-fluff
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

This flags sentences that **announce importance, difficulty, or effort while conveying no concept**: no checkable claim, mechanism, consequence, or specific.

Known forms include:

- "this is where it gets interesting"
- "here is the thing"
- "this is the crux"
- "bear with me"
- "stay with me"
- "it cannot be overstated"
- "let that sink in"
- "read that again"

The LLM monitor catches novel variants beyond this list.

To fix one, delete the announcement and state the idea itself, or add the concrete claim the sentence promised.

Flagged examples:

- "Here's the thing: it changes everything."
- "It cannot be overstated how important this is."

**Legitimate uses:** keep a sentence that flags and immediately delivers a specific, checkable claim in the same breath. Do not fire on legitimate transitions that carry content. Skip quotations and anti-example blocks.

This is a recall-first heuristic: the fixer or monitor dismisses sentences that do carry a concept.

#### Background

Tom asked for a hook that would catch novel forms of this pattern, which is why the LLM monitor covers variants beyond the known list.

Maintained candidate pattern:
```text
\bthat'?s\s+(?:the\s+(?:whole\s+|real\s+|entire\s+)?(?:point|beauty|magic|trick|crux|key|genius)|what\s+makes|where\s+\w+\s+(?:gets|comes\s+in))\b|\bthis\s+is\s+where\s+(?:it|things)\s+gets?\b|\bwhich\s+is\s+(?:exactly\s+)?the\s+(?:whole\s+)?point\b
```
Flags: gi

### Overstated intellectual genealogy

ID: shared:overstated-genealogy
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Do not present interpretive lineages as settled one-way transmissions. **First verify whether the evidence is documentary or interpretive.** If it is interpretive, lower the claim with wording such as:

- "in dialogue with"
- "often read through"
- "widely taken as"
- "develops in relation to"
- "frequently understood as carrying forward"

Mark historical fact and interpretation as different kinds of claim.

Flagged examples:

- "Deleuze derived his concept of singularity straight from Scotus."
- "Her method translated directly into the modern algorithm."

**Legitimate uses:** keep the direct claim when documentary evidence supports it, such as a documented citation, a letter, or a stated influence. Keep literal translation of a text or language. Skip quotations.

Maintained candidate pattern:
```text
\b(?:translated|derived from|carried forward|simply became|turned directly into|invented from|in a straight line from)\b
```
Flags: gi

### Overused AI vocabulary (cluster tell)

ID: shared:overused-ai-vocabulary
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

One or two uses of these words are coincidental. **A cluster of five or six is a strong tell**, and so is any single one that substitutes for specificity. Do not ban individual words by reflex; replace the ones that stand in for a concrete word.

Flagged examples:

- "Additionally, we leverage a robust, holistic framework to enhance the intricate tapestry of our ecosystem."
- "a comprehensive, nuanced, multifaceted approach"

**Legitimate uses:**

- "Ecosystem" for literal ecology.
- "Crucial" or "pivotal" where exact evidence follows.
- "Utilize" or "enhance" where they carry precise technical meaning.
- "Nuanced" where the nuance is then delivered.

Density and vagueness make the tell; the word alone does not. Skip quotations.

Maintained candidate pattern:
```text
\b(?:additionally|align with|crucial|delve|emphasizing|enduring|enhance|fostering|garner|interplay|intricate|intricacies|pivotal|showcase|tapestry|testament|underscore|valuable|multifaceted|utilize|robust|holistic|comprehensive|nuanced|ecosystem|notably)\b
```
Flags: gi

### Process-slogan / apparatus narration in titles or UI

ID: shared:process-slogan-title
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

Do not narrate, in reader-facing copy including titles and UI, the agent's evaluation order, page structure, source-checking habit, or page apparatus. **Name the news, the finding, the consequence, or the reader's subject.**

The rule also covers the apparatus vocabulary of the author's projects: "evidence trail", "source ledger", "the lab below", and "this page/section/module".

Flagged examples:

- "Facts Come Before Commentary"
- "Source-Checked Before Framing"

**Legitimate use:** keep the wording when the literal subject genuinely is a process or methodology being explained to the reader as content. Skip quotations and anti-example blocks.

Maintained candidate pattern:
```text
\b(?:facts? come before|claim before|comes before (?:advice|commentary|framing)|method and result|source[- ]?checked|source context|useful takeaway|before (?:advice|commentary|framing))\b
```
Flags: gi

### Reality hierarchy between abstract and concrete

ID: shared:reality-hierarchy-abstract-concrete
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

State the reality of each level on its own terms, and say they are intertwined. **Never adjudicate which is more real.**

The distinction to keep:

- **Degrees of alignment** are real and encouraged. Alignment means how faithfully an expression embodies what it connects to.
- **Degrees of reality** between abstract and concrete are forbidden.

Ordinary emergence language, such as "a level above the genome", is fine.

Flagged examples:

- "The abstract essence of a need is more real than any particular strategy."
- "The pattern transcends the particular instances."

**Legitimate uses:** ordinary emergence or level language that does not rank realness, and "more real than" in quoted philosophical sources being reported. Skip quotations.

**Scope:** this is the specific ontology of the abstract-evolution book. Outside that project, treat it as a watchlist item.

Maintained candidate pattern:
```text
\bmore\s+real\s+than\b|\btruly\s+real\b|\bthe\s+real\s+\w+\s+(?:is|was|are|were)\b|\bmere\s+(?:concrete|particular|implementation|instantiation|instance)\b|\btranscends?\s+the\s+(?:concrete|particular|physical|material)\b|\brises?\s+above\s+the\s+(?:particular|concrete|physical)\b
```
Flags: gi

### Rule-of-three / forced triad

ID: shared:rule-of-three
Source: Shared writing catcher
Severity: info
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

AI forces ideas into groups of three for false comprehensiveness. Two items often hit harder, and each item has to be there for a reason. **Check whether a triad is padded** ("fast, reliable, and scalable") **or genuinely three distinct, necessary items.**

Another flagged example: "innovation, inspiration, and industry insights"

The false-positive rate is high by design, because the check is recall-first, and the fixer should dismiss most hits. Keep any triad whose three members are genuinely distinct and necessary, technical enumerations, and lists that happen to have three real items. Flag clusters of several padded triads. Skip quotations and code.

Maintained candidate pattern:
```text
\b\w+,\s+\w+,\s+and\s+\w+\b
```
Flags: g

### Overused noun 'signal' (the author's news copy)

ID: shared:signal-overused-noun
Source: Shared writing catcher
Severity: info
Scope: Tom's preferences for news writing; preserve the rule's narrower conditions.
Detection: regex

**Scope: casual news and product copy within the author’s news writing** (project-scoped to the author’s news copy). There, do not use "signal"; reserve it for literal signal transduction or signal processing. Prefer *entries*, *reports*, *readings*, *claims*, *patterns*, or *items*.

Flagged examples:

- "This release is a strong signal of where coding agents are heading."
- "The data sends a clear signal."

**Legitimate uses:** literal and technical senses, such as signal transduction, signal processing, a radio signal, a traffic signal, or signal-to-noise. Skip quotations.

Maintained candidate pattern:
```text
\bsignals?\b
```
Flags: gi

Applies only to news.

### Significance / legacy / broader-trends inflation

ID: shared:significance-legacy-inflation
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

This flags **puffing up importance by tying an arbitrary fact to a broader topic**. Cut the inflation and state the concrete fact.

- Before: "established in 1989, marking a pivotal moment in the evolution of regional statistics"
- After: "established in 1989 to collect and publish regional statistics."

Flagged examples:

- "officially established in 1989, marking a pivotal moment in the evolving landscape"
- "This stands as a testament to the project's enduring legacy."

**Legitimate uses:** "deeply rooted" and "legacy" in literal botanical, genetic, or legacy-code senses. Skip quotations.

Maintained candidate pattern:
```text
\b(?:stands? as|is a testament|reflects? (?:a )?broader|symboliz(?:es|ing)|setting the stage for|key turning point|evolving landscape|focal point|indelible mark|deeply rooted|enduring legacy)\b
```
Flags: gi

### Simile crutch (like/as instead of an active verb)

ID: shared:simile-crutch
Source: Shared writing catcher
Severity: info
Scope: Tom's preferences for fiction writing; preserve the rule's narrower conditions.
Detection: regex

**Scope: lyrical and creative prose.** There, fold the comparison into the verb so the action carries the meaning.

- Before: "The rain was like tears."
- After: "Rain grieved down the window."

Another flagged example: "Her voice was like gravel."

**Legitimate uses:** do not fire in technical or expository writing, where "looks like" and "seemed like" are precise. Keep similes that genuinely earn their place. Skip quotations.

Maintained candidate pattern:
```text
\b(?:was|were|felt|looked|seemed)\s+like\b|\bas if (?:it|he|she|they)\b
```
Flags: gi

Applies only to fiction.

### Spiritual vocabulary (gratitude/meditation voice)

ID: shared:spiritual-vocabulary
Source: Shared writing catcher
Severity: info
Scope: Tom's preferences for meditation writing; preserve the rule's narrower conditions.
Detection: regex

**Scope: gratitude, meditation, and acknowledgment copy in the author's meditation work.** In that copy, never assert reverence with spiritual vocabulary. Let reverence come from accurate description of the real process.

Flagged examples:

- "The sacred energy of the earth flows through this blessed material."
- "This is your higher purpose manifesting."

**Legitimate uses:** "manifest" in its ordinary verb sense ("symptoms manifest as fever"), "vibration" in physics, and "divine" as a verb ("divine the cause"). Skip quotations.

Maintained candidate pattern:
```text
\b(?:sacred|divine|vibration|spiritual energy|source energy|blessing|blessed|manifest(?:ing|ation)?|higher purpose|the universe wants)\b
```
Flags: gi

Applies only to meditation.

### Reality-ranking reveal (the real X is Y)

ID: shared:the-real-x-is-y
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

"The real X is Y" implies that other things are less real. **Describe the thing directly.**

- Before: "The real skill isn't technical knowledge, it's being willing to ask."
- After: "The skill is being willing to ask"

Flagged examples:

- "The real reason the build fails is a stale lockfile."
- "What really matters is the data model."

**Legitimate use:** keep the construction when distinguishing a genuinely misidentified cause, where the reader holds a specific wrong belief and the correction is concrete. Skip quotations.

Maintained candidate pattern:
```text
\bthe real (?:issue|reason|problem|question|skill|story|point|trick)\s+(?:is|isn'?t|was)\b|\bwhat really matters is\b
```
Flags: gi

### Title-case heading

ID: shared:title-case-heading
Source: Shared writing catcher
Severity: watchlist
Scope: Tom's writing preferences; inspect the rule's conditions before applying it elsewhere.
Detection: regex

AI capitalizes all main words in headings. **Use sentence case:** capitalize only the first word and proper nouns.

- Before: `## How To Optimize Your Workflow`
- After: `## How to optimize your workflow`

Another flagged example: `## Strategic Negotiations And Global Partnerships`

**Legitimate use:** do not fire on headings dominated by proper nouns (names, product names, place names), where title case is correct. Skip quotations and code.

Maintained candidate pattern:
```text
^#{1,6}\s+(?:[A-Z][a-z]+\s+(?:a|an|and|as|at|but|by|for|in|of|on|or|the|to|with|from|into)?\s*){2,}[A-Z][a-z]+\s*$
```
Flags: gi

### You Can

ID: site:you-can
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check nominates capability framing, such as "you can", for review. How strongly a hit counts follows the shared catalog's current severity for the pattern.

### Absolute Claims

ID: site:absolute-claims
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags two kinds of overclaim:

- AI behavior asserted as a bare universal, in headers and titles.
- Hard causal overclaims.

**A capability claim must carry its condition.** Say when, if, or that the tool can do something, never that it always does.

### Vague Label

ID: site:vague-label
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags self-referential, contentless labels, such as "apply this article", "a setup you can paste", or "putting X to work". **Name the result the reader gets, or what the prompt does.**

### Vague Mental Verb

ID: site:vague-mental-verb
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags weak, vague mental-act and perception verbs:

- "name"
- "see"
- "watch"
- "read"
- "notice"
- "tell ... apart"

These verbs invite a fuzzy internal step or a passive look. **State the point, the result, or the check instead.**

### Aiism Redirect Signals

ID: site:aiism-redirect-signals
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags current probable AI-ism patterns as editorial redirect signals. **A hit is neither proof of an AI-ism nor an automatic ban;** it marks a sentence for an editor to reconsider.

### Significance Signaling

ID: site:significance-signaling
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags stock phrases that **announce significance instead of explaining it**.

### Contrastive Negation

ID: site:contrastive-negation
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **formulaic** "not X but Y" contrastive framing.

### Causative Resultative

ID: site:causative-resultative
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags the shape "X gets Y ready": an abstract subject, a causative verb, and a resulting state. **The construction can hide the action** that produces the result.

### Misapplied Compounding

ID: site:misapplied-compounding
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

**What it flags:** uses of *compounding* to describe growth. Senses of the word that do not describe growth fall outside the check.

**What the review asks:** compounding carries a requirement of **actual exponential growth**. Each flagged use is reviewed against that requirement. A use stands when the growth it describes is exponential, and it is misapplied when the growth is not.

The error severity marks a hit for review on this site; it does not make the word a universal ban.

### Economic Metaphor

ID: site:economic-metaphor
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check blocks **figurative** money language for the value of ideas, habits, or steps, such as "worth", "pays off", "payoff", and "earns its place". The condition is the figurative use: money words standing in for the value of an idea, a habit, or a step.

### Prescriptive Singular

ID: site:prescriptive-singular
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags stock numerical advice that **hides the intended priority, trial, or completed result**.

### Numeric Prescription

ID: site:numeric-prescription
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check requests **contextual review** of counted advice and output quotas. It covers numbers written as digits and larger numbers written out in words.

### Revision Residue

ID: site:revision-residue
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags finished prose that mentions discarded wording, an earlier draft, or the editor's correction. **The finished text should state the corrected claim instead.**

### Circumvention Advice

ID: site:circumvention-advice
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **advice to route around an employer's controls**, such as using a personal account to dodge a locked-down work account.

### False Negation Reframe

ID: site:false-negation-reframe
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags "X is not a Y; it is a Z" reframes **where the negation may be factually false**. Denying an obvious category to sound sophisticated is a common AI writing tic.

### Overused Ai Vocab

ID: site:overused-ai-vocab
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags common model-default vocabulary. **Stronger terms are caught immediately.**

### Superlative Claims

ID: site:superlative-claims
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags unscientific superlative claims that **assert a ranking without evidence**.

### Closed Set Enumeration

ID: site:closed-set-enumeration
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags closed-set enumerations such as "the N things you act on", which **frame an open set as the complete, only set**.

### Concrete Not Metaphor

ID: site:concrete-not-metaphor
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags phrasing that **replaces a plain, concrete claim**:

- transport metaphors
- placeholder action nouns
- convolution phrasing

### Value Teaser

ID: site:value-teaser
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags value-teaser fluff that **announces a result is coming instead of delivering it**.

Flagged examples:

- "Here is the part that saves you time"
- "here's the catch"
- "Here is the payoff"
- "here's where it gets interesting"

### Manufactured Expectation

ID: site:manufactured-expectation
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags the manufactured-expectation straw man: the text **tells the reader what to expect so it can knock that expectation down**.

Flagged examples:

- "You might expect X... that is rarely how it works"
- "You might expect to dig through menus. You do not."

### Filler Real

ID: site:filler-real
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags "real" used as an **empty intensifier** before a noun, where it adds no meaning.

### Vapid Openers

ID: site:vapid-openers
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check blocks generic opening frames that **could introduce almost any AI article**.

### Unearned Profundity

ID: site:unearned-profundity
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags dramatic gestures toward profundity that **do not add information**.

### Filler Phrases

ID: site:filler-phrases
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags filler phrases that can **usually** be cut or simplified.

### Rhetorical Fluff

ID: site:rhetorical-fluff
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags sentences that **announce importance without carrying the idea**.

### Mid Sentence Rhetorical

ID: site:mid-sentence-rhetorical
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **dramatic question-fragment transitions**.

### Copula Avoidance

ID: site:copula-avoidance
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **inflated substitutes** for *is*, *are*, and *has*.

### Staccato Fragments

ID: site:staccato-fragments
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **three or more consecutive very short sentences** in one paragraph.

### Declarative Stacking

ID: site:declarative-stacking
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **four or more consecutive short declarative sentences** in one paragraph, where each is subject-verb-object and 4 to 14 words long. The run marks syntactic monotony.

### Conditional Opener Repetition

ID: site:conditional-opener-repetition
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **three or more paragraphs, within any sliding window of four**, that open with conditional clauses such as "When X", "If X", "Once X", or "After X".

### Restatement Padding

ID: site:restatement-padding
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags sentences that **announce a redundant restatement** of a point already made.

Flagged openers:

- "In other words,"
- "What this means is,"
- "The point is"

### Generic Conclusions

ID: site:generic-conclusions
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **empty conclusion lines**.

### Maya Name Ban

ID: site:maya-name-ban
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check blocks the overused placeholder name **Maya** in public content.

### Manual Questionnaire

ID: site:manual-questionnaire
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check blocks reader questionnaires embedded in books and guides, so that **exercises become assistant-led prompt templates**.

### Marketing Vocab

ID: site:marketing-vocab
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check blocks the marketing verbs and slogans that the writing standards ban **in teaching and article copy**.

### Not Only But Also

ID: site:not-only-but-also
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags *not only ... but also* constructions.

### Significance Adjectives

ID: site:significance-adjectives
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags importance adjectives **when they cluster**.

### Em Dashes

ID: site:em-dashes
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check blocks em dash punctuation, and also the double hyphen (`--`) used as an em dash substitute.

### Editorial Scaffold Leak

ID: site:editorial-scaffold-leak
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check keeps private planning fields (**source, action, result, review**) out of learner-facing prose.

### Contrastive Superiority

ID: site:contrastive-superiority
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags positioning that **tears down unnamed others** to sound superior.

### List In Paragraph

ID: site:list-in-paragraph
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **inline numbered lists** embedded in prose paragraphs.

### Abstraction Denigration

ID: site:abstraction-denigration
Source: Site writing linter
Severity: error
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check blocks using *abstraction* **as a synonym for vagueness or useless theory**.

### Infrastructure Jargon

ID: site:infrastructure-jargon
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags **implementation-level MCP language** in reader-facing article and guide text.

### Unexplained Acronyms

ID: site:unexplained-acronyms
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check nominates acronyms in **headings, titles, and callout titles** for review of whether the reader will know them in context.

### Vague Referent

ID: site:vague-referent
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

In teaching content, this check flags vague nouns such as "the system" or "the tool" **when no specific referent is established nearby**.

### Stacked Jargon

ID: site:stacked-jargon
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

In guide content, this check flags sentences with **several technical terms stacked together**.

### Framing Self Reference

ID: site:framing-self-reference
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags self-referential book framing:

- announcing what "this book is about"
- claiming that one sentence, loop, or idea carries or is the whole book

### Imperative For Hypothetical

ID: site:imperative-for-hypothetical
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags an **imperative used to voice a hypothetical**: a command verb coordinated with a consequence clause about a third party, with no conditional setup word.

### Judgment As Endpoint

ID: site:judgment-as-endpoint
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags framing that treats human judgment as sacrosanct or as the final authority. **The aim is the best aligned outcome, whether it comes from a human or from AI.**

### Primacy Ranking

ID: site:primacy-ranking
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags claims that crown one factor or skill as primary, central, or the master key, **when relative importance cannot be known**.

### Premature Universalization

ID: site:premature-universalization
Source: Site writing linter
Severity: warn
Scope: This site's editorial checks. Error severity is not a universal language ban.
Detection: site-detector

This check flags one-cause soundbites that **collapse a multi-causal idea into a single driver**.

Flagged phrasings:

- "comes down to"
- "all you need is"
- "the one thing that drives it"

## Full editorial reference

### Hard bans

These never belong in Tom's prose. Lexical bans are marked `hardBan` by the catcher; contextual bans require semantic judgment against their canonical criteria.

#### imperative-defaulting

Rewriting an authored explanation, possibility, invitation, or qualified judgment as a command changes its relationship to the reader and can erase conditions, degree, or optionality.

Apply the canonical authored-meaning-and-stance criterion to the source and revision together. Repeated commands in explanatory prose also require contextual review. Preserve genuine authored instructions and procedural steps.

This is a semantic criterion, not an imperative-count rule, verb blacklist, or requirement that every sentence be declarative; the shared criteria registry sends the canonical criterion to the judge.

#### unstated-noun-referent

Nouns must identify a discernible concept. Apply the blocking criterion unstated-noun-referent, which owns the requirement, contextual test, and exceptions.

"Corrections", "improvements", "results", and similar nouns can conceal an unnamed action, object, or relationship. Neither a quality adjective nor a more specific destination resolves that missing meaning.

This is a semantic ban, not a word blacklist. The shared criteria registry includes it in the judge rubric automatically.

#### em-dash

The em dash (U+2014) gives prose an ad-copy cadence. Restructure with a colon, semicolon, comma, or participial phrase.

#### not-just-but

The contrastive-negation template (`not just X, but Y`, `it's not about X, it's Y`) spends words clearing away a weaker claim before stating the real one.

Lead with the positive claim. Delete the negated clause and read what remains; if it stands on its own, keep only that.

#### abstraction-denigration

Abstraction is epistemically essential: a real pattern expressible in many concrete forms. Describe what an abstraction is and does. Pair a concept with a concrete example rather than writing "make the abstract concrete".

#### matters-because / that-matters / for-a-reason

Significance scaffolds caption importance instead of stating it. Name the work the idea does: it distinguishes, protects, reveals, limits, connects, prevents, or makes something visible.

#### is-something-you-can

A definition built as "X is Y you can [verb]" ("The report is a record you can review after the run") pads a plain statement with the reader's capability. State what the thing is or does.

Plain uses of "you can" are governed by **you-can** under Voice and tone tells.

#### counted-label

A heading, bold lead, or label made of a count and a vague noun: "Two moves", "Four jobs", "Two steps", "One proposal and four checks". The reader learns how many and never what.

Write what the reader does with which idea, or name the exact subject, in the form its own section calls for. Swapping the count for an article ("Choosing a Moment") leaves it as vague.

**Read the rewritten headings as a set.** A 2026-10-04 cleanup pass turned counted headings into long claims of one construction: "Two rates decide everything" became "Tracking depends on how fast the surface changes relative to how fast the population climbs". Tom answered "the same 'A ___ is a ___' frame on every heading; everything is about variability". See plan the headings as a set.

**Counts that carry a fact stay:**

- a duration
- an amount
- a math choice
- "Step 1 of 5"
- a real title
- a heading that opens a claim ("One of the hardest problems ...")

#### Hard-ban status, and how any hard ban is fixed

**placeholder-action-noun**, **has-teeth**, and **doorway-key-unlocks** are hard bans as of 2026-10-04. Their entries below hold the patterns and the literal uses that stay (a chess move, a door key). They apply in every project, as do the other hard bans.

**Fixed where caught.** A hard ban is fixed where it is caught, by rewriting the sentence; nothing waits on Tom. That holds for new writing and the lines being edited.

**Passes over old copy.** In old copy, a hard ban usually sits in an entry an agent wrote, and swapping a few words leaves the rest of that entry as weak as before. Reading each piece is most of the cost of a pass over existing content, so the pass rates every piece it reads against the project's quality bar and rewrites the weak ones whole, banned words included. A piece already due for a rewrite is left for that rewrite.

Before the pass, find out which content will be rewritten and tell Tom what the pass will cost.

#### Additional contextual bans

These entries below are also part of the hard-ban inventory:

- **financial-metaphor**
- **misapplied-compounding**
- **value-judgment-worth**
- **invented-agency**
- the blocking scope of **prescriptive-singular**

Read their definitions and legitimate uses; their location outside this list does not make them optional.

#### Where hard bans are caught

The bans cover every piece of prose Tom reads, including plans, reports, work ledgers and chat replies, and each piece goes through the catcher before he sees it.

On 2026-10-05 a plan and its chat summary reached Tom with em dashes, "One central question per chapter" and "the shape", because `copy-fix-after-edit.mjs` skipped every file under `the applicable writing standards` and no check read chat replies. Tom: "your suggestions you gave me were FILLED with BANNED AI-isms".

The hook now runs at two points:

- After each edit, it lints `the applicable writing standards` and `the applicable writing standards`.
- At Stop, it lints the reply that just ended and sends the agent back once to resend it with each ban rewritten.

### Tom's named patterns

Added in May 2026 from live editing.

#### unmarked-name

A name introduced in prose goes in quotation marks or bold, and a coined name of a check, method, or feature stays marked on every use.

"A check called the because test" makes the reader parse "because" as a conjunction; write "a check called the “because” test."

The catcher flags `called`, `known as`, `nicknamed`, and `referred to as` followed by a bare word. Other senses of the verb (called for, called the police) and names inside quoted passages stay.

Canon: `the applicable writing criterion`.

#### buys-payoff

Figurative "buys you" / "purchases". "The Jacobian buys you the easy version" hides the mechanism.

State what becomes available: "For continuous-time dynamics near a fixed point, the Jacobian describes how a small displacement changes the velocity."

Literal commerce stays.

#### financial-metaphor

The whole financial family used for intellectual or pedagogical value, generalizing buys-payoff: "paying rent", "payoff", "repays the effort", "pays dividends", "price of admission", "the currency of X", "cashing in", getting a result "for free", a property that "earns its name".

State the concrete capability or consequence:

- "They keep paying rent" becomes "they have kept solving new problems in every century since".
- "you get the second theorem for free" becomes "the second theorem follows at once".

**Hard ban in all authored prose since 2026-09-23**, covering "pays off", "earns its place/keep", "spend attention", and "cognitive budget/tax" as well. Tom called these overused AI-isms and wants them gone unless the passage is about an economic concept.

**What stays:**

- Ordinary idioms of effort are not in the family: "investing time and energy", "spend the effort" are common usage and stay.
- Literal money stays (a tenant's rent, a fund's dividends, a free download, bank-account arithmetic used as a math example), and game-theory terms of art stay (payoff matrix, payoff function).

A Tom session addition, Jul 2026, after "keeps paying rent" and "the payoff is leverage" shipped in lesson prose that only the narrower buys-payoff regex was guarding.

**Points and XP are covered too:** a lesson, test, answer, or habit never "pays"; it gives or awards XP, and "a wrong answer never pays" becomes "a wrong answer gets no XP". "Earn XP" is the game's own verb and stays.

#### misapplied-compounding

In claims about growth or improvement, "compound", "compounds", "compounded", and "compounding" are **banned unless the passage establishes actual exponential growth**: successive gains are proportional to the accumulated amount, as in repeated multiplication of the prior total.

Feedback, recursion, reuse, accumulated lessons, a more capable system, or improvements that help later improvements do not establish this. Adding "recursive", "exponential", or "no promise of a steady rate" does not justify the claim.

State what happens: the setup improves over time, saved examples catch more kinds of error, or the assistant handles more tasks. Do not invent a rate or growth mechanism to keep the word. Rewrite the complete thought as finished prose without discussing the removed wording.

**Exception:** literal technical uses such as compound interest, chemical compound, and compound sentence remain valid.

The catcher nominates other uses for semantic review; even a numerical claim needs evidence that the quantity actually grows that way.

#### revision-residue

Finished prose must not narrate the wording it replaced. "The previous version called this compounding", "rather than calling these gains compounding", and "this used to say" make the reader watch the editor work instead of learning the subject.

State the corrected claim as if it had always been written that way.

**Where earlier wording may appear:** editing instructions, redlines, changelogs, textual scholarship, and real comparisons of historical document versions may discuss earlier wording. Reader-facing articles, lessons, headings, and UI copy should contain only the finished claim.

#### prescriptive-singular / numeric-prescription

State the intended priority, selection criterion, trial, comparison, or completion evidence. Numbers must carry information the reader needs. "Find one way", "do the one thing", "choose ONE thing and make it work", and arbitrary quotas such as "write three takeaways" replace that information with a count.

Read the surrounding passage before revising.

- If the point is priority, identify the valuable work that is feasible now.
- If the point is a manageable trial, choose a representative case that can expose failure.
- If the point is a summary, include the decisions, changes, or evidence the recipient needs.

"Choose one thing and make it work" can become "Choose the recurring task that costs you the most time and test the automation on your next real request" when that is the intended lesson. A sentence about choosing useful, easy work may instead call for the most valuable low-hanging fruit.

Do not substitute a stock alternative, replace one with a/an, or invent a criterion. Rewrite the complete thought.

**Audit the whole passage.** Check spelled-out numbers, digits, ranges, ordinals, and repeated recipe counts throughout the prose; detection is only a starting point.

**Keep:** facts, mathematics, dates, versions, measured totals, necessary schemas or formats, real capacity and batching limits, comparisons, per-item allocation, and demonstrated test designs. A numbered list or exercise does not by itself justify its length.

The compatible `prescriptive-singular` ID now blocks stock singular prescriptions; `numeric-prescription` flags broader counted advice for semantic review, including quantities above three. Neither rule applies automatic rewrites.

#### honest-hedging

"One honest caveat", "to be honest", "honestly", "in all honesty". The hedge adds nothing. State the caveat and its consequence.

Prose genuinely about honesty as a subject stays.

#### has-teeth

"has teeth", "gives it teeth", "with real teeth". Name the actual force or consequence: "The rule has teeth" becomes "Violating the rule voids the warranty."

#### invented-agency

**Contextual hard ban.** A thing is given a person's act, or a fact is carried by a figure the reader has to decode: a minus sign that "said so", a sun that "walks through London's year and lifts each date", a test that "would never admit" something, a curve that "wants" to flatten, genes that "listen", data that "tells a story".

The reader has to translate the sentence back into the fact before using it, a learner can take it literally, and the page reads as the writer performing.

Write the plain literal statement, the version a teacher would say across a table:

- "the reflection flips the plane over, so its determinant is −1"
- "the graph gives London's day length on each date"
- "The SAT is pretty predictable"

The principle and its test are in `the applicable writing criterion` (talk to the reader the way a good tutor would).

**Kept:**

- a subject's conventional verbs, literal in its language (a map sends a vector, a point lies on a line, a theorem states, a graph shows, a population grows);
- the real acts of people and organizations;
- a comparison that works as a model with its limit stated (`the applicable writing criterion`).

Swapping in another verb of speech, intent or motion for the same thing keeps the defect.

has-teeth, doing-the-work, trendy-verb-pins-down, vague-payoff-cliche and the catcher's trendy-cute-verb list are instances of this mechanism; the catcher nominates only those listed verbs, so reviewers read every sentence for the rest.

#### doing-the-work

"doing all the work", "the heavy lifting", "carries the weight", "pulls its weight". Name the mechanism: "The exponent is doing all the work" becomes "The exponent sets how fast error grows, so it alone decides whether the trajectory diverges."

#### empty-intensifier

The pattern covers:

- "honest", "real", "true", "genuine" used as emphasis on a framing noun ("the honest middle", "the real magic", "the true story");
- "truly/genuinely/really/honestly" before an evaluative word ("truly remarkable", "really matters").

The word asserts importance instead of showing it and adds nothing. State the property or mechanism: "the AND gate is the honest middle" becomes "the AND gate sits in the middle, mixing redundancy and synergy."

**Load-bearing uses stay:** real numbers, true positive, truth value, "honest" about actual honesty, or a "real" that overturns a specific stated illusion.

#### opaque-jargon-slaving

"slave", "slaved", "slaving" in the synergetics or singular-perturbation sense ("you may slave the fast variable", "the complex is slaved to the substrate", "Tikhonov's slaving theorem"). The term is opaque and off-putting to a beginner.

Say what happens: the fast variable is eliminated, settles to a value the slow variable fixes, follows the slow variable, or is set by it. Gloss the term of art at most once.

This is the catchable case of the broader rule in `the applicable writing criterion`: define or replace specialist jargon at first use, and never use a needlessly off-putting term when a plain word carries the meaning.

Prose about actual slavery stays.

#### vague-perception-verb / vague-mental-verb

See, watch, and read are banned as vague verbs, and name, notice, and tell apart are the same family. A headline, label, or direction that invites a look ("Watch your agent secure your computer", "See all", "Read more") gives a passive act where the point belongs.

Say what the reader gets, what happens, what the control does, or what to check: "Choose what your agent secures and get a live report of each check"; "Show all 12 steps". Another perception or stock verb (view, look at, understand) keeps the defect.

**Literal uses stay:**

- data access ("the assistant can see your email")
- playing a video
- reading a book or article as the activity
- an agent told to read a source
- "read X as Y" (Tom approved "You can read a matrix as a map", 2026-10-05)
- naming an object
- the posted-notice noun
- tell meaning instruct
- Tom's own wording

The catcher hard-bans headline or imperative Watch, See, and Read-why/how/more, and invitational watch, as `vague-perception-verb`; `vague-mental-verb` nominates the rest for review.

Tom rejected a count-driven rewrite of approved titles (2026-10-03).

#### placeholder-action-noun

"move", "shape", "signal", and "rule" used as labels that force the reader to infer the action, structure, evidence, or instruction. Write the concrete verb with its object and result.

- "Use the same four moves in both apps" becomes "Give both apps the job, source, limits, and quality check."
- "The lines that shape the reply" becomes "the lines the reply must reflect."
- "Progress signals" becomes the records themselves, such as completed courses, saved items, and test-outs.
- "Output shape" becomes "required sections and fields" unless the surrounding sentence already defines the structure.

**Keep literal and defined uses:** a chess move, a file moved to a named folder, a geometric shape, a stated schema, an electrical or statistical signal, a named mathematical rule (the chain rule, the distributive rule), or a saved instruction whose trigger and behavior are both stated.

**What does not count as defined.** A function, map, or recurrence called "the rule" is not a defined use; see **rule-for-function** below. Defining the placeholder yourself does not make it a defined use either: an interactive search course defined "a move" as one permitted change between options and then used the word about 190 times, and it still failed.

When a concrete word carries the meaning (step, change, neighbor), use it and keep the formal term only where the formal notation is taught. A numbered set stays only when the passage immediately enumerates a genuinely closed set and names every item.

The `placeholder-action-noun` rule nominates high-risk phrases for contextual review.

#### causative-resultative

Check whether the surrounding explanation identifies the change, relationship and relevant conditions. “Practice turns concepts into capabilities” promises a result without explaining the practice or usable capacity. Describe what learners do and what that prepares them to do.

**Accurate uses remain.** Literal physical causation, a defined mathematical transformation and an already explained mechanism can use makes, keeps or turns into accurately. They do not require an invented human actor. A short summary can rely on the mechanism established immediately before it.

Preserve the author's explanatory or instructional purpose; do not turn an explanation into a command or swap the verb merely to clear the match.

The catcher nominates the grammatical form for contextual reading. Its frequency in current models is not established by this entry.

#### closed-set-enumeration

Check whether the count and claim of completeness are justified. A defined finite set, an explicitly chosen taxonomy or a faithful reference to items already listed may use its count.

When "the four things you act on" hides an arbitrary selection, explain what qualifies: for example, record the decisions and requests that need follow-up, with the owners and deadlines the task needs.

Do not invent a taxonomy to preserve a number, delete the number while leaving the subject vague, or change the to a as a repair. Read the whole passage before deciding whether anything is missing.

This is a contextual review of scope and useful selection; the matcher alone cannot establish that a set is open or exhaustive.

#### hardcoded-cross-reference

A pointer to other content by a hand-typed ordinal (Course 4, Chapter 3, Lesson 2, Module 5) or a copied fixed title ("as you saw in Drafting Emails in Your Voice").

The number or title goes stale the moment content is reordered or renamed, because the catalog (each course's slug, title, and `displayOrder`) is the one source of truth for sequence and naming, not a copy living in prose.

**Repair, in order of preference:**

1. **First choice:** drop the pointer and teach the idea where the reader needs it, so the lesson stands on its own.
2. Only when a cross-reference genuinely earns its place, resolve it from the catalog at render time (the live `course.title` linked to `/courses/[slug]` through `getCourseBySlug`), never a number or title typed by hand.

"From Course 4, you learned a saved instruction is a skill" becomes, taught directly, "Run `/skill-creator`, give the skill a name you will type to trigger it, and add a one-line note for when to use it"; if the link truly earns its place, render the live course title from the catalog instead.

When a course teaches saving a reusable routine as a skill, name the `/skill-creator` command and the step of naming the skill (its trigger) plus a short when-to-use, rather than pointing at whichever course first defined "skill".

Sibling of "Reference structure by name, not by bare number": an opaque, brittle pointer where a self-contained claim or a softcoded link belongs.

#### advise-circumventing-controls

Teaching prose that tells the reader to route around an obligation they owe to someone else, instead of following the rule or asking the owner. This is **not an aesthetic tell but a safety and compliance ban.**

**The defect that shipped** in a beginner install course: "A locked-down work account often has rules an administrator set that grey out settings you will want to change, so you sign in with a personal account instead." That advises evading an employer's IT controls, which can breach company policy and contracts and put the reader at legal risk.

The class covers routing around an employer's IT policy, an administrator's settings, a security or permission guard, a software license, or a contract, and any framing of such a control as an obstacle to dodge.

Match the account or tool to the work: a personal account for a personal setup, the work account under the employer's rules for work. When a control blocks something, ask the owner (the administrator), do not route around it.

- **Before:** "Sign in with a personal account rather than your locked-down work account so settings are not greyed out"
- **After:** "Match the account to the work; for a personal setup use a personal account, for work use your work account and follow your organization's rules, and if an administrator greys out a setting, ask the administrator about it."

**What stays:**

- legitimate security advice (turn on two-factor, download from the official maker, rotate keys);
- naming a vendor permission tier whose name happens to be "bypass permissions" or "full access";
- advising the reader to follow the rules;
- a clearly-marked wrong quiz answer that names the bad move without urging it.

The `circumvention-advice` lint rule catches the canonical account-swap shape at error severity (registered in `ai-thomasmeli`'s writing-lint and run over every course prose field by the course catalog test). The paraphrased long tail of dodging a license, a security guard, or a contract is left to content-lint review.

#### imperative-for-hypothetical

An imperative-mood command voices a hypothetical or illustrative scenario instead of a real instruction, with no setup word to mark it as conditional. "Store one of those in a single tool and every other tool works without it" reads as a direction to store the rule in one tool, when the passage is describing the mistake of doing exactly that.

English lets a command stand in for a conditional antecedent ("Do X and Y happens" means "If you do X, Y happens"), so a model states a supposition without writing "If", "Say", "Suppose", or "When", and the reader parses a direction they were never given.

Mark the hypothetical with a setup word, or recast the clause as a declarative. "Store one of those in a single tool and every other tool works without it" becomes either:

- "If you keep one of those in a single tool, every other tool works without it", or
- "A preference kept in only one tool never reaches the others".

**The exception is real and load-bearing:** keep the imperative when the reader genuinely is being instructed to do the thing. "Split the job into stages, and each stage gets one focus" and "Give each email type its own skill" are recommended moves the lesson wants the reader to take, so the command is correct there. Preserve genuine authored instructions; a qualified recommendation or explanation must not become a command merely because its action might be useful.

**Not this pattern:**

- A genuine two-step instruction that continues with another bare imperative ("Read the path and state which jobs it covers").
- A declarative that merely coordinates two clauses ("The rule lives in one tool, and every other assistant works without it"), which is not an imperative at all.

The `imperative-for-hypothetical` lint rule flags the canonical structure (a clause-initial command verb coordinated by "and"/"then" with a third-party consequence clause, "... and every other tool works", "... and the rest of the house walks") at warn severity and defers the keep-vs-rewrite verdict to the fixing agent. It is deliberately not wired into the zero-tolerance course gate, because that verdict needs judgment.

Sibling of causative-resultative: a grammatical mood standing in for the plain claim. A Tom session addition, Jul 2026.

#### fabricated-personal-asset-prompt

A pasteable teaching prompt that invents the reader's own content, voice, or data and then saves it as a reusable personal asset. This is **not an aesthetic tell but a safety ban:** the toy prompt corrupts the reader's real setup.

**The defect that shipped** in a "My First Skill Router" micro-project: the step-one prompt pasted two made-up writing samples ("Thanks for the quick turnaround. I have one question on the timeline before we lock it," and "yes please, count me in. just tell me what to bring and I am there.") and told the assistant to save each as a `voice-work` and `voice-personal` skill. The samples are not how the reader writes, so saving them installs a wrong voice into the reader's own system and every later draft inherits it.

The class covers any prompt that fabricates the reader's voice, style, profile, preferences, or history and persists it as a saved skill, file, or routine the reader will reuse.

The fix is to have the assistant:

1. locate and read the reader's actual material (their sent mail, their messages, the documents they have shared);
2. surface what it found with lines pulled straight from that material;
3. confirm with the reader before saving anything.

If it cannot reach the material yet, it asks what to connect or paste and never invents a stand-in. The site's `locate-source` capability already names this move: connect a source so the assistant reads your own material instead of a blank page.

- **Before:** "Here are two short samples of how I write: [invented text]. Save each as a voice skill."
- **After:** "Read the writing I have actually sent, find the distinct voices I write in, show me each with lines pulled from my own writing, wait for me to confirm, then save each as its own skill; if you cannot reach my writing, tell me what to connect or paste, and do not invent a voice for me."

**Demo inputs stay fine.** A demo input used once and discarded is acceptable (a sample meeting note the reader summarizes and throws away); the ban is specifically a fabricated input that gets saved as the reader's own asset.

A focused guard in `ai-thomasmeli`'s `src/features/my-first/data/registry.test.ts` checks that any My First prompt saving a voice or style asset directs the assistant to use the reader's own writing and carries no pasted personal sample.

### Science-writing patterns

Added May 2026 from live editing of the decomposability course.

#### rule-for-function

**Warning** (stored as `watchlist`). Review whole-word "rule" and "rules" in context.

Name the actual object or relationship: a derivative, function, mapping, recurrence, differential equation, constraint, or decision criterion. For $y' = f(y)$, the differential equation relates amount and rate; $f$ is the rate function and $y'$ is the derivative. Choose the term the mathematics requires.

**What stays.** Named rules such as the chain rule, product rule, Cramer's rule and rules of inference stay, as do actual rules of games, procedures, policies and software configuration.

The broad catcher intentionally nominates those legitimate neighbors too. A reviewer records each retained occurrence with its rationale through the reviewed-warning workflow in `../the applicable writing criterion`; ordinary scans do not ask for that judgment again while the local context is unchanged.

This is a warning, never an automatic replacement or a hard ban.

#### share-for-fraction

"share" used as a noun for a fraction, proportion, probability, or weight: "its share of the days", "swaps the shares", "each cell is its row's share times its column's". The reader has to guess which quantity is meant, and whether it is a number at all.

Name the quantity (the fraction of the days in a row, a probability, the weights of an average) and give its value where it helps.

**What stays.** The verb stays (two variables share 0.71 bits; two actors share a co-star), as do shares of stock, market share and a fair share in writing about money.

#### superlative-as-fact

Bare superlatives asserted as fact about the science or the exposition ("the cleanest case", "the sharpest controversy", "the strongest argument", "gold standard"). The ranking is almost never literally true and reads as a headline.

State the specific property:

- Before: "the cleanest physical case of a whole that does not come apart"
- After: "a physical case of a whole that does not come apart"

**What stays.** Genuine terms of art stay: best rank-k approximation, least upper bound, shortest path. A defensible standard descriptor (the Ising model as the simplest model of a magnet) and a superlative the text explicitly earns can stay.

#### hyperbole-for-effect

A number, scale, or scope stretched for emphasis ("larger than the number of atoms in the universe", "infinitely harder", "breaks every rule"). One false-for-effect claim discredits the piece for a reader who checks.

Verify the magnitude and state it literally:

- Before: "2^100 is larger than the number of atoms in the universe" (false: about 10^30 against about 10^80 atoms)
- After: "2^100 is about 1.27 × 10^30. At a billion operations per second, that many operations would take about 4 × 10^13 years"

A genuinely unbounded "infinite" mathematical quantity stays.

#### model-reality-literal

A physical thing said to BE a mathematical object ("the three-photon state is literally an order-3 tensor", "the system is just a graph"). The thing is described or represented by the math, not identical to it.

Use a representation verb: "quantum theory describes the three-photon state with an order-3 tensor".

**The defect runs both ways.** A formal object said to BE a physical quantity or another model's quantity ("the metric's time part is Newton's potential", "Hamiltonian eigenvalues are energies") gets a role verb too ("acts as", "plays the role of", "gives", "measures").

**What stays.** The model-property can still track a real structural property; keep that claim. Defining the math object itself ("a tensor is a multi-way array") stays.

See `the applicable writing criterion`.

#### trendy-verb-pins-down

"pins down" or "pinned down" with a theory, model, equation, or axis as the subject. Use a plain accurate verb: describes, represents, specifies, determines, fixes, is given by.

An ordinary idiom with a person or measurement as subject ("the questions needed to pin down its value") can stay.

### Significance, payoff, and threshold scaffolds

#### significance-captioning

Significance captions take forms such as these:

- a caption phrase: "plays a key role", "is important because", "marks a turning point", "the significance of"
- the same caption at the end of a sentence: "and that step is the part to practice", "they're where the learning happens"

Let the specific fact carry its own weight; replace the caption with the consequence, or say what the reader does next.

#### doorway-key-unlocks

"the first doorway", "at its core", "the key is", "this unlocks", "the secret is". Stock threshold language, and a **hard ban**.

Name the exact mechanism, consequence, or step the learner takes.

#### by-understanding

"by understanding X, you can Y". Name the action or comparison the learner can now perform.

#### vague-payoff-cliche

"tells the whole story", "the whole story", "tells you everything", "at the heart of", "changes everything", "decides everything", "paints a picture", "captures the essence". These announce that something is significant or sufficient without saying what it is or does.

State the concrete fact: what the one measurement is enough to determine, what specifically changes, or what the actual central mechanism is.

- Before: "one thermometer per room tells the whole story"
- After: "one thermometer per room is enough, because the desks in a room already match each other"

#### value-teaser

"Here is the part that saves you time", "But here's the catch", "Here is the payoff", "here's where it gets interesting". A sentence whose only job is to announce that a payoff is coming, then delivers it in the next sentence.

Delete the announcement and lead with the payoff itself: the time-saving fact, the point, or the result.

- Before: "Here is the part that saves you time. Working with both is the same skill"
- After: "Working with both is mostly the same skill, so learning one teaches you most of the other."

**Enforcement.** Enforced at error severity by the writing-lint rule `value-teaser`. Magic, secret, and trick are excluded because they routinely introduce a concrete artifact ("the secret key", "the magic number").

#### manufactured-expectation

Typical forms:

- "You might expect one to be the good one and the other to wait in reserve... That is rarely how a strong pair works"
- "You might expect to dig through settings menus. You do not"
- "You might expect this to mean Y, but it actually means Z"

A straw-man scaffold that tells the reader what to expect so it can be reversed. An invented expectation introduces an unsupported claim about the audience and delays the idea the passage should explain.

Delete the false premise and lead with the true claim, stated plainly and concretely: "You keep both Claude and Codex because two capable assistants give you a second take when you are stuck and something to compare against."

**Genuine misconceptions.** When a lesson tests a belief real readers hold, name the obvious answer before examining where it fails, as Tom approved on 2026-10-07 in `teaching/the applicable writing criterion`. Preserve that productive question; remove invented expectations.

A real misconception still needs evidence from the audience or subject, rather than an assumption about what every reader believes. Wording alone does not establish whether a misconception is real. A claim that "most people assume" something needs support; swapping that phrase for "you might expect" leaves an invented premise intact. Preserve the named lexical bans at their stated scope while giving a genuine prediction or misconception an evidence-backed formulation.

**Enforcement.** Enforced at error severity by the writing-lint rule `manufactured-expectation`:

- Caught by the rule: "you might/may/would expect", "contrary to what you", "you'd be forgiven for thinking"
- Left for editor judgment: bare "you might think", "most people assume", and "it is tempting to think" (which often names a genuine misconception rather than a manufactured one)

**Root cause is upstream.** A content-generation prompt that instructs the editor agent to write "You might expect X, but it means Z" reproduces it, so the generator instruction must forbid manufacturing an expectation while still allowing the agent to preempt a genuine confusion.

Sibling of value-teaser: a reader reaction staged instead of a fact delivered.

#### explanatory-closer-template

"this lesson shows...", "this module reveals...", "this section explores...". When several intros or sections close with the same template, the repetition reads as machine scaffolding.

Vary the closer, cut it and let the last concrete sentence carry the promise, pose the question the piece answers, or state plainly what the reader will be able to do.

### AI hedges, filler, and fluff

These add length and signal a machine author while conveying nothing.

#### ai-hedge-phrases

"it's worth noting", "it is important to note", "needless to say", "in conclusion", "delve into", "one might argue", "at the end of the day".

Remove an attention-announcing preface *only when* it contributes no substantive judgment. Preserve the author's scope, uncertainty, degree, conditions, and explanatory purpose.

A qualified judgment of importance is different from announcing that a fact should be noted; ordinary words such as "usually", "may", "important", and "very" are not defects by themselves.

#### value-judgment-worth

**Hard ban since 2026-09-23.** "worth" and "worthwhile" in every judgment sense: "worth knowing", "worth doing", "worth keeping", "worth testing", "worth it", "worth revisiting", "a worthwhile experiment", "it's worth noting". The money word says something is good without saying what it does.

State the concrete result, reason, or condition:

- "two flavors worth telling apart" becomes "the two cases call for different tests"
- "a prompt worth saving" becomes "a prompt you will run again next week"

A synonym swap (valuable, deserves, merits, rewarding) keeps the empty judgment and fails.

**What stays.** Literal money stays (a price or amount, net worth, market value, explicit economics), as do quotations and cited titles. A scoped authorial judgment is not an exemption.

Sibling of financial-metaphor.

#### representation-good-poor-binary

"a good representation ... a poor one ..." ranks representations without naming the task.

Scope the claim: identify the representation, the question it serves, and the structure it reveals or leaves mixed. Do not imply that separability, linearity, or convenience is the only measure of representation quality.

#### filler-phrases

- "in order to" becomes "to"
- "due to the fact that" becomes "because"
- "at this point in time" becomes "now"
- "when it comes to" usually drops entirely

#### unearned-profundity

"everything changed", "let that sink in", "here's the thing", "and that changes everything". Earn weight with a specific fact, not an announcement of revelation.

#### vapid-opener

"in today's fast-paced world", "as technology continues to evolve", "in a world where". Open with the actual situation.

#### mid-sentence-rhetorical-question

"The result? Chaos." Answer as a statement: "The result is chaos."

A genuine question the passage then explores can stay.

### Voice and tone tells

#### you-can (watchlist)

"You can" is ordinary English when it tells the reader something they really can do, and so is a statement of the same fact without the reader in it.

The defect is reaching for it by reflex:

- the same capability frame sentence after sentence;
- a capability promised where the text should simply say what happens;
- "you can" appended to a definition (see **is-something-you-can**).

Read the flagged sentence with its neighbors. When the frame repeats, write each sentence from its own idea so the syntax varies, never by swapping in another stock frame such as "lets you" or "is able to".

Negative forms ("cannot", "can no longer") state a limit and are a different construction.

#### copula-avoidance

"serves as a reminder", "stands as a testament", "boasts a".

Fix the puffery:

- "serves as a reminder" becomes "reminds"
- "boasts a" becomes "has"

A literal "functions as" describing a real role can stay.

**Models and analogies keep their honest verbs.** When a model, equation, tensor, variable, or analogy stands in for a physical thing or for another model's quantity, "acts as" and "plays the role of" are the honest verbs; keep them and never rewrite them to "is", which creates **model-reality-literal**.

#### promotional-language

"vibrant", "groundbreaking", "seamless", "cutting-edge", "nestled in the heart of", "robust".

Drop the brochure adjective and state the concrete property. "robust" as a statistics term of art stays.

#### superficial-ing-analysis

Trailing participle phrases ("…, highlighting the importance of…", "…, underscoring…") tack on fake depth. Make the claim a real clause or cut it.

#### vague-attribution

"studies have shown", "experts argue", "research suggests".

Name the study, author, or source. With none, drop the borrowed authority. Legitimate when a real citation follows.

#### illustrative-label

"Here is an illustrative case," "An illustrative response," "Renee, an illustrative consultant."

A rule that hypotheticals must never read as real records became a literal label. Framing already does that job: "Suppose," "Say your notes read," "For example," or a plainly hypothetical scene.

Keep the honesty, drop the word.

#### sycophancy

"great question", "you're absolutely right", "happy to help". Cut the servile filler and answer.

### Overused words

#### legacy-magic

"magic", "magical". Name the mechanism or effect.

#### legacy-dance

"dance" used figuratively. Choose a verb that names the actual movement, exchange, or relation. Literal dancing stays.

### Markdown and structure

#### generic-coaching-imperative

A heading repeatedly packages an idea as a command, an underspecified object, and a vague personal-context tail:

- "Choose a habit from the work in front of you"
- "Set authority from the action in front of you"
- "Choose a correction from the failures in your own work"

The rhythm promises practical direction while leaving the selection criterion, mechanism, or consequence unstated. "Your" and "you" supply grammatical address without identifying the relevant circumstances.

This is a local editorial name for a subtype of syntactic templating, not an established linguistic category or proof of AI authorship.

**Revising.** Read the body and neighboring headings; state the section's particular insight, ask a self-contained question, or give an executable instruction with a specific object. In their source sections, the examples become:

| Before | After |
| --- | --- |
| "Choose a habit from the work in front of you" | "Recurring AI mistakes reveal which habit to practice" |
| "Set authority from the action in front of you" | "Reads, writes, deletions, and deployments need different controls" |
| "Choose a correction from the failures in your own work" | "Repeated failures suggest which instruction to revise" |

Vary expression because the ideas differ; replacing Choose with Pick, deleting your, or making every replacement a declarative uses another template.

**What stays.** Keep meaningful personal ownership, literal location, and concrete procedures:

- "Save the file in your project folder"
- "Compare the invoice with your purchase order"
- "Choose the calendar that contains your work meetings"

Repeated imperatives are appropriate in ordered procedures.

**Detection.** The catcher nominates high-risk command-and-tail combinations at watchlist severity; the wider family and neighboring rhythm require contextual review. Related entries: generic-header-formula, vague-mental-verb, rationale-tail-header, and syntactic-clustering.

**Evidence.** Evidence for this local criterion comes from the concrete heading failures in Tom's September 2026 review. [Nielsen Norman Group on microcontent](https://www.nngroup.com/articles/microcontent-how-to-write-headlines-page-titles-and-subject-lines/) supports specific, independently understandable headings. This editorial rationale makes no claim about the prevalence or detectability of the pattern in current models.

#### generic-header-formula

"Why X Matters", "How X Changes Everything", "The Secret of X".

Headers name the actual concept, mechanism, limitation, or learner decision. State the takeaway.

#### rationale-tail-header

A purpose clause can reveal a useful reason or conceal vague writing. Read the complete header and its lesson.

- "Carry the quoted lines so you can check why each item is there" leaves its subject and purpose unclear.
- "Label invoice totals so readers can compare tax and delivery charges" makes the action and reason understandable.

Revise the missing meaning, not the presence of "so you can", "so that", or "so as to". Keep necessary qualification and well-written purpose clauses.

This is an editorial candidate, not a grammar ban; the former context-free `opaque-header` gate is retired. Apply the canonical insight-header standard for pithiness, concrete references, fidelity, and natural variety.

#### absolute-causal-claim

Check whether a headline's causal strength matches the evidence. Narrow an overstated claim to the actual supported relationship and its conditions.

Adding "can" or "may" cannot rescue a vague or unsupported claim and must not become a universal headline pattern. Definitions and established relationships can be direct.

The matcher is an inspection prompt; factual and editorial review decide whether revision is needed.

#### full-sentence-bolding

An inspection candidate only. Judge whether the highlighted text conveys the paragraph's central point and stands alone under `the applicable writing criterion`.

Complete sentences, including in neighboring paragraphs, are valid emphasis. Do not crop a claim merely to reduce bold length.

### Sentence architecture

Repeated sentence structures can make different ideas sound the same. A sentence can also become hard to follow when it packs a definition, qualifications and examples into nested clauses. Give the reader those pieces in a clear sequence of connected sentences, preserving the meaning and necessary conditions.

Judge the reading experience, not a count of commas or words. The cold-imperative warning also nominates isolated openings whose purpose needs contextual reading.

#### colon-enumeration

"claim: detail, detail, detail". Powerful once, monotonous in bulk. Instead:

- recast as cause, sequence, or pressure;
- let one image carry it;
- use a periodic or cumulative sentence.

A colon-to-period swap is not variation.

#### repeated-opening

Several sentences begin with the same words. Vary entries: place, action, condition, image, claim, consequence.

#### repeated-task-opener

Across course tasks, lesson steps, chapter sections or examples, the same opening can become the same internal sequence and closing beat.

Review the set and its dependencies: does the repeated form help these ideas, or does the reader encounter a template instead of a developing explanation? Choose each unit's construction from what it contributes.

**Useful continuity.** A running example, exact technical term, repeated procedure or consistent reference format can provide useful continuity.

**What does not fix it.** A synonym swap over an unchanged sequence does not address unnecessary repetition, and mechanically rotating forms creates another recipe.

Motivation may already be established by the preceding encounter; do not require each unit to restate it.

This is `structural-and-expressive-variety` (`the applicable writing criterion`) applied through contextual editorial review, not a paragraph-count, syntax or analogy quota.

#### sibling-repeated-tail

The same closing sentence is appended to many sibling strings:

- every direction in a course ends "Tap each one."
- every hint ends "Check the picture again."
- every card ends "Try it below."

Each string reads fine alone, so a per-string scan passes it, while the learner meets the identical tail on screen after screen. It usually comes from an edit pass that copied one example's wording into every similar string. It also duplicates what the interface already says, since a widget's own hint names the action.

Delete the tail when the question or the control already makes the action clear; where an action really is needed, write it for that screen ("Tap every venue under $110").

**Not this pattern:** a shared closing question that is the task itself ("Which hard rule does it break?").

**Detection.** The catcher reads code data files by property key and fires at three strings within one file; `scripts/revision-audit.ts` runs the same check across a set of files.

#### sibling-thesis-heading-run

A list of titles, previews, or kickers rewritten so each one states a full claim:

- "A local best beats or ties every neighbor"
- "An overall best beats or ties every allowed option"
- "An untested option can hide a higher peak"

Tom called it the "redundant 'A ___ does ___'" frame (2026-10-03).

**Discovery tasks versus explanation screens.** On a task selected for discovery, a heading that states the answer spoils the reasoning the learner is meant to do. Tom's later science-site decisions distinguish these tasks from explanation screens: headings carry the subject's insight, and a question heading belongs on a screen where the learner answers it.

Follow the project's `the applicable writing criterion` and `the applicable writing criterion`; keep the task self-contained without stating its answer. An explanation or synthesis heading may state a conclusion. The October 3 correction protects approved headings and rejects a repeated claim template; it does not require every screen to use discovery.

**The fix is never a bare label or a count** ("Four jobs", "Two steps"), which Tom rejected the same day. See `the applicable writing criterion`.

**Detection.** The catcher fires when three or more strings under one heading key in a file open on a determiner or count word with six or more words, or join two clauses with a semicolon.

**Exception.** Expository essays and reference pages may state a finding in a single heading, and their heading sets still vary in form; see `the applicable writing criterion`.

#### cold-claim-opener

A claim may be accurate yet arrive without the situation, meaning or reason its reader needs.

Read the actual encounter with the preceding material and the reader's supported entry point. If that context is missing, supply what connects this idea to the reader's purpose, in the order the explanation needs (`the applicable writing standards`).

A useful claim can open a later insight when the preceding encounter has prepared it; a reference entry can begin with a definition. Bold text and first position are not defects by themselves.

Judge whether the reader can understand and use the contribution, rather than requiring an orientation preamble or inspecting each opening in isolation.

#### syntactic-clustering

Many sentences share one architecture. Mix short declaratives with cumulative sentences; vary clause order and rhythm.

#### staccato-fragment-run

A run of clipped fragments manufacturing intensity. Give ideas full sentences; fragments are seasoning.

#### unframed-imperative-staging

Warning (`watchlist`) for a recognizable cold imperative opening, even alone. "Call the hours, turns and shuffles elements" orders the reader to supply a term the explanation should give them.

Apply compassionate-tone to the complete passage and sibling examples: decide what each sentence contributes and what the reader knows before choosing its construction. A direct statement or framed assumption may serve; no replacement opener or rotation is prescribed.

Actual tasks and procedures retain clear instructions with appropriate warmth and pacing.

**Detection.** The approximate catcher excludes balanced inline quotations, blockquotes, list steps, headings, Markdown table rows and code. It can miss commands or nominate valid prose instructions, so neither matches nor empty scans decide the editorial judgment.

A solitary thought-framing invitation is not itself a defect. There is no imperative quota or automatic replacement.

#### balanced-semicolon-aphorism

A sentence split by a semicolon into two parallel halves that trade the same verb or frame, used as a tidy closer:

- "The analogy tells you where to look; the test tells you whether the combination works."
- "The instruction can recur; the dates must always come from the current calendar."

One can land a real distinction. When they recur across a section, the shape is doing the work an explanation should do, and every paragraph ends on the same click.

Say the relationship once in plain sequence ("Only running the combination tells you whether it works"), or cut the closer when the paragraph already made the point.

#### bold-summary-closer

A paragraph ends or pivots on a bolded sentence that restates what the paragraph already showed, often written only so the paragraph has something complete to bold. Read in sequence, the emphasized sentences become a list of slogans and each paragraph says its point twice.

Emphasis selects an existing sentence that carries the claim; it never justifies writing one. Stories, worked examples, and transitions usually need no bold at all. See `the applicable writing criterion`.

#### caveat-refrain

The same precaution repeated across paragraphs and sections:

- "test it on another case before saving,"
- "confirm against the source,"
- "check before relying on it,"
- "change one thing at a time."

Each is sound once, where it changes what the reader does. Repeated, the reader hears nervousness and stops hearing the advice. State the caveat at the point it governs an action, and trust the reader after that.

Evidence discipline belongs in the author's process and research notes; it does not need restating in reader prose every time a claim appears.

#### bare-variable-cluster

Symbols arrive before the reader knows what they represent. Introduce the meaning when it is needed:

- "$f(t)$ gives the room's temperature in degrees Celsius at time $t$, measured in minutes"
- "$N(i)$ lists the nodes linked to node $i$."

A parenthetical name alone does not explain a function's inputs, outputs or units.

Later shorthand can use established meaning within the same passage; an independently entered screen supplies a brief reminder where needed.

### The punctuation-laundering rule

A rewrite for variety counts only when the rhetorical operation changes. Deleting a colon, splitting one clause into two sentences, turning a list into a semicolon inventory in the same order, or swapping a synonym alone does not create variety.

Splitting a crowded sentence to make its meaning easier to follow is a different and valid repair.

The replacement should change how the sentence moves:

- image-led
- action-led
- sequence-led
- a real question
- a plain declarative
- a periodic build
- a cumulative gather
