Files
dotfiles/claude/memory/feedback-read-at-the-grain-it-was-produced-at.md
David F GliddenandClaude Opus 5 065ff240b1 memory: bank the sharpened grain rule before it can be lost
The jurist corrected my carry-forward formulation, which would have become
doctrine as written: three of the four failures were population mismatches, but
the fourth — a heading that renders correctly and parses as nothing — has no
population and is the counterexample the generalisation would have swallowed.

Banked now rather than at the wrap because it is the sentence most likely to be
quoted and a wrap that does not happen is not a record.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T1i5VRfHjD79hfaXjWsBXA
2026-09-10 19:35:03 +02:00

2.8 KiB

name, description, metadata
name description metadata
feedback-read-at-the-grain-it-was-produced-at Correct numbers and correct text, read at a grain other than the one they were produced at — the week's whole failure class, in two kinds, only one of which reading can catch.
node_type type
memory feedback

Read at the grain it was produced at

The failures were correct numbers and correct text, read at a grain other than the one they were produced at. Not wrong values. Not sloppy placement. Right things, consumed at the wrong resolution, with nothing in the record marking the substitution.

Two kinds, and the difference is what can catch them:

  • Population mismatch — a number produced over one population read as answering a question about another. Catchable by a reader who asks what a number counts over. Instances: a rejection timestamp that records child-completion read as tick time; my own verification predicates run per-line where the unit was per-paragraph; the jurist attaching the pile-up's 45/45, 0/9 to a partition claim that is the co-occurrence of pile-up and lag — both figures true, the label wrong.
  • Parser-versus-reader mismatch — text that is semantically fine and structurally invisible. Has no population at all, and is not catchable by reading. Instance: a ## REVIEWED-138 heading placed with two leading spaces. CommonMark permits it, so it renders perfectly; every tool here anchors to ^##, so the ruling existed for the eye and for no machine.

⚠ Do not let the second disappear into the first. It is the counterexample to the generalisation, and it is the one a human cannot reach. (Jurist's correction, 2026-09-10, to my own over-broad formulation — it would have become doctrine as written.)

Why: this is the layer beneath an unruled record is read as ruled. Counting open items cannot see a sentence inside an open item that quietly acquired authority; and no amount of care can see a heading that reads correctly and parses as nothing.

How to apply: before consuming any number or placed text, ask what population / what parser produced this, and is it the one my claim needs? Then — and this is the half that does the work — run a check rather than read harder. Over four instances in one sitting, reading caught none; an exact-string comparison with a negative control caught all four in minutes. If the rule degrades into a linting habit, it has been lost.

⚠ The failure that looks like success: finding an instance in a corpus already under audit. The passing case is one in a workstream nobody has touched.

Related: feedback-a-dated-measurement-is-not-a-status · feedback-a-null-search-is-evidence-about-the-query · feedback-checkable-question-over-self-authored-corpus · feedback-census-by-mechanism-not-proxy · feedback-completion-is-a-tripwire