phase8: Developer ID signed, notarized, stapled — spctl Notarized Developer ID; DoD review
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Showing 1 changed file with +28 and −1
modified
docs/PLAN.md
+28 −1
@@ -128,4 +128,31 @@ Zero warnings. Dark-mode + full design gate re-run before Definition of Done. | ||
| 128 | 128 | |
| 129 | 129 | **Checkpoint:** VERIFY: ALL GREEN, exit 0. Best perf: Llama-3.2-1B at 222.8 tok/s; |
| 130 | 130 | unloads verified down to KBs of MLX active memory. |
| 131 | −## Phase 8 — Signing & notarization — pending | |
| 131 | +## Phase 8 — Signing & notarization — ✅ DONE (2026-07-30) | |
| 132 | + | |
| 133 | +- [x] zyquo-term setup inspected and reused: identity `Developer ID Application: Simon-Pierre Boucher (3YM54G49SN)`, notarytool keychain profile `MacLustr-Notarize` (verified live before use) | |
| 134 | +- [x] Support/entitlements.plist: hardened runtime, NO JIT/unsigned-memory entitlements — verified unnecessary by running MLX inference in the signed build | |
| 135 | +- [x] scripts/release.sh (`make release`): release build → bundle (incl. Cmlx metallib bundle) → sign nested bundles then app → ditto zip → notarytool submit --wait → staple → spctl → signed+notarized DMG | |
| 136 | +- [x] First submission **Accepted** (app AND dmg); `xcrun stapler validate` ✅ | |
| 137 | +- [x] `spctl -a -vv`: **accepted, source=Notarized Developer ID** | |
| 138 | +- [x] Notarized app runs inference: 554.3 tok/s, TTFT 0.03 s (release build), GUI launches | |
| 139 | +- [x] Final coherence sweep: syntax palette moved into ZyquoTheme, naming fix, headers green | |
| 140 | + | |
| 141 | +**Checkpoint:** dist/Zyquo Local.app (signed, notarized, stapled) + | |
| 142 | +dist/ZyquoLocal.dmg (13 MB, notarized, stapled). `make dev` keeps ad-hoc | |
| 143 | +signing for iteration. | |
| 144 | + | |
| 145 | +--- | |
| 146 | + | |
| 147 | +## Definition of Done — final review (2026-07-30) | |
| 148 | + | |
| 149 | +- [x] `make release` → Developer ID–signed, notarized, stapled app (spctl: Notarized Developer ID) | |
| 150 | +- [x] In-app HF browsing + one-click resumable downloads (pause/Range-resume verified live); Featured catalog live-verified 30/30 | |
| 151 | +- [x] Chat with downloaded MLX models: streaming, multi-turn with context management, stop, stats (tok/s, TTFT), reasoning display — verified on screen and in the harness | |
| 152 | +- [x] MemoryAdvisor verdicts accurate for this Mac; load/unload verifiably frees memory (GB → KB) | |
| 153 | +- [x] Silicon-themed SVG icon (Z-core) at all sizes, .icns embedded + menu bar template; sibling DNA of Zyquo Cloud | |
| 154 | +- [x] Emerald light theme per Phase 4 token spec; dark theme derived (graphite-green) and verified on screen | |
| 155 | +- [x] Naming coherent: `Zyquo Local` user-facing, `com.zyquo.local`, `ZyquoLocal` target/data folder | |
| 156 | +- [x] Phase 7 table fully green; docs/MODELS.md ↔ ModelCatalog in sync | |
| 157 | +- [x] Mandatory header on every code file (repository-wide sweep green) | |
| 158 | +- [x] docs/PLAN.md complete with per-phase checkpoints | |
| 132 | 159 | |