Skip to content

Hash-lock packaged Python runtime - #80

Merged
FernandoAbishai merged 1 commit into
mainfrom
hardening/runtime-reproducibility
Oct 14, 2026
Merged

FernandoAbishai merged 1 commit into
mainfrom
hardening/runtime-reproducibility

Conversation

@FernandoAbishai

Copy link
Copy Markdown
Owner

Problem

The packaged macOS arm64 runtime had exact versions but pip still selected transitive artifacts without committed SHA-256 hashes, and openai-whisper could create an isolated PEP 517 build environment with floating build tooling.

Change

  • add a reviewed 35-artifact macOS arm64 / Python 3.11.15 lock with SHA-256 hashes
  • install the packaged core with --require-hashes and --no-build-isolation
  • keep the direct requirements/constraints files as the readable dependency graph while making the artifact lock authoritative for packaging
  • record the lock source/hash/policy in runtime-manifest.json
  • verify that lock provenance from packaged-runtime checks and propagate it into candidate/public release metadata
  • retain reproducible: false: package inputs are hash-locked, but generated wheels and the DMG are not claimed byte-for-byte reproducible

Verification

  • runtime artifact/contract smokes: PASS
  • clean no-cache install from the hash lock: PASS
  • deliberately incorrect Whisper hash: correctly rejected, including when a cached derived wheel existed
  • self-contained arm64 app rebuild: PASS
  • packaged runtime imports and provenance: PASS
  • packaged backend /health/auth/no-system-Python smoke: PASS
  • release metadata, release notes, public release, and workflow contract smokes: PASS
  • git diff --check: PASS

Risks and follow-ups

openai-whisper is distributed as a source archive. Its source input is hash-locked and built with the pinned portable Python toolchain without isolated downloads, but the generated wheel itself is not byte-for-byte deterministic. Apple Developer ID signing/notarization remains a separate credentialed release-hardening step.

Install the macOS arm64 runtime from a reviewed 35-artifact SHA-256 lock with hash enforcement and no isolated source-build downloads.\n\nRecord the lock in runtime and release provenance while keeping the full DMG reproducibility claim conservative. Packaged runtime/backend and release metadata contracts pass.
Copilot AI balanced review requested due to automatic review settings October 14, 2026 04:21
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@FernandoAbishai
FernandoAbishai merged commit 0bf906a into main Oct 14, 2026
2 checks passed
@FernandoAbishai
FernandoAbishai deleted the hardening/runtime-reproducibility branch October 14, 2026 04:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants