Register: C-110–C-112, Cluster N, and the release-readiness stubs - #293
Merged
Polichinel merged 1 commit intoAug 22, 2026
Merged
Conversation
No source changes. The register, plus two xfail stubs from the release-readiness audit. THREE NEW ENTRIES. C-110 (Tier 3) — the release path will block itself from 2026-10-18 and nothing tells the person it blocks. Measured against the live ruleset: protect_main is active, `test` is a REQUIRED check, bypass_actors is empty. The expiry tripwire added on 2026-08-19 reddens that check 30 days before 2026-11-17, so no PR merges and no release can be tagged. The escape is real and was verified — a PR setting ACKNOWLEDGED_UNTIL is green on its own branch — which is why it is Tier 3 rather than C-86's Tier 2. This entry exists because the interaction falls between two records and is in neither: C-84 never mentions the release path, C-86 never mentions the tripwire. The ruleset was not queried when the tripwire was added. C-111 (Tier 3) — a release can change whether a delivery fails, and the version number is the only thing that says so. Three exception types can now escape into a launcher, and DeliveryNotFindableError fails a delivery that previously succeeded silently. That is C-94 working as designed. There is no changelog, so views-models would take it with no notice. C-112 (Tier 3) — nothing here can see what production actually runs. Measured: both launchers pin 1.1.0; the newest tag is 1.1.1, eight days old, and 1.1.0 carries the C-99 fail-open that killed the first CRAF'd delivery. Meanwhile main holds 29 unreleased commits. The obvious fix — check the launchers' pin in CI — would add a fifth repo that can redden this build, which is C-86 with no bypass actors, so it is recorded as a decision rather than proposed. FROM review-rr TRIAGE AND STRATEGIC. - Cluster I closed: its own prescription landed. It asked for a test_register_integrity.py checking header counts, no RESOLVED under Open, and reference resolution. That file exists, does exactly those, and caught two real errors this week. The residual is recorded: the guard covers entries, not the cluster section — which is how Cluster I sat fully resolved and unmarked. - Cluster J: dropped a stale "(acute)" from a resolved C-22. - C-109 cross-linked to C-95, its nearest sibling. - C-81 re-measured. Its headline said CI verifies 8 fewer tests than local; it is 2 (468/5 skipped vs 470/3). PR #280 moved four checks into the gate four days ago and the entry — whose whole job is measuring that distance — kept quoting the old number. Trigger rewritten to the gap that remains: the checks needing views-datafactory artifacts that are not in its git repository. - Cluster N added, "This repository cannot see itself": C-109, C-107, C-95, C-110, C-111, C-112 and C-81. Six arrived in one sprint, each filed as unrelated. Its fix strategy is deliberately NOT more guards — C-109 records why the mechanical version fails; four of the seven were found by reading. - C-106 tagged [backlog]. THE STUBS. tests/test_falsification_release_readiness.py holds the two soft falsifications as xfail(strict=True), so the suite colour is unchanged. They are xfail rather than plain failures deliberately: `test` is a required check with zero bypass actors, so committing red tests would block their own fix — which is C-110. Register: 109 -> 112 total, 29 -> 32 open. Integrity guards green (40 tests), ruff clean, suite unchanged at the C-104 baseline. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
No source changes. The register, plus two
xfailstubs from the release-readiness falsification audit.Three new entries
C-110 (Tier 3) — the release path will block itself from 2026-10-18, and nothing tells the person it blocks.
Measured against the live ruleset:
protect_mainis active,testis a required check,bypass_actorsis empty. The expiry tripwire added on 2026-08-19 reddens that check 30 days before the 2026-11-17 key expiry — so no PR merges and no release can be tagged.The escape is real and was verified (a PR setting
ACKNOWLEDGED_UNTILis green on its own branch), which is why this is Tier 3 rather than C-86's Tier 2. The entry exists because the interaction falls between two records and is in neither: C-84 never mentions the release path, C-86 never mentions the tripwire. The ruleset was not queried when the tripwire was added — the audit queried it.C-111 (Tier 3) — a release can change whether a delivery fails, and the version number is the only thing that says so. Three exception types can now escape into a launcher, and
DeliveryNotFindableErrorfails a delivery that previously succeeded silently. That is C-94 working as designed. There is no changelog, so views-models would take it with no notice.C-112 (Tier 3) — nothing here can see what production actually runs. Both launchers pin 1.1.0; the newest tag is 1.1.1, eight days old, and 1.1.0 carries the C-99 fail-open that killed the first CRAF'd delivery. Meanwhile
mainholds 29 unreleased commits. The obvious fix — check the pin in CI — would add a fifth repo that can redden this build, which is C-86 with zero bypass actors. Recorded as a decision, not proposed.From
/review-rrtriage and strategictests/test_register_integrity.py— header counts match section counts; no RESOLVED body under Open; every reference resolves or is namespaced". That file exists, does exactly those three, and caught two real errors during this week's registrations. The residual is recorded rather than glossed — the guard covers entries, not the cluster section, which is how Cluster I sat fully resolved and unmarked until a triage read it by hand.[backlog].The stubs
tests/test_falsification_release_readiness.pyholds the two soft falsifications asxfail(strict=True), so the suite colour is unchanged.They are
xfailrather than plain failures deliberately:testis a required check with zero bypass actors, so committing red tests would block their own fix. That is C-110, and it seemed worth not demonstrating it accidentally.Verification
Register 109 → 112 total, 29 → 32 open. Integrity guards green (40 tests),
ruffclean, suite unchanged at the C-104 baseline (26 failed / 470 passedlocally — the venv drift; CI installs from the lock).Not in this PR
No version bump, as instructed. Also left for a decision: the CRAF'd blind spot (
UPLOAD_ENABLED = False— that path has never run end-to-end, and eleven entries mention crafd without one saying so), and D-11 / D-09, which look settled by events but were not analysed deeply enough to move.