fix: make immutable release gate executable#22
Conversation
Keep the administrator-only repository setting check in the dispatcher contract and retain the workflow-token-readable postpublication immutable assertion. Signed-off-by: Your Name <you@example.com>
athena-omt
left a comment
There was a problem hiding this comment.
Approved.
I refreshed the PR refs and reviewed head c9a77d1 against base 214d612. The branch is 0 behind / 1 ahead, auto-merge is enabled, and the required checks are green.
The workflow change removes only the admin-only repos/${GITHUB_REPOSITORY}/immutable-releases pre-publication call, while preserving the post-publication releases/tags/${TAG} lookup and [[ "$immutable" == "true" ]] assertion. The docs now place the repository immutable-release setting verification on the administrator-capable dispatcher before tag creation, which matches the permission boundary of the built-in GITHUB_TOKEN. The added test coverage locks in both sides of that behavior.
Local verification: python3 -m unittest tests.test_policy_release -v passed on the PR head, 9 tests.
Residual risk is operational rather than code-level: the dispatcher/admin-token preflight has to remain part of the release runbook, since the workflow can only verify immutability after publication.
Summary
GITHUB_TOKENGoverning Issue
Refs #13
Validation
python3 -m unittest discover -s tests -p 'test_policy_release.py' -v— 9 passedpython3 -m unittest discover -s tests -v— 68 passedgit diff --checkpassedCI GateBootstrap Governance
Flow Contract
Flow Merge Readiness
Merge Automation
gh pr merge --auto --squashNotes
The first governed
v1.0.0run failed before publication because the immutable-release settings endpoint requires repository Administration permission, which the built-in workflow token cannot receive. An administrator verified the setting is enabled before the tag was created. Run: https://github.com/OMT-Global/flow/actions/runs/29264697493