Skip to content

Cut the posts, add diagrams, and make the voice check a script - #603

Merged
pftg merged 1 commit into
masterfrom
visuals-and-cuts
Aug 22, 2026
Merged

Cut the posts, add diagrams, and make the voice check a script#603
pftg merged 1 commit into
masterfrom
visuals-and-cuts

Conversation

@pftg

@pftg pftg commented Aug 22, 2026

Copy link
Copy Markdown
Member

Cut the posts, add diagrams, and make the voice check a script

Four corrections from Paul, and a tool so the last one stops recurring.

1. Stop putting me in the intro. The cards-on-the-table paragraph is gone.
Arkency's version works because Fiedler maintains the library he is arguing
about - a material conflict. "I run a dev shop and think review matters" is not
a disclosure, it is throat-clearing, and it delays the diff the reader came for.

Paul also named the meta-pattern: I over-apply the most recent instruction. He
flagged it this morning about caveats, I stored a memory, then did the same
thing in the copy. So the other first-person insertions went too - "I want to
be precise about what that took", "so I will be too", "That is the distinction
I care about". Two genuine judgements stay, and they are one sentence each.

2. Too long. Post 1 lost a merged section, one of two HN quotes making the
same point, and its closing section, whose argument the section above already
made: 1,724 -> 1,467. Post 2 lost the three-study survey, which the new chart
carries better than the prose did: 1,590 -> 1,489.

3. Not enough media. Three hand-authored SVGs, in brand palette, each
carrying a number the prose states:

  • checked.svg - the link checker before and after --remap, 15,642 against
    114,239, with both runs labelled 0 Errors so the point lands visually
  • chain.svg - the three review links, with the un-automatable one boxed in
    white
  • domains.svg - Pew's per-domain split, .com at ten times .edu

Nano-banana is still not reachable in this session, so these are hand-authored,
which is the repo's existing pattern (pipeline.svg, trilogy-nav.svg).

4. A script, because prose checklists get skipped. bin/check-post-voice
measures STEP 4b's cadence quotas and STEP 5a's tell list mechanically and exits
non-zero. Wired into STEP 5a as the first thing to run.

It earned its place immediately. On its first run it failed post 1 on three
counts the ad-hoc checks had missed after the cuts (a lost single-sentence
paragraph, a section with no long sentence, mannerism nouns at 6 against a cap
of 5), and it caught a definitional cadence in post 2 that I had introduced
minutes earlier while making the cut. All three now PASS.

It also produced a false positive worth recording rather than "fixing" the
prose around: "anyone on the team could remember" matched the generalized-actor
rule. That names a real team and is not the tell, so the regex now requires the
generic subject to be doing something. Fix the instrument when the instrument is
wrong.

The script enforces the two rules that are not cadence choices - an artifact
(code block or image) and at least one external citation - so a post with
neither cannot pass.

Recovery note: the worktree changed mid-task and the old scratchpad was wiped.
The posts and SVGs survived because they were in the worktree; my measurement
scripts did not, because they were in /tmp. That is the argument for this one
living in bin/.

Gates: bin/check-post-voice PASS on all three. bin/hugo-build green. All three
SVGs valid XML and present in the build output. bin/rake test:links clean at
31,949 unique links, zero errors.

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

Four corrections from Paul, and a tool so the last one stops recurring.

**1. Stop putting me in the intro.** The cards-on-the-table paragraph is gone.
Arkency's version works because Fiedler maintains the library he is arguing
about - a material conflict. "I run a dev shop and think review matters" is not
a disclosure, it is throat-clearing, and it delays the diff the reader came for.

Paul also named the meta-pattern: I over-apply the most recent instruction. He
flagged it this morning about caveats, I stored a memory, then did the same
thing in the copy. So the other first-person insertions went too - "I want to
be precise about what that took", "so I will be too", "That is the distinction
I care about". Two genuine judgements stay, and they are one sentence each.

**2. Too long.** Post 1 lost a merged section, one of two HN quotes making the
same point, and its closing section, whose argument the section above already
made: 1,724 -> 1,467. Post 2 lost the three-study survey, which the new chart
carries better than the prose did: 1,590 -> 1,489.

**3. Not enough media.** Three hand-authored SVGs, in brand palette, each
carrying a number the prose states:

- `checked.svg` - the link checker before and after `--remap`, 15,642 against
  114,239, with both runs labelled `0 Errors` so the point lands visually
- `chain.svg` - the three review links, with the un-automatable one boxed in
  white
- `domains.svg` - Pew's per-domain split, .com at ten times .edu

Nano-banana is still not reachable in this session, so these are hand-authored,
which is the repo's existing pattern (pipeline.svg, trilogy-nav.svg).

**4. A script, because prose checklists get skipped.** `bin/check-post-voice`
measures STEP 4b's cadence quotas and STEP 5a's tell list mechanically and exits
non-zero. Wired into STEP 5a as the first thing to run.

It earned its place immediately. On its first run it failed post 1 on three
counts the ad-hoc checks had missed after the cuts (a lost single-sentence
paragraph, a section with no long sentence, mannerism nouns at 6 against a cap
of 5), and it caught a definitional cadence in post 2 that I had introduced
minutes earlier while making the cut. All three now PASS.

It also produced a false positive worth recording rather than "fixing" the
prose around: "anyone on the team could remember" matched the generalized-actor
rule. That names a real team and is not the tell, so the regex now requires the
generic subject to be doing something. Fix the instrument when the instrument is
wrong.

The script enforces the two rules that are not cadence choices - an artifact
(code block or image) and at least one external citation - so a post with
neither cannot pass.

Recovery note: the worktree changed mid-task and the old scratchpad was wiped.
The posts and SVGs survived because they were in the worktree; my measurement
scripts did not, because they were in /tmp. That is the argument for this one
living in bin/.

Gates: bin/check-post-voice PASS on all three. bin/hugo-build green. All three
SVGs valid XML and present in the build output. bin/rake test:links clean at
31,949 unique links, zero errors.

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: afd51159-04a1-40a6-b037-30fbe1c97054


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 99bd387 into master Aug 22, 2026
4 checks passed
@pftg
pftg deleted the visuals-and-cuts branch August 22, 2026 17:26
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