feat(tools): make release qualification gates explicit and fail closed (#1216) - #1257
Merged
Conversation
#1216) Alpha.10 truth closure (H6): consumer-smoke collapsed confirmed-absence, DNS failure, timeout, 5xx and malformed responses into one boolean via catch→false, then printed 'skipping' and exited 0 — registry/CDN infra failure silently greened a release gate (proven live at base SHA: probe against an unpublished version exited 0). - new canonical verdict contract tools/gate-verdict.ts: PASS / FAIL / SKIP_ALLOWED / UNKNOWN; only PASS admits a release by default; SKIP_ALLOWED only under explicit policy; UNKNOWN fails closed - consumer-smoke probes refactored to pure injectable decision functions: registry 200 with version-confirming payload is the only PASS; 404 is FAIL; 5xx/redirect/malformed/timeout/DNS are UNKNOWN; CDN 404/empty is FAIL, CDN 5xx/network is UNKNOWN; every non-PASS exits 1 - 18 hostile decision-logic tests via injected fetchers; live probe now prints FAIL and exits 1 on confirmed absence M15 breadth (other scripts' decision tests) is B2.8/#1230 scope. Implemented by fresh kimi-code/k3-256k HIGH session (.agents/v044-kimi-implementer.md), packet A10.8. No publish, no tag.
Contributor
|
APIError: Insufficient Balance |
This was referenced Sep 2, 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.
Problem
Issue #1216 (umbrella #1155, Alpha.10, audit H6).
tools/consumer-smoke.tscollapsed confirmed-absence / DNS failure / timeout / 5xx / malformed responses into one boolean (catch { return false }), then printed "not yet available; skipping" and exited 0 — wired into the release plan post-publish, so registry/CDN infra failure silently greened a release gate. No canonical PASS/FAIL/SKIP/UNKNOWN verdict type existed.Owner
New canonical verdict contract
tools/gate-verdict.ts(small module under tools/, no package, no public API): only PASS admits a release; SKIP_ALLOWED requires explicit policy; UNKNOWN/INFRA failure fails closed. Autoflow's runner layer stays boolean-justified (subprocess exit-code mapping is already fail-closed; spawn failure throws).Evidence
deno run -A tools/consumer-smoke.ts --version 0.0.0-a10-8-red-probeprinted "skipping" and exited 0. After: printsFAIL: confirmed absence…and exits 1.Scope / non-goals
CLI contract (flags, exit codes) unchanged → release plan wiring and published-consumers workflow untouched. M15 breadth (other gate scripts' decision tests) deferred to B2.8/#1230 by design. No gate weakened.
Risk
Release runs now correctly fail on registry/CDN infra errors (explicit retries expected); pre-publish local iteration uses
--local. Rollback: revert.