#2171 (commit e29d001f,
"ums: bank five process learnings from the 2026-08-24 session") merged while its
adversarial self-review was still running. That review returned Needs more
work against the merged content, with 14 findings, several of them factual
errors now on main.
Filing rather than fixing inline because the content is merged and the
corrections span five files; they want their own reviewed PR.
How it happened
Two failures compounded, and both are already documented, which is why this
issue is about the artifacts rather than about the process:
- The Claude reviewer was quota-skipped on that PR (
No CLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY).
check-pr-fully-clean.py nonetheless exited 0 with latest = clean,
because it counted the authoring session's own self-review comment as the
verdict. That is the false-clean the self-review-not-counted-by-checker
memory entry records as falsified on 2026-08-20 (#1798):
the comment loop admits on a body marker with no author check.
So the PR merged with no independent external verdict, and the checker said it
had one.
Findings to correct
shared/writing/semantic-line-breaks.md (the entry on ellipses as sentence
boundaries) --- four errors, three of them about the mechanism it asserts:
- "Don't expect the reformatter to propose this split" is false; running the
repo's own reformatter proposes it in both worked cases. The stated reason
(it shares the regex branch) is a reason it would split.
- "only when the next word is capitalized" is false. The lookahead class is
[A-Z"'`*\[] --- five lowercase followers match, and the entry's own
example matches on the ", never examining the capital.
- The mechanism attribution is wrong in both halves: the match comes from the
last . of an ellipsis, not the first, and in ... " And the " is
matched by the lookahead rather than consumed by the closing class.
- "at the pinned SHA" is ambiguous between two SHAs whose regex differs in
exactly the class being quoted; the quoted form is right for only one.
memories/github-actions.md (the SHA-pin entry):
- The composite action named as the fix does nest a
uses:
(actions/setup-python at line 61), so it is not the "terminal case" the
entry defines, and the follow-on "removing the hop is what removes the
question" inherits that --- the hop is pinned, not removed.
- The audit command hard-codes
contents/<path>/action.yml, so it cannot audit
a reusable workflow, which is the artifact class the entry is about.
- It cites
verify-the-right-artifact's "one half of a mechanism for the whole"
where #2165 assigns
the tighter-fitting "a checkout for the run".
- "It adds a second party who can move the tag" ---
d-morrison/gha redirects
to Morrison-Lab/gha; same repo, transferred, so no second party. The general
claim stands; the word "here" does not.
shared/workflow/derive-dont-enumerate.md:
git log -S/-G cannot "reach a variant introduced under different wording";
both take a string or regex you already supply, so they widen the time axis
and not the wording axis --- the inference grep-is-not-coverage.md
forbids. Also -S ... -- <path> does not follow renames without --follow,
and the example omits --all.
shared/coding/fact-check-code-logic.md vs
shared/workflow/fixtures-are-not-evidence.md:
- The two entries, added in the same commit, give opposite prescriptions for
the same observation (a green suite over an unexercised clause): one says that
argues for a test, the other for a deletion. Neither names the discriminator
and neither links the other.
fixtures-are-not-evidence's "settled by reading the documentation, never by
more fixtures" is insufficient for its own example, where reachability turns
on a competing alternative's shape rather than on the API.
- Its "Every section above treats a masking fixture as a defect in the test" is
an unchecked scope claim; the fourth-direction section above it does not.
fact-check-code-logic mischaracterizes the bullet it cites (a mismatch, not
an overstatement), and its heading claims "no mutation available" while its
own first Do supplies the substitute measurement.
All five entries: four cite no source for the incident they record, against
the convention every neighbouring section in those files follows. That is how
the errors above survived --- an uncited claim is uncheckable by the next reader.
Suggested scope
One PR correcting the five entries, driven to a real external verdict rather
than a self-review. The semantic-line-breaks entry is the one to verify by
running the regex rather than by reasoning about it, since three of its four
errors are mechanism claims that a single run refutes.
#2171 (commit
e29d001f,"ums: bank five process learnings from the 2026-08-24 session") merged while its
adversarial self-review was still running. That review returned Needs more
work against the merged content, with 14 findings, several of them factual
errors now on
main.Filing rather than fixing inline because the content is merged and the
corrections span five files; they want their own reviewed PR.
How it happened
Two failures compounded, and both are already documented, which is why this
issue is about the artifacts rather than about the process:
No CLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY).check-pr-fully-clean.pynonetheless exited 0 withlatest = clean,because it counted the authoring session's own self-review comment as the
verdict. That is the false-clean the
self-review-not-counted-by-checkermemory entry records as falsified on 2026-08-20 (#1798):
the comment loop admits on a body marker with no author check.
So the PR merged with no independent external verdict, and the checker said it
had one.
Findings to correct
shared/writing/semantic-line-breaks.md(the entry on ellipses as sentenceboundaries) --- four errors, three of them about the mechanism it asserts:
repo's own reformatter proposes it in both worked cases. The stated reason
(it shares the regex branch) is a reason it would split.
[A-Z"'`*\[]--- five lowercase followers match, and the entry's ownexample matches on the
", never examining the capital.last
.of an ellipsis, not the first, and in... " Andthe"ismatched by the lookahead rather than consumed by the closing class.
exactly the class being quoted; the quoted form is right for only one.
memories/github-actions.md(the SHA-pin entry):uses:(
actions/setup-pythonat line 61), so it is not the "terminal case" theentry defines, and the follow-on "removing the hop is what removes the
question" inherits that --- the hop is pinned, not removed.
contents/<path>/action.yml, so it cannot audita reusable workflow, which is the artifact class the entry is about.
verify-the-right-artifact's "one half of a mechanism for the whole"where #2165 assigns
the tighter-fitting "a checkout for the run".
d-morrison/gharedirectsto
Morrison-Lab/gha; same repo, transferred, so no second party. The generalclaim stands; the word "here" does not.
shared/workflow/derive-dont-enumerate.md:git log -S/-Gcannot "reach a variant introduced under different wording";both take a string or regex you already supply, so they widen the time axis
and not the wording axis --- the inference
grep-is-not-coverage.mdforbids. Also
-S ... -- <path>does not follow renames without--follow,and the example omits
--all.shared/coding/fact-check-code-logic.mdvsshared/workflow/fixtures-are-not-evidence.md:the same observation (a green suite over an unexercised clause): one says that
argues for a test, the other for a deletion. Neither names the discriminator
and neither links the other.
fixtures-are-not-evidence's "settled by reading the documentation, never bymore fixtures" is insufficient for its own example, where reachability turns
on a competing alternative's shape rather than on the API.
an unchecked scope claim; the fourth-direction section above it does not.
fact-check-code-logicmischaracterizes the bullet it cites (a mismatch, notan overstatement), and its heading claims "no mutation available" while its
own first Do supplies the substitute measurement.
All five entries: four cite no source for the incident they record, against
the convention every neighbouring section in those files follows. That is how
the errors above survived --- an uncited claim is uncheckable by the next reader.
Suggested scope
One PR correcting the five entries, driven to a real external verdict rather
than a self-review. The
semantic-line-breaksentry is the one to verify byrunning the regex rather than by reasoning about it, since three of its four
errors are mechanism claims that a single run refutes.