You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
registry clean-room acceptance now fails honestly on every trigger (that landed in #82, after #79 merged green on a run whose own log said REGISTRY CLEAN-ROOM FAILED: 8 check(s)). But it is still ADVISORY: a red cleanroom cannot block a merge, and nothing in this repo tracks the step that would change that.
gh api repos/wave-av/sdks/branches/main/protection returns 404 Branch not protected — expected on a ruleset-protected repo, and exactly the response that makes a naive check read as "unprotected".
Control, so the short list above is a measurement and not a read-permission artifact: the same endpoint on a sibling repo returns a populated list (wave-av/wave-gateway -> enforce, gate / checks, conformance-smoke (T2 authed vs api)). The two public sibling SDK repos (wave-av/cli, wave-av/sdk-python) match sdks: Secrets + content policy only.
So: cleanroom is genuinely not required, on this repo or on either sibling whose artifacts it tests.
Why it is not required today, and why that is defensible for now
.github/workflows/registry-cleanroom.yml states the reasoning in its own header: the gate tests PUBLISHED artifacts, so an sdks PR can red it for a defect that PR did not introduce and cannot fix (see #85, #86 — both blocked on an operator-gated publish in a different repo). Making it required today would train reviewers to override a required check, which is worse than not having one. The stated arming condition is: required once GA-READINESS.md's "Arming window" reports zero outstanding clean-room failures.
That reasoning is sound. The gap is that nothing tracks the arming step, and the ledger it keys on is already stale.
Work
Refresh GA-READINESS.md's "Arming window" from a live gate run. It currently lists 7 outstanding failures including wave-av-sdk@2.0.0; the live count is 5 (wave-av-sdk 3.0.0 was published 2026-09-05T03:17:38Z and both of its checks now PASS). The ART-001 / VER-001 / SUPPLY-001 evidence blocks carry verified_revision / sha256 fields, so refresh them from a real run rather than hand-editing the prose.
When a full gate run is green, add cleanroom to the required contexts on main — a ruleset write, so operator-gated.
Consider the same for wave-av/cli and wave-av/sdk-python, since their artifacts are what the gate mostly tests.
Until step 3 lands, a gate that correctly finds five real published-artifact defects still cannot stop a merge. That is a quieter false green than #79's, but it is the same shape.
Finding
registry clean-room acceptancenow fails honestly on every trigger (that landed in #82, after #79 merged green on a run whose own log saidREGISTRY CLEAN-ROOM FAILED: 8 check(s)). But it is still ADVISORY: a redcleanroomcannot block a merge, and nothing in this repo tracks the step that would change that.Measured 2026-09-05
Rules actually in force on
wave-av/sdksmain:gh api repos/wave-av/sdks/branches/main/protectionreturns 404Branch not protected— expected on a ruleset-protected repo, and exactly the response that makes a naive check read as "unprotected".Control, so the short list above is a measurement and not a read-permission artifact: the same endpoint on a sibling repo returns a populated list (
wave-av/wave-gateway->enforce,gate / checks,conformance-smoke (T2 authed vs api)). The two public sibling SDK repos (wave-av/cli,wave-av/sdk-python) matchsdks:Secrets + content policyonly.So:
cleanroomis genuinely not required, on this repo or on either sibling whose artifacts it tests.Why it is not required today, and why that is defensible for now
.github/workflows/registry-cleanroom.ymlstates the reasoning in its own header: the gate tests PUBLISHED artifacts, so an sdks PR can red it for a defect that PR did not introduce and cannot fix (see #85, #86 — both blocked on an operator-gated publish in a different repo). Making it required today would train reviewers to override a required check, which is worse than not having one. The stated arming condition is: required onceGA-READINESS.md's "Arming window" reports zero outstanding clean-room failures.That reasoning is sound. The gap is that nothing tracks the arming step, and the ledger it keys on is already stale.
Work
GA-READINESS.md's "Arming window" from a live gate run. It currently lists 7 outstanding failures includingwave-av-sdk@2.0.0; the live count is 5 (wave-av-sdk3.0.0 was published 2026-09-05T03:17:38Z and both of its checks now PASS). TheART-001/VER-001/SUPPLY-001evidence blocks carryverified_revision/sha256fields, so refresh them from a real run rather than hand-editing the prose.waveshadows the stdlib) — fixed in wave-av/sdk-python source, needs a publish #86 (both need only a publish).cleanroomto the required contexts onmain— a ruleset write, so operator-gated.wave-av/cliandwave-av/sdk-python, since their artifacts are what the gate mostly tests.Until step 3 lands, a gate that correctly finds five real published-artifact defects still cannot stop a merge. That is a quieter false green than #79's, but it is the same shape.