package-wavefunction-install-kit · git:20261027.de86d54 · 2026-10-27 · sha256 19e5fb3c9b19cc66
package-wavefunction-install-kit git:20261027.de86d54A
Immutable. This exact content never changes and is served at /api/v1/blob/19e5fb3c9b19cc66.
--- name: package-wavefunction-install-kit description: Build and verify a shareable Wavefunction macOS app ZIP and checksum using its bundled Python runtime. Use when the user asks for an install kit, test kit, or app archive for another Mac. --- # Package a Wavefunction install kit Work from the repository root. The recipient needs a Mac matching the build architecture; running this app does not require Python, Rust, uv, or repository access. Docker is optional for computer use, and model/connector accounts remain the recipient's own. ## Prepare the candidate - Check the requested branch, commit, and working tree. Preserve unrelated edits. Packaging does not authorize release publication, uploads, a workspace reset, PR merge, or replacing a local app. - This kit is ad-hoc signed, so another Mac's Gatekeeper warns before opening it. When the user wants a DMG, or a build that opens without that warning, use [release-wavefunction-dmg](../release-wavefunction-dmg/SKILL.md) instead: it is Developer ID-signed and notarized. - Reuse a successful bundle from this task when its application inputs are unchanged. Otherwise run `npm run desktop:build`. For a combined rebuild/reopen request, follow [rebuild-wavefunction](../rebuild-wavefunction/SKILL.md), then reuse that build. - Use `scripts/package-desktop.mjs`. - Keep user data, databases, credentials, test fixtures containing live accounts, and unrelated local files out of archives. A normal app ZIP needs no source snapshot or private account state. If source delivery is specifically requested, select the intended repository files separately and retain the original license and third-party notices. ## Package and verify If the bundle is already built, run: ```sh node scripts/package-desktop.mjs ``` The script seals the assembled app with an ad-hoc signature, verifies it, and writes the app ZIP and SHA-256 file to ignored `dist/desktop`. It stops if signing, verification, or archiving fails. Keep the archive and checksum from the same run; repackaging changes the checksum. For the architecture produced by the current build, run: ```sh codesign --verify --deep --strict src-tauri/target/release/bundle/macos/Wavefunction.app unzip -tq dist/desktop/Wavefunction-0.1.0-macos-<arch>.zip (cd dist/desktop && shasum -a 256 -c Wavefunction-0.1.0-macos-<arch>.zip.sha256) ``` Replace `<arch>` with the actual suffix, normally `arm64` on Apple Silicon. Confirm the app's `CFBundleIdentifier` is `app.harness.coding` and its version matches the candidate. Do not describe a working tree with local changes as an unchanged commit. When testing extraction, use a task-owned temporary directory, verify the extracted bundle's signature, and remove that directory afterward. Native launch verification uses the isolated workflow in the rebuild skill; never replace the recipient/user app or data as an archive test. ZIP/signature checks are not a fresh-Mac installation test. ## Hand off - Return absolute links to the ZIP and checksum. The recipient verifies the checksum, extracts the ZIP, moves `Wavefunction.app` to their chosen Applications directory if desired, then opens it and connects their model in Settings → Models. - The app is ad-hoc signed unless this task explicitly configured another identity. Report notarization, clean-Mac testing, and other architectures as unverified when they were not exercised. Do not bypass operating-system security warnings for the recipient. - Publish or send the archive or source only when requested, and only to the intended destination. - Remove task-owned extraction folders, synthetic state, test processes, and disposable caches. Keep the archive, checksum, requested source changes, and useful verification evidence. Leave a requested user launch running.