Skip to content

Add proofread + readability checks, severity tiers, Vale prior-art note - #7

Merged
bdelanghe merged 1 commit into
mainfrom
claude/prose-proofread-readability-tiers
Jun 23, 2026
Merged

Add proofread + readability checks, severity tiers, Vale prior-art note#7
bdelanghe merged 1 commit into
mainfrom
claude/prose-proofread-readability-tiers

Conversation

@bdelanghe

Copy link
Copy Markdown
Contributor

Follow-up to #5. Covers the rest of the cold-read findings beyond AI-isms — "was this even proof-read?" and "why am I reading this?" — and adopts the one good idea from the Vale prior art (severity tiers). Prior-art adoption tracked in #6.

New prose checks (deterministic, uncached, every symbol)

  • proofread() — high-confidence mechanical slips that spell/grammar miss: doubled words (the the), double/stray spaces, space-before-punctuation, missing space after a comma, repeated punctuation (!!), mixed straight + curly quotes, leading/trailing whitespace. Conservative by design — every rule is a real slip.
  • readability() — copy a reader bounces off: over-long sentences (>28 words), and for body/meta, genuinely dense prose by Flesch reading-ease. A deterministic proxy for "I didn't get through this."

Quality fixes

  • spellCheck() no longer flags English contractions (isn't, we're) as misspellings — removes a real source of false "spelling" noise.
  • AI-tell lexicon expanded from the Wikipedia Signs of AI writing / vale-signs-of-ai-writing corpus (furthermore, moreover, meticulous, pivotal, landscape of, …).

Severity tiers (à la Vale)

Findings now render in tiers, sorted: correctness/honesty (ungrounded, typos) · ai-ism/proofread · · suggestion. Wired in audit.mjs.

Parity + docs

Verification

node test.mjs passes. Sample tiered output on the demo catalog:

  ✦ pdp.body.aiism       [body    ] 10/10
       ⚠ ai-ism: "isn't just a frame — it's" — antithesis "it isn't X — it's Y" cadence
       ⚠ ai-ism: "the easy part" — "the [easy/hard] part" framing
       ⚠ ai-ism: "Fast, simple, and beautiful" — rule-of-three triad; vary it
       · grammar/style: "just" — "just" can weaken meaning

(The contraction fix means isn't no longer shows up as a spelling error here.) As with #5, full node audit.mjs was verified locally with stubs for the network-blocked JSR deps; CI has JSR access.

🤖 Generated with Claude Code


Generated by Claude Code

Extends the prose pass to cover the rest of the cold-read findings beyond
AI-isms — "was this proof read?" and "why am I reading this?":

- prose.mjs:
  - proofread() — high-confidence mechanical slips spell/grammar miss:
    doubled words, double/stray spaces, space-before-punctuation, missing
    space after a comma, repeated punctuation, mixed straight+curly quotes.
  - readability() — over-long sentences, and (body/meta) dense prose by
    Flesch reading-ease; a proxy for copy a reader bounces off.
  - spellCheck() — stop flagging English contractions (isn't, we're) as
    misspellings.
  - expand the AI-tell lexicon from the Wikipedia / vale-signs-of-ai-writing
    corpus (furthermore, moreover, meticulous, pivotal, landscape of, …).
- audit.mjs — wire both in; add Vale-style severity tiers to findings
  (✗ correctness/honesty · ⚠ ai-ism/proofread · · suggestion), sorted.
- anthropic.mjs — teach the keyed LLM path the same two rules.
- README — document the new checks, the tiers, and the Vale prior art.
- test.mjs — cover proofread, readability, the contraction fix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011GNDVjvsbTPsbWV9fEyjLt
@bdelanghe
bdelanghe marked this pull request as ready for review June 23, 2026 02:48
@bdelanghe
bdelanghe merged commit b912180 into main Jun 23, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in Front Desk Jun 23, 2026
bdelanghe added a commit that referenced this pull request Jun 23, 2026
Bump 0.2.1 → 0.3.0. Since v0.2.1: AI-ism + overclaim checks (#5), proofread + readability + severity tiers (#7), Vale prior-art spikes (#8), and the data-driven ai-tells.json with first-class { level, msg } severity (#9).
@bdelanghe
bdelanghe deleted the claude/prose-proofread-readability-tiers branch June 23, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants