fix: resolve open issues #3-#9 (release gates, script intent, contracts) - #18
Merged
Merged
Conversation
#3 tag gate: fetch default branch with full history so force-pushed tag commits get an honest merge-base answer. #4 platform packages emit peerDependencies on the launcher at the same version; npm auto-installs the peer on direct installs, and the publish metadata gate now asserts the cross-link (the old gate was a vacuous pass and never checked anything). #5 concurrency group keyed on github.sha so a force-moved tag runs in a fresh lane instead of behind the stale run for the old ref. #6 black-box exit_codes.rs pins the blocked-verdict exit code 2 contract the release smoke step asserts. #7 staging writes the binary sha sidecar; the cross-check now re-fetches the GitHub release asset and verifies recorded vs released vs published digests (root publish ordered after asset upload). #8 check-matrix parses release.yml as YAML (typed matrix rows) instead of regex-scraping lines; flow-style fixtures + malformed-input tests added so the gate fails loudly instead of passing vacuously. #9 ci npm job runs actionlint over ci.yml and release.yml plus deno tests. Verification (local, zig cc toolchain): cargo fmt/clippy/test all green (exit_codes 2/2, classify 61, context 10, f1 6, pipeline 13); deno test 4/4, lint, check-matrix ok; pnpm lint/build/typecheck cached-ok.
systemfsoftware-maker
force-pushed
the
feature/fix-open-issues-3-9
branch
from
August 21, 2026 20:32
7e12dfd to
2d6511c
Compare
This was referenced Aug 21, 2026
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.
Fixes all seven open triage issues
merge-base --is-ancestorpeerDependencieson the launcher at the same version; metadata gate (was a vacuously-passing jq) now asserts version + os/cpu/libc + peerconcurrency.groupkeyed ongithub.sha, notgithub.reftests/exit_codes.rspins exit 0 (clean) and exit 2 (blocked) via the real binarybinary-<suffix>.sha256; cross-check also re-fetches the GitHub release asset and verifies recorded == released == published digest; root publish ordered after asset uploadscripts/lib/matrix-rows.tsparses release.yml as YAML; malformed YAML and empty-matrix fail loudly; flow-style fixtures incheck-matrix.test.tsrhysd/actionlintover ci.yml + release.yml; also runs the newdeno task testVerification (this branch, local run)
Also fixes a latent vacuous gate found while editing: the publish metadata gate's jq invocation never received input and always exited 0; it now actually asserts the metadata it claims to.