Add fail-closed signed worker release gate#50
Merged
Conversation
Owner
Author
CI verificationQuality run 95 completed successfully on commit 6244d3e.
The release gate remains intentionally fail-closed: no provider execution is enabled until a real signed worker generation is installed with the pinned public trust root and the live broker PID/token handshake is qualified. |
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.
Summary
Adds the fail-closed release boundary needed to turn the reviewed one-folder recipe worker package into a verifiable signed generation without making provider execution available by accident.
Why
The package contains a large PyInstaller dependency closure. Signing only the executable would leave the copied runtime tree outside the manifest integrity boundary, while the prior 128-entry limit could not represent the real package. The release path now binds every ordinary package file and keeps executable-role selection separate from inert dependency resources.
What changed
Security and compatibility notes
Validation
Remaining release gate
This PR intentionally stops before production enablement. The next controlled stage is to provision the real pinned public trust root, install the signed package through the existing immutable-generation installer, execute the authenticated broker PID/token handshake through the suspended AppContainer/Job Object launcher, run the hostile decoder/cancellation corpus, obtain external security review, and only then wire lifecycle and UI enablement.