Commit 8a5b777
committed
docs(standards): a fourth review rule — the instrument that answers an adjacent question
The three rules in Secure_Development_Standards §3 catch prose that is TRUE and
misleading. They do not catch the failure that produced eleven retractions across
four parallel sessions on 2026-08-02: a claim that is FALSE when written while
feeling measured, because the instrument answered a question adjacent to the one
asked.
The eleven, each verified by the session that made it:
git diff on a STAGED file "unstaged delta?" vs "is the tree dirty?"
merge-base --is-ancestor "is this an ancestor?" vs "did this land?" <-- squash-merge: always no
a hash INEQUALITY "are these different?" vs "is the copy WORSE?"
session-start banner "who was live then?" vs "who is live now?"
grep -c $'\r$' on git diff "does the diff render CR?" vs "does the FILE have CRLF?"
$? after `cmd | tail` "did tail succeed?" vs "did the gate pass?"
Actions ?filter=latest "latest attempt?" vs "what did the suite ever do?"
JOB conclusion "did the job pass?" vs "did the STEP pass?"
Two findings that make it actionable rather than a scolding:
- Re-reading caught NONE of the eleven. A check that could fail caught one
immediately. Re-reading confirms what you meant; it cannot test what you wrote.
- None was a stale fact. Every one was wrong at birth. "#119 never merged (it
died on a CI timeout)" was never true at any instant -- that PR's timeline
carries exactly one `closed` event, simultaneous with `merged`. So dating a
claim does not protect against this class; only re-deriving it does.
Hence the rule is a PROPHYLACTIC, checkable before the sentence exists and without
a peer: name the question, name what the instrument returns, confirm they are the
same sentence.
Also adds the one-liner to CLAUDE.md §11 alongside the other three, per the
provenance note's own reasoning -- an instruction that short cannot drift, and a
pointer nobody follows mid-task changes no behaviour.
No version-history row: the "Reviewing security prose" subsection carries none
(added in 39990f8 without one), so additions there set no bump precedent. No
change to the SSDF / ASVS / HIPAA mappings.
Named by the repo-security-review session, which applied it to its own four
retractions and found four for four; instances contributed by the
ci-margin-correction, announce-hook, sandbox-codec and ADR 0154 sessions.1 parent d6cb23b commit 8a5b777
2 files changed
Lines changed: 27 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
429 | 429 | | |
430 | 430 | | |
431 | 431 | | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
432 | 435 | | |
433 | 436 | | |
434 | 437 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
103 | 122 | | |
104 | 123 | | |
105 | 124 | | |
106 | | - | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
107 | 130 | | |
108 | 131 | | |
109 | 132 | | |
| |||
0 commit comments