Skip to content

Catch the half of the conversation nobody meant to submit - #65

Merged
peopleworks merged 1 commit into
mainfrom
chat-residue-rules
Aug 24, 2026
Merged

Catch the half of the conversation nobody meant to submit#65
peopleworks merged 1 commit into
mainfrom
chat-residue-rules

Conversation

@peopleworks

Copy link
Copy Markdown
Owner

Six new rules in both packs, mined from a competitor's pattern set and screened against the
calibration corpus before they were written down.

Where they came from

amanmaqsood/prose-humanizer (MIT) is a writing
skill, not a detector — it says so itself, and it refuses to guess authorship. Its rules/patterns.json
holds 22 pattern groups. Probing each of them against our own analyzer, rather than grepping the
pack file, found 70 signals our English pack does not fire on.

Six were worth having. The difference between those six and the rest is the whole content of this PR.

What went in

Rule What it catches
chat.model-self-reference "As an AI language model…"
chat.training-cutoff "As of my last training update…"
chat.signoff "I hope this helps", "Would you like me to…"
chat.capability-disclaimer "I cannot browse the internet…"
chat.answer-preamble "Here is the revised version of your essay…"
chat.eager-opener "Certainly!", "Great question!"

Every other rule in this project is a judgement about style, and a formal writer can lose to any of
them. These are not. "I hope this helps" at the foot of an essay is not a register a student
chose; it is an assistant's closing line, pasted in with the answer. It says where the file has been
rather than who is talented — the same kind of claim the character scanner makes.

That is also why a corpus of research articles and encyclopedia prose could admit them at all.

What the screen said

Every regex counted against the calibration corpus first — 249,455 words of English, 39,712 of
Spanish, all published before generative models existed.

  • All six scored zero, in both languages.
  • Re-running the calibration afterwards moved nothing: same corpus fingerprint 123fa5b9ebca3f29,
    same 0 of 90 flagged at 25/100, same 4.1% upper bound. Only the run date changed.
  • thresholds gave them no human rate, correctly — a rule that fired on nothing has nothing measured.

What the screen rejected, which is the interesting half

Twelve candidates fire on writing published before generative models existed. Their tier-1
vocabulary list contains, in our 65 English texts:

Word Texts Hits
optimize 6 9
underpin 5 10
elucidate 5 6
paradigm 4 6
exemplify 3 6
illuminate 3 3

Plus garner, synergy, interplay, uncover, groundbreaking, and "due to the fact that".

These fire too rarely for the human-rate gate to catch them — it needs eight texts before it will
set a threshold — and too often to be called a tell. Adding them would have spent the false-positive
budget of every formal writer in the corpus. This is #61 in the other language, found before
shipping instead of after.

What was left out on principle

this essay will explore, here's the kicker, the possibilities are endless, only time will tell, without further ado, moving forward. All zero in the corpus, all plausible tells — and
their population is student essays and blog posts, which the corpus does not contain. Measuring
on one population and applying to another is the mistake #59 already exists for. They need their
own corpus first, and that is worth opening as its own issue.

Checks

306 tests, 23 new — including the negative ones: a tutor's own "let me know when the survey is
finished", a historian's mid-sentence "of course", "here is the revised timetable the committee
agreed", and their Spanish equivalents.

🤖 Generated with Claude Code

https://claude.ai/code/session_015PEbbiYSNPw7jE3LrPNhyF

A competitor's pattern set — amanmaqsood/prose-humanizer, MIT, a writing skill
rather than a detector — turned out to hold 70 signals our English pack does not
fire on. Six of them are worth having and forty-six are not, and the difference
is the point.

Every other rule here is a judgement about style, and a formal writer can lose
to any of them. These six are not that. "I hope this helps" at the foot of an
essay is not a register a student chose; it is an assistant's closing line,
pasted in with the answer, and it says where the file has been rather than who
is talented — the same kind of claim the character scanner makes. That is also
why a corpus of research articles could admit them: no amount of pre-2022
academic prose tells us how often a human blogger writes "the possibilities are
endless", but none of it will ever contain "as of my last training update".

Screened before they were written, not after somebody complained. Each regex was
counted against the calibration corpus — 249,455 words of English and 39,712 of
Spanish, all published before generative models existed — and all six scored
zero in both. Re-running the calibration afterwards moved nothing: same corpus
fingerprint, same 0 of 90 at 25/100, same 4.1% upper bound. They cost nothing to
carry.

Twelve other candidates from the same source were rejected by that same screen,
and they are the interesting half. Its tier-1 vocabulary list contains underpin
(5 of 65 texts), optimize (6), elucidate (5), paradigm (4), exemplify (3) and
illuminate (3) — ordinary research English. They fire too rarely for the
human-rate gate to catch them, which needs eight texts, and too often to be
called a tell. Adding them would have spent the false-positive budget of every
formal writer in the corpus. This is issue #61 in the other language, found
before shipping rather than after.

Six more were left out for a reason worth writing down: "this essay will
explore", "here's the kicker", "the possibilities are endless". These are
plausible tells whose population is student essays and blog posts, and the
corpus contains neither. Measuring on one population and applying to another is
the mistake #59 already exists for. They need their own corpus first.

Both languages, because the residue is bilingual too.

306 tests, 23 new — including the ones that check the rules leave a tutor's own
"let me know" and a historian's mid-sentence "of course" alone.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015PEbbiYSNPw7jE3LrPNhyF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant