Skip to content

chore(release): v0.9.2 — macOS static-z3 hotfix#65

Merged
vessux merged 1 commit into
mainfrom
release/v0.9.2
Jun 11, 2026
Merged

chore(release): v0.9.2 — macOS static-z3 hotfix#65
vessux merged 1 commit into
mainfrom
release/v0.9.2

Conversation

@vessux

@vessux vessux commented Jun 11, 2026

Copy link
Copy Markdown
Owner

v0.9.2 — macOS clean-box hotfix

Hotfix completing v0.9.1's "works on a clean box" promise on macOS. Closes the macOS half of the z3 story (v0.9.1 fixed Linux only).

What's in it

  • macOS openshell binary is now z3-free at runtime (openlock-pvq). Pins openshell fork v0.6.3v0.6.4. The fork's build-macos job now static-links z3 (bundled-z3) using zig as the C/C++ toolchain — GitHub's Apple-clang runners can't compile the vendored z3, but zig is deterministic and was locally proven. Previously the macOS aarch64 binary dynamically linked /opt/homebrew/opt/z3/lib/libz3.4.15.dylib, so on a Mac without brew install z3 it died at startup (dyld: Library not loaded) and openlock sandbox failed at the provider step.
  • Compiled openlock sandbox exits cleanly after the harness (openlock-to9, already merged as fix(sandbox): exit cleanly after harness instead of hanging (openlock-to9) #64). No longer hangs at Gateway kept running … on a normal harness exit.

Verification

  • Fork PR ci(release): build macOS CLI with static bundled-z3 via zig OpenShell#7 merged → tagged fork v0.6.4openlock release run 27361383833 all jobs green (Linux arm64/amd64, macOS aarch64, Release).
  • Published openshell-aarch64-apple-darwin binary verified: otool -L shows only libc++ / Security / CoreFoundation / libiconv / libSystemno z3, no Homebrew, no /opt — and openshell --version0.6.4.
  • Quality gates: lint ✓ · typecheck ✓ · bun test 768 pass / 0 fail ✓ · knip ✓.

Remaining (post-merge)

  • Final clean-Mac runtime e2e (openlock sandbox end-to-end on a Mac with no brew z3). Can't be faithfully run on the dev box — it has both the fork checkout (forces dev mode) and brew z3. The otool proof on the released artifact is decisive for the dyld-load failure mode; this is the belt-and-suspenders runtime confirmation. openlock-pvq stays open until then.

Refs: openlock-pvq, openlock-to9 (#64), memory project_v0_9_1_devbox_enablement.

Pin openshell fork v0.6.3 -> v0.6.4: the macOS aarch64 openshell binary
now static-links z3 (bundled-z3 via zig), so it no longer needs Homebrew's
libz3.4.15.dylib at runtime. Verified on the published artifact: otool -L
shows only system libs (no z3 / no /opt/homebrew) and the binary runs.
Completes v0.9.1's clean-box promise on macOS (Linux was already static).

Curated CHANGELOG aggregates this fix plus #64 (openlock-to9): compiled
'openlock sandbox' now exits cleanly after the harness instead of hanging.
@vessux vessux merged commit 1b6ff4f into main Jun 11, 2026
5 checks passed
@vessux vessux deleted the release/v0.9.2 branch June 11, 2026 22:33
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.

1 participant