Repository navigation
Conversation
A missing GitHub App, an outage or a cancelled run can lose W4's post-release dispatch. The scheduled receiver run now first looks at PyPI: for every policyengine release newer than the newest certified replay variant that no request names yet (oldest first, at most three a run), it builds a released_bundle request from primary artifacts and queues it. pipeline/uk_replay_discover.py checks the wrapper wheel against PyPI's digest, reads the packaged bundle manifest and the uk extra's pins, requires the manifest's model wheel digest to equal PyPI's, takes the core digest from PyPI, and checks the data release manifest certifies the bundle's dataset (its SHA-256 and size come from there). The expected release bundle is read from a scratch install with tokens removed. Rebuilt for 6.2.6, the candidate block equals the request built by hand from the same sources. The workflow's state checkout and enqueue steps move to shared scripts; the drain tolerates a state branch that exists only locally. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
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.
Stacked on #163. WIP: W6 of the Autumn Budget 2026 CI plan.
Why
W4's post-release
NotifyConsumersdispatch can be lost to a missing GitHub App, an outage or a cancelled run. The r4 audit's design asked for a scheduled reconciliation that finds missed releases. Before this PR, the receiver's schedule only drained its own queue.What
discoverjob,pipeline/uk_replay_discover.py. It takes every policyengine.py release on PyPI that is newer than the newest certified replay variant, final, and named by no request yet. It handles them oldest first, at most three per run, and logs the rest.ukextra's model and core pins, which must match the manifest;.github/scripts/uk_replay_state.shanduk_replay_enqueue.sh. The drain tolerates a state branch that so far exists only locally.Verified
provisional_request+expected_bundlefor 6.2.6, the candidate block is identical to the request built by hand for Replay the five events on policyengine.py 6.2.6 and diff against the legacy run #164.rejected(artifact_hash_mismatch);rejected(schema_invalid);STATUS.json, and the status names that exact commit;uk_replay_drain.sh, in a fresh environment, went queued → running →complete. Its integrity was complete; it diffed against the legacy run with the same flag counts as Replay the five events on policyengine.py 6.2.6 and diff against the legacy run #164 (304 numerical, 15 structural, 6 construction, 34 support); the receipt and results landed underrequests/<id>/results/, and the terminal status named the receipt commit. All 111 artifact and progress files are byte-identical to the committed Replay the five events on policyengine.py 6.2.6 and diff against the legacy run #164 namespace (replay determinism across independent runs).tests/test_uk_replay_discover.py(9 tests):axiom: n/a: replay CI plumbing in scorecard, no policy encoding.
🤖 Generated with Claude Code