#248: delete both consumer source-reads — the category is wrong - #254
Merged
Polichinel merged 3 commits intoAug 12, 2026
Merged
Conversation
… wrong
THE SUITE IS FULLY GREEN AGAIN. 413 passed, zero failures. The failure that has been red
on `development` since 2026-08-12 is gone, and it is gone by deleting the check rather
than repairing it.
TWO BREAKAGES IN TWENTY-FOUR HOURS, BOTH BECAUSE THEIR CODE GOT BETTER. views-faoapi on
11 August, views-crafdapi on the 12th, each refactoring `APIPathManager("literal")` into
`APIPathManager(CONSUMER_DOCUMENT_NAME)` — an improvement in both repositories, and a red
build here both times. The regex was measuring their code quality and reporting it as our
failure. ADR-017 §7 said we were never entitled to depend on another repository's file
layout; repairing it a third time would have been repairing the wrong thing.
WHAT WENT: `_CONSUMER_PATH_MANAGER`, `_CONSUMER_FILTER`, `_CONSUMER_SELF_CHECK_PENDING`,
`_consumer_package`, both tests that used them, and the views-crafdapi checkout from CI —
measured first, that fetch had exactly zero remaining consumers. The SIBLINGS entry stays
with `ci_checkout=False` and a note naming the record, because CONSUMER_REPO still names
that repository; only the fetch is gone.
THE SEQUENCING CONSTRAINT DISSOLVED RATHER THAN BEING SATISFIED, and that is the part
worth writing down. ADR-017 §5 said a partner's source read is removed only once that
partner's consumer-side check lands. views-crafdapi#53 has not landed. The read went
anyway, because the constraint was guarding a window in a mechanism that turned out to be
the wrong mechanism. §5 now carries an erratum saying so, and a plainer rule: a check that
reads another repository's source is not a check this repository builds.
THE GAP IS NOW PERMANENT AND UNGUARDED HERE, BY CHOICE. Nothing verifies that a consumer's
query uses the name it declares. C-92 states the chain link by link and says plainly that
a delivery is verified by two values this platform authored agreeing with each other, plus
the consumer's own word. Filed where the fact lives: views-faoapi#390 (under their
seam-verification epic #383, whose flagship this is) and views-crafdapi#55 — both with
file:line evidence, both noting that `manager.py:117` applies the filter conditionally so
a falsy name broadens the query rather than failing, both explicitly not prescribing their
internals.
Also, while in the file: the module docstring and a comment block each carried a real
coordinate value, and pytest prints a module docstring whenever anything in the file
fails. Now named, not quoted (C-97).
tests/test_product.py 348 -> 253. Suite 413 passed / 1 skipped / 40 xfailed, ruff clean.
Closes #248. Unblocks PR #240. Epic #241.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ther repository
The deletion is right and the review confirmed it: nothing stranded in code, the workflow
edit is clean, all six CI rules still bite. The defect is in the prose, and it is the
worst kind — permanent governance text resting on something untrue.
VIEWS-CRAFDAPI#53 CLOSED AT 12:15. MY COMMIT WAS 18:18 THE SAME DAY. My ADR-017 §5
erratum says "neither partner's step 3 is what removed them" and my commit message says
"views-crafdapi#53 has not landed". Both false, by six hours. Both partners' consumer-side
checks HAD landed — the constraint was satisfied, not dissolved.
Worse, and more interesting: the crafd commit that satisfied step 3 is THE SAME COMMIT
that broke our regex. While binding its served name to the registry, it tidied
`APIPathManager("literal")` into `APIPathManager(CONSUMER_DOCUMENT_NAME)`. The improvement
and the breakage were one edit, in both repositories, a day apart. The event I narrated as
"their code got better and our test went red" IS the sequencing constraint being met.
So the erratum is rewritten on honest ground. The outcome stands — the source read had to
go — but on §7's argument (we were never entitled to depend on another repository's file
layout), not on a false claim that the ordering was bypassed. The constraint is
DISCHARGED, not repealed. Writing a repeal into ADR-017 on an untrue claim about another
repository is §3's failure inside §5's text, and it is corrected visibly rather than
quietly.
NINE MORE STALE CLAIMS, all named by the same review, none caught by any test:
ADR-017 — §5's body still said "today the check still reads the consumer's source and
still skips in CI", seven lines below the erratum saying otherwise. Appendix B still said
views-crafdapi#53 was open, that step 4 was "not yet filed", and closed the document with
"so no window exists in which the label is verified only against our own typing" — which
this change makes permanently false, deliberately.
ADR-016 — the §4 table row said the crafdapi fetch "retires when views-crafdapi#53 lands,
not before"; §5 explained which download was temporary; the 2026-08-11 update said that
partner's source-read and fetch stay until #53 lands. All three now false.
Register — C-92's own Location cited three symbols this change deleted and two line
numbers past the end of a file that is now 253 lines; its title and Trigger scoped to FAO
while its body covers both partners; its "second structural half" is entirely about
deleted code. C-87's trigger named #53 as live. C-81 said crafdapi is "now checked out in
CI". C-97's headline number was measured at 33 and is now 25 across 8 files — recounted,
with a note to re-measure rather than cite it.
AND CONSUMER_REPO WAS GUARDING A PRECONDITION OF NOTHING. Its test's docstring said "the
gated check below iterates this map"; there is no gated check below. Its failure message
described a `require_sibling()` call site that no longer exists. Reframed to what the map
is actually for now: addressing — it records who receives each delivery, and it is who
C-92's cross-repo asks are sent to.
Suite 413 passed / 1 skipped / 40 xfailed, ruff clean.
Epic #241.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
/review-diff on the remediation. The erratum asserted that in BOTH repositories the commit satisfying step 3 was the same commit that broke our source read. I had verified that for views-crafdapi and asserted it for views-faoapi — the exact overstatement this arc keeps producing, in the paragraph correcting an overstatement. Verified now, and it holds: `8615574` (faoapi, #379, closed 11 August) and `0c493ae` (crafd, #53, closed 12:15 on the 12th) each introduce the named constant AND add that repository's registry-binding test. One edit, both effects, both repositories. Both shas are now in the ADR so the next reader can check it in one command rather than trusting the sentence. Also: #379 is an issue and issues close, they do not merge. Cross-document scan for residual contradictions across ADR-016 and ADR-017 — "source-read stays", "fetch stays", "#53 open", "#53 lands", "temporarily", "no window exists" — all zero. Suite 413 passed / 1 skipped / 40 xfailed, ruff clean. Epic #241. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Aug 12, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #248. Unblocks PR #240. Gate 1 of epic #241.
The suite is fully green for the first time in this arc
413 passed, zero failures. The red sitting on
developmentsince 12 August is gone, by deleting the check rather than repairing it.Two breakages in twenty-four hours, both because their code got better
views-faoapi on the 11th, views-crafdapi on the 12th — each turning
APIPathManager("literal")intoAPIPathManager(CONSUMER_DOCUMENT_NAME). An improvement in both repos; a red build here both times. The regex was measuring their code quality and reporting it as our failure.Verified, and it is the sharpest fact in this PR:
8615574and0c493aeeach introduce that named constant and add that repository's registry-binding test. The commit that satisfied ADR-017 §5's gate is the same commit that broke our check.What went
_CONSUMER_PATH_MANAGER,_CONSUMER_FILTER,_CONSUMER_SELF_CHECK_PENDING,_consumer_package, both tests that used them, and the views-crafdapi checkout from CI — measured first: that fetch had zero remaining consumers.tests/test_product.py348 → 253.The correction that matters most
My first draft of the ADR-017 §5 erratum said the sequencing constraint "dissolved rather than being satisfied" and that "views-crafdapi#53 has not landed". #53 closed at 12:15; the commit was 18:18 — six hours later. Both partners' step 3 had landed. The constraint was satisfied.
I repealed a governance rule in a permanent ADR on a false claim about another repository — §3's failure inside §5's own text. The erratum is rewritten: the constraint is discharged, not repealed, and the source read goes on §7's argument (never entitled to depend on another repo's file layout), which is the argument that actually holds.
Nine more stale claims, none caught by any test
ADR-017 §5 contradicted its own erratum seven lines later; Appendix B still had #53 open, step 4 "not yet filed", and closed the document promising "no window exists". ADR-016's §4 table, §5 and its 2026-08-11 update all described a fetch that's gone. C-92's Location cited three deleted symbols and two line numbers past end-of-file; C-87 and C-81 stale; C-97's count 33 → 25 across 8 files.
And
CONSUMER_REPOwas guarding a precondition of nothing — "the gated check below iterates this map", with no gated check below.The gap, stated rather than implied
Nothing here verifies that a consumer's query uses the name it declares. C-92 states the chain link by link. Filed where the fact lives: views-faoapi#390 (under their epic #383, whose flagship this is) and views-crafdapi#55.
🤖 Generated with Claude Code