Skip to content

Make macOS a release-gated supported platform#1048

Merged
TheGreenCedar merged 4 commits into
dev/codestory-nextfrom
codex/macos-support
Jul 13, 2026
Merged

Make macOS a release-gated supported platform#1048
TheGreenCedar merged 4 commits into
dev/codestory-nextfrom
codex/macos-support

Conversation

@TheGreenCedar

@TheGreenCedar TheGreenCedar commented Jul 13, 2026

Copy link
Copy Markdown
Owner

Outcome

Makes macOS 15+ a release-gated CodeStory platform: managed Metal and full retrieval on Apple Silicon, with native CLI/plugin/local-graph support and explicitly labelled CPU or external-embedding behavior on Intel.

What changed

  • Isolates test sidecar state before cache access and routes CLI sidecar construction through one gateway.
  • Uses the selected dynamic embedding endpoint throughout bootstrap and readiness.
  • Validates Darwin native processes by executable, exact arguments, and process-start identity.
  • Keeps retrieval_mode=full as the manifest classification while blocking packet/search when the endpoint, process identity, or required GPU proof is invalid.
  • Serializes same-project Compose ownership probing, startup, and caller cleanup so one bootstrap cannot tear down another bootstrap's containers.
  • Adds the Node/POSIX Codex worktree setup path.
  • Adds macOS arm64/x64 CI, protected Metal lifecycle proof, Developer ID signing, notarization, Gatekeeper, and post-publish checks.
  • Documents the macOS support contract, troubleshooting, testing, and release proof boundaries.

Why the diff is large

The current diff is 8,717 additions and 2,167 deletions: 6,550 net lines. The size is mostly platform lifecycle and release proof, not Mac-specific application behavior:

  • 3,803 net Rust lines: 2,217 for native retrieval/process/Compose lifecycle, 1,540 for CLI and broker ownership/readiness, 61 for filesystem identity, and 15 lines removed from the agent runtime tests.
  • 1,168 net lines in the cross-platform packaged-agent proof harness.
  • 722 net lines for the POSIX worktree setup implementation and its dispatcher tests.
  • 613 net lines for CI, signing, notarization, and release policy.
  • 244 net lines across documentation, evidence, and plugin integration.

The simplifier pass removed a brittle sentence-copy assertion, a redundant no-Compose cleanup self-test, and an environment-sensitive three-second unit-test deadline. It retained deterministic tests at the process-ownership, cache-isolation, PID-reuse, and signed-release boundaries because those are the failure modes that can corrupt user state or publish an invalid Mac asset.

How to review

  1. Review the sidecar gateway and readiness precedence in codestory-cli.
  2. Review native-process identity, Compose serialization, and lifecycle ownership in codestory-retrieval and the readiness broker.
  3. Review the POSIX worktree dispatcher and plugin handoff.
  4. Review workflow signing/notarization boundaries and the marker-owned hardware cleanup contract.

Verification

  • Formatting, locked workspace check/test, and all-target/all-feature clippy passed on the final working tree.
  • CLI suite passed with 291 tests; retrieval passed with 356 tests.
  • Indexer fidelity and language suites passed with 8 and 12 tests.
  • Plugin static tests, POSIX worktree tests, and the POSIX setup self-test passed.
  • Packaged-proof self-test, workflow policy, documentation links, shell syntax, and diff checks passed.
  • The mandatory repository-scale full-sidecar run passed and recorded 148,383 nodes, 123,783 edges, 19,246 symbol documents, and 1,006 dense projections.
  • A packaged arm64 run on Apple M5 reached retrieval_mode=full and gpu_proof=verified, offloaded 13/13 layers to Metal, completed a 14 ms embedding smoke, reused the exact native PID, blocked readiness after endpoint death, repaired successfully, passed packet/search plus CLI/plugin stdio, and cleaned all proof-owned state.

Risk and release follow-up

This PR is the source-integration receipt and remains draft only until its exact-head hosted source and native-package checks pass. Parent #1046 and #887 remain open for protected Developer ID/notarization credentials, the protected Apple Silicon lifecycle workflow, signed public assets, post-publish Gatekeeper checks, and a fresh Codex marketplace install/readback.

Closes #1049
Refs #1046
Refs #887

@TheGreenCedar

Copy link
Copy Markdown
Owner Author

Review context

PR #1048 integrates CodeStory's macOS runtime, POSIX setup, packaging, and release-gate source changes into dev/codestory-next. Source integration now closes #1049; parent #1046 and #887 retain release and live-install acceptance.

Review scope

Independently reviewed exact head 7110d5628eaead6324dc61fa9c69f80de580aab7 against the prior retrieval-readiness and concurrent Compose-ownership findings.

Checks and findings

  • retrieval_mode remains the persisted-manifest classification while live degradation and identity-bound GPU proof independently gate packet/search.
  • Same-project Compose ownership is locked before the preexistence probe and remains serialized through startup, publication, and caller-side failure cleanup.
  • P1 or merge-blocking findings: none.
  • Hosted status at review: no failures; remaining source and native-package jobs still in progress.

Disposition

This review does not claim that public Mac assets have already been signed, notarized, published, or freshly installed.

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

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant