Skip to content

feat(install): default install mode to --from-release (D4 flip, #249) - #368

Merged
TheSemicolon merged 1 commit into
devfrom
feat/install-default-from-release
Jul 6, 2026
Merged

TheSemicolon merged 1 commit into
devfrom
feat/install-default-from-release

Conversation

@TheSemicolon

Copy link
Copy Markdown
Member

Closes #249.

Summary

Completes ADR-011's Archetype A2 migration: install.sh now defaults to the cosign-verified --from-release tarball. An unset INSTALL_MODE resolves to release; --from-source is the opt-in escape hatch and requires --i-accept-unverified-source to acknowledge that a local tree carries no cosign chain.

This is the last-line "flip" the issue anticipated, plus the test-suite migration it implies (the suite assumed source-as-default in several places).

Changes

  • scripts/install.sh — unset mode → release; --from-source gated behind --i-accept-unverified-source; usage/comments updated.
  • Tests — run_install() (roundtrip) and the smoke harness source leg + both --system calls now pin --from-source --i-accept-unverified-source; flow-test cases 17/18 rewritten for explicit source mode; new case 18b (--from-source requires the ack flag) and 18c (bare ack flag with no mode is rejected).
  • Docs — README §Archetype A2 (from-release default + quick-start + Windows caveat), docs/install-upgrade-track.md (D4 done, only feat(install): RHEL/Fedora host-dependency bootstrap module (--install-deps) #247 left), ADR-011 status line.

macOS ADR-011 gate

The flip gate wants the from-release smoke green on both runners; macOS CI is blocked by #366 (Homebrew bottle). Satisfied out-of-band with real evidence on Apple Silicon: verify-release.sh against v1.2.0 → cosign verify PASS (psmfd identity), manifest→tarball sha256 PASS, bsdtar extract OK, and runtimes/osx-arm64/native/libonnxruntime.dylib present (the RID-packing crash risk #249 called out).

Pre-PR review (3 reviewers, most-severe-wins)

Reviewer Verdict Key contribution
shell-expert NEEDS_CHANGES → addressed Found the ordering bug: ack-flag guard ran before the unset→release resolution, so bare --i-accept-unverified-source silently resolved to release.
security-review-expert PASS Confirmed no bypass of the cosign gate; trust floor genuinely raised; downgrade/republish/cross-check/identity controls intact.
code-review-expert PASS_WITH_WARNINGS → addressed Flip is complete (no missed artifact); flagged stale comments and the install.ps1 platform-asymmetry gap.

Fixes applied: reordered mode-resolution before the ack-flag guard (guard now fires on mode != source), verified with the exact repro + new regression test 18c; updated two stale comment blocks; corrected the marker fallback default; clarified the usage synopsis. Filed #367 for install.ps1 from-release parity (Windows has no cosign path — the flip widens that asymmetry) and noted it in the README.

Doc-impact

Surface Classification
install.sh, README §A2, ADR-011 status, install-upgrade-track.md in-scope (done)
install.ps1 from-release parity out-of-scope → #367
New ADR not-a-thing — implements ADR-011's committed decision

Verification

shellcheck clean; validate-pr.sh PASS; flow-test 40/1 (the 1 is the pre-existing case-23 host quirk, identical on origin/dev); exact ordering-bug repro now errors; control case unchanged. (macOS install-smoke jobs remain non-blocking under #366.)

Completes ADR-011: install.sh now defaults to the cosign-verified release
tarball. An unset INSTALL_MODE resolves to release; --from-source is the opt-in
escape hatch and requires --i-accept-unverified-source to acknowledge that a
local tree carries no cosign chain.

Migrated the source-default assumption out of the test suite (run_install in
test-upgrade-roundtrip; the smoke-harness source leg + both --system calls; the
case-10 prefix-rejection invocations) and added flow-test cases 18b (--from-source
requires the ack flag) and 18c (bare ack flag with no mode is rejected).

Pre-PR review (shell-expert + security-review-expert + code-review-expert) caught
an ordering bug: the ack-flag guard ran before the unset->release resolution, so
a bare --i-accept-unverified-source silently resolved to release with the flag
ignored. Fixed by resolving mode first, then guarding on mode != source.

macOS ADR-011 gate (E3 CI red under #366) satisfied out-of-band: local
verify-release.sh + bsdtar of v1.2.0 on Apple Silicon (cosign PASS, sha bind
PASS, osx-arm64 ONNX native present). Windows install.ps1 parity tracked in #367.

Closes #249.
@TheSemicolon
TheSemicolon merged commit fbc4b27 into dev Jul 6, 2026
20 of 23 checks passed
@TheSemicolon
TheSemicolon deleted the feat/install-default-from-release branch July 6, 2026 16:01
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 1.3.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(install): implement ADR-011 — cosign-signed tarball publish + verify-then-extract

1 participant