Skip to content

v0.7.0-rc.1 — unsigned macOS arm64 candidate

Choose a tag to compare

@JaredP94 JaredP94 released this 17 Oct 12:08

Personal AI Router 0.7.0-rc.1 — macOS Apple Silicon candidate

Release candidate for the JaredP94 fork. Unsigned and not notarized. Not a production-ready or NVIDIA-signed distribution. The privileged helper is unavailable in this unsigned build. This candidate targets macOS arm64 only; Windows, Linux desktop and Intel Mac packages are not included.

Upgrade compatibility

This release adopts relay protocol v2. Upgrade the desktop/TUI and bundled service binaries together; do not mix workers or clients from older protocol versions. Notifications carry protocol/epoch/sequence metadata, while requests and responses remain unstamped. Incompatible stdio sessions now terminate instead of continuing with an unsupported contract.

Desktop release versions and service versions are independent. This candidate uses desktop 0.7.0-rc.1, service product/installer 1.1.0, TUI 1.1.0, node-settings/cluster-manager 2.0.1, and the other service components 1.0.1. Existing protocol-v2 major bumps are retained, not repeated.

Changes since 0.6.0

  • State recovery: The broker announces its protocol epoch and provides authoritative resync snapshots. Desktop and TUI refresh recovered state per domain after an epoch change, without sequence-gap polling or repeated healthy-connection resync bursts.
  • Liveness and reconnect ownership: Inbound-silence detection expires unresponsive sessions. Recovery stays with the owning frontend, uses a bounded readiness deadline, and reports a failed automatic restart rather than hiding it. Desktop retains shutdown ownership across a silence reconnect.
  • TUI recovery: Successful snapshot domains still apply when optional workers are unavailable. Workload snapshots use the broker's object-shaped result; optional failures remain silent rather than causing repeated recovery notices. Failed connection setup does not stop notification consumption.
  • Shutdown and failed starts: Client writes are cancellation-aware where shutdown requires it. Heartbeat shutdown joins are bounded. A failed desktop startup reaps the subprocess instances it created without disturbing a newer start attempt.
  • Service-authoritative metrics: Routing metric calculations live in the Go proxies rather than being reimplemented in clients. The broker reuses one codec per node-info connection.
  • Regression coverage: TCP backpressure fixtures are constrained rather than relying on platform socket-buffer defaults; heartbeat fixture cleanup joins work before restoring the global logger; the malformed-connection fixture no longer races on a shared timeout.

Candidate validation

Verified candidate commit: d18e6d25cac0d13322a791c03f592bb06d4e61f6 (release/v0.7.0-rc.1). Independent metadata/notes/plan review reported no findings; runtime and artifact approval remained separate verification obligations.

  • Fresh desktop checks passed: SPDX/build-script checks, lint, split-target typechecking, service contracts, dead-code check, 328 unit tests and 656 modular test executions across the configured projects.
  • Fresh isolated Linux checks passed: all 16 ordinary Go modules (1,705 test/subtest passes), six full race suites (927 passes), and cross-process integration (90 passes). The named live-oMLX test was skipped once in ordinary and once in race execution; earlier live smoke evidence below is separate, not a pass for these newly versioned packages. Counts include Go subtests and are not counts of unique scenarios.
  • Native macOS arm64 bundle and unsigned DMG/ZIP builds passed. DMG verification and both application/service ZIP integrity checks passed. Packaged application plist/ASAR versions, all 14 service versions, exact service inventory, executable modes, arm64 architectures, sizes and SHA-256 hashes were verified. The source fingerprint was independently reproduced; application ZIP contents matched the inspected bundle. Dispatcher/log-collector payloads and universal arm64/x86_64 helper architectures were checked; packaged helper runtime limits are disclosed below.
  • Code-signing inspection found ad-hoc linker signatures, not Apple Developer ID signing or notarization. The application lacks a complete sealed-resource signature; normal privileged-helper registration failed with signing error -67056. The unchanged helper trust policy additionally requires the official NVIDIA publisher, so an arbitrary fork signing certificate would not make this helper flow valid. No trust bypass or signature modification was used.
  • The exact packaged candidate was temporarily installed and launched normally on a backed-up macOS arm64 test machine. Node-info and packaged proxy model inventory became ready; an independent rerun reproduced transient model-inventory 503 responses followed by 200 with six models when readiness was properly awaited. Three separate bounded two-turn SSE smokes through the packaged oMLX proxy completed with HTTP200, nonempty output and [DONE], using existing Qwen3.5-0.8B weights without downloads. No prompts, responses or credentials were logged. This does not certify renderer interaction, cache hits, GPU placement or multi-host behavior.
  • Ordinary-user non-purge uninstall removed the unlaunched candidate in a separate trial and retained current/legacy application data byte-identically. A fresh backed-up lifecycle run passed normal launch, bounded model readiness, two SSE turns, canonical exit with no remaining app-owned processes, normal relaunch with all 12 supervised workers, another two SSE turns, and a second canonical exit with no remaining app-owned processes. No forced termination or dialog/security-consent automation was used.
  • After that run, the original 0.6.0 app and all nine configured app-data/framework/launcher snapshots were restored and verified before normal relaunch, with preference logical equality and node-info200 afterward. Original helper status, global firewall settings, the immediate pre-run firewall listing and oMLX settings hash were unchanged. This does not claim restoration of older historical firewall-list entries or the complete original engine runtime. Privileged uninstall cleanup and purge behavior remain uncertified.
  • Six artifact assets are included unchanged: application DMG/ZIP, their blockmaps, the service ZIP built from the verified packaged payload, and SHA256SUMS. The generated latest-mac.yml, previously excluded from the prerelease, is now included with an identical latest-arm64-mac.yml alias for macOS update discovery. Both metadata files match the exact candidate ZIP/DMG sizes and SHA-512 hashes; no prerelease-channel metadata was generated. At the user's request, this candidate is now the fork's regular/latest GitHub release and includes macOS updater metadata. The prior v0.6.0 release assets and feed files are unchanged.

Verification-harness disclosure: an initial artifact-check script stopped on an incorrect guessed log-collector filename. The actual packaged collectlogs matched the canonical build script; only the ignored checker was corrected, its failed evidence was retained, and corrected verification passed without changing/rebuilding candidate source or artifacts.

Important limitations

  • No Apple Developer ID signing or notarization is provided. Standard Apple trust assessment failed; this release does not assert normal trusted installation or automatic-updater compatibility.
  • Privileged helper registration and automatic helper-based firewall setup do not work in the tested unsigned package. Normal macOS network permission prompts may still occur as needed. First-run helper explanation dialogs may repeat while setup remains incomplete; do not bypass OS security to make them succeed.
  • An earlier shutdown was blocked by an unidentified native alert until user dismissal. Its exact identity was not established; source inspection makes the first-run helper explanation a hypothesis, not a confirmed diagnosis. The later full bounded lifecycle run passed both normal exits and relaunch without forced termination or UI automation. This does not guarantee that permission/setup dialogs will never recur or constitute production-ready certification.
  • Genuine multi-host behavior, native Windows/Linux desktop and Intel Mac runtime validation remain outstanding.
  • The earlier five-turn live oMLX endpoint smoke passed using an existing advertised Qwen3.5-0.8B model and showed affinity telemetry on follow-ups. It does not establish KV-cache hits or a speedup. The existing oMLX distributed surface was enabled, so strictly local-only GPU execution was not established. The engine was stopped afterward and its settings were unchanged.
  • Prior checks and service cross-builds do not certify every engine/GPU/platform combination. Later authorized packaged-runtime checks supplement, rather than replace, the earlier isolated suites. No new engine installation/download commands, source changes or artifact rebuilds were used to obtain those runtime results.

The user explicitly requested regular/latest release status for in-app update discovery. This changes GitHub release/channel metadata only: version 0.7.0-rc.1 remains a release candidate, unsigned and unnotarized, with the helper and lifecycle limitations above. It is not a new signed or production-certified build; automatic installation through macOS trust/signature checks has not been certified.