Skip to content

[codex] Sign macOS MCP helper before app binary#294

Merged
forketyfork merged 1 commit intomainfrom
codex/fix-intel-helper-signing-order
Apr 28, 2026
Merged

[codex] Sign macOS MCP helper before app binary#294
forketyfork merged 1 commit intomainfrom
codex/fix-intel-helper-signing-order

Conversation

@forketyfork
Copy link
Copy Markdown
Owner

Summary

The v0.60.0 Intel release got past the install-name rewrite, but failed in the signing phase:

Signing architect...
release/Architect.app/Contents/MacOS/architect: code object is not signed at all
In subcomponent: .../release/Architect.app/Contents/MacOS/architect-mcp

The bundle script was signing the main architect executable before architect-mcp. On Intel, the helper starts unsigned, so codesign rejects the main executable while the helper is still an unsigned subcomponent. This changes the order to sign architect-mcp first, then architect, then the app bundle.

Checks

  • bash -n scripts/bundle-macos.sh
  • git diff --check
  • ./scripts/bundle-macos.sh zig-out/bin/architect /tmp/architect-bundle-helper-signing-20260428163652 zig-out/bin/architect-mcp
  • codesign --verify --verbose=2 /tmp/architect-bundle-helper-signing-20260428163652/Architect.app
  • codesign --verify --verbose=2 /tmp/architect-bundle-helper-signing-20260428163652/Architect.app/Contents/MacOS/architect-mcp
  • codesign --verify --verbose=2 /tmp/architect-bundle-helper-signing-20260428163652/Architect.app/Contents/MacOS/architect
  • nix develop -c just lint
  • nix develop -c zig build test

@forketyfork forketyfork marked this pull request as ready for review April 28, 2026 14:39
@forketyfork forketyfork merged commit 70bef30 into main Apr 28, 2026
4 checks passed
@forketyfork forketyfork deleted the codex/fix-intel-helper-signing-order branch April 28, 2026 14:45
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