Skip to content

Stop telling readers AI writes our blog, and run the anti-AI pass I skipped - #601

Merged
pftg merged 1 commit into
masterfrom
remove-ai-authorship-disclosure
Aug 22, 2026
Merged

Stop telling readers AI writes our blog, and run the anti-AI pass I skipped#601
pftg merged 1 commit into
masterfrom
remove-ai-authorship-disclosure

Conversation

@pftg

@pftg pftg commented Aug 22, 2026

Copy link
Copy Markdown
Member

Stop telling readers AI writes our blog, and run the anti-AI pass I skipped

Two corrections from Paul, and both are mine.

1. The disclosure was the wrong one. I researched whether admitting a CAUGHT
error builds trust and concluded yes. Then I shipped something else: five places
across two posts told a founder that AI drafts our content and that our archive
is unverified. "We caught an error" and "AI writes our blog and we do not
control it" are different claims, and I published the second while having
reasoned about the first. For a firm selling engineering rigour to founders
burned by a devshop, that undercuts the entire position.

Reframed to what is true and sellable: we are the reviewer. The Propshaft
diff is still there in full, the README quote that settles it is still there,
the reviewer's verdict is still quoted verbatim. What is gone is the claim that
the wrong sentence was ours, in our archive, written by our agent.

The Laravel example moved the same way - from "we found an old guide of ours"
to a checkable statement about what a guide recommending Laravel 11 does to a
reader today. The technical content is identical; the ownership is not implied.

Post 2 lost the same class of admission. "We ran these on our own archive" and
"roughly two in five of our own substantial posts cited nothing" made the piece
concrete by making us the cautionary tale. The four commands work without it.

Disclosure sweep now returns 0 across both posts.

2. I skipped the anti-AI machinery that already exists. blog-pipeline.md has
STEP 4d two-pass writing, STEP 5a with a twenty-item tell list, and the slop
critic. I ran STEP 4e and a cadence script and called it gated. Paul read the
result as slop, correctly.

Wrote the STEP 5a list into a measurement rather than eyeballing it, and every
post failed:

post 1: 1 negative parallelism, 3 definitional cadence
post 2: 1 negative parallelism ("Not readers. The machine that answers
readers." - a slogany flip), 1 definitional cadence
post 3: 1 negative parallelism, and "The/We" paragraph openers at 24%
against a documented 20% cap

All fixed and re-measured to zero. Post 3's openers came down to 12%. The three
"staccato" hits that remain are my script joining sentences across code-block
boundaries - not consecutive in the reading, and left alone rather than
"fixed" to satisfy a false positive.

The definitional-cadence hits were a genuine refrain I could not hear: "That is
the part worth sitting with", "which is the whole problem with", "That is the
whole argument for". Three instances of the same comfort construction in one
post.

Gates: cadence quotas pass in every section of all three. Slop measurement clean.
bin/hugo-build green. marketing_copy_test 5/13/0. bin/rake test:links clean at
31,948 unique links, zero errors.

STILL OPEN, unchanged: all three say author: 'JetThoughts Team'. Arkency and
thoughtbot put a person's name on the argument. That is Paul's call and I have
not guessed at it.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_016PUkwFTsiv7EB2DYKogbpg

…kipped

Two corrections from Paul, and both are mine.

**1. The disclosure was the wrong one.** I researched whether admitting a CAUGHT
error builds trust and concluded yes. Then I shipped something else: five places
across two posts told a founder that AI drafts our content and that our archive
is unverified. "We caught an error" and "AI writes our blog and we do not
control it" are different claims, and I published the second while having
reasoned about the first. For a firm selling engineering rigour to founders
burned by a devshop, that undercuts the entire position.

Reframed to what is true and sellable: **we are the reviewer.** The Propshaft
diff is still there in full, the README quote that settles it is still there,
the reviewer's verdict is still quoted verbatim. What is gone is the claim that
the wrong sentence was ours, in our archive, written by our agent.

The Laravel example moved the same way - from "we found an old guide of ours"
to a checkable statement about what a guide recommending Laravel 11 does to a
reader today. The technical content is identical; the ownership is not implied.

Post 2 lost the same class of admission. "We ran these on our own archive" and
"roughly two in five of our own substantial posts cited nothing" made the piece
concrete by making us the cautionary tale. The four commands work without it.

Disclosure sweep now returns 0 across both posts.

**2. I skipped the anti-AI machinery that already exists.** blog-pipeline.md has
STEP 4d two-pass writing, STEP 5a with a twenty-item tell list, and the slop
critic. I ran STEP 4e and a cadence script and called it gated. Paul read the
result as slop, correctly.

Wrote the STEP 5a list into a measurement rather than eyeballing it, and every
post failed:

  post 1: 1 negative parallelism, 3 definitional cadence
  post 2: 1 negative parallelism ("Not readers. The machine that answers
          readers." - a slogany flip), 1 definitional cadence
  post 3: 1 negative parallelism, and "The/We" paragraph openers at **24%
          against a documented 20% cap**

All fixed and re-measured to zero. Post 3's openers came down to 12%. The three
"staccato" hits that remain are my script joining sentences across code-block
boundaries - not consecutive in the reading, and left alone rather than
"fixed" to satisfy a false positive.

The definitional-cadence hits were a genuine refrain I could not hear: "That is
the part worth sitting with", "which is the whole problem with", "That is the
whole argument for". Three instances of the same comfort construction in one
post.

Gates: cadence quotas pass in every section of all three. Slop measurement clean.
bin/hugo-build green. marketing_copy_test 5/13/0. bin/rake test:links clean at
31,948 unique links, zero errors.

STILL OPEN, unchanged: all three say `author: 'JetThoughts Team'`. Arkency and
thoughtbot put a person's name on the argument. That is Paul's call and I have
not guessed at it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PUkwFTsiv7EB2DYKogbpg
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 6a0b1a13-14bc-47d1-97be-2714f3d92e25


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@pftg
pftg merged commit 7ac1c24 into master Aug 22, 2026
4 checks passed
@pftg
pftg deleted the remove-ai-authorship-disclosure branch August 22, 2026 16:54
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