SPB Git

spb/zyquo-cloud Public MIT

Native macOS AI chat client for 12 cloud providers — your keys, every cloud model, one beautiful chat.

Swift 97.4% Shell 1.7% Makefile 1%

phase4: checkpoint

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
simon-pierre boucher committed 12 days ago (Jul 30, 2026) parent a3391f8

Showing 1 changed file with +20 and −5

modified docs/PLAN.md +20 −5
@@ -57,12 +57,27 @@ round-trip, GCM tamper detection, cross-machine rejection (injected entropy), sa
57 57 a scan proving no key material or field names appear in the vault file. Zero Keychain/SecItem usage
58 58 in the codebase. Keys redact to `••••` + last 4 via `SecureKeyStore.redacted`.
59 59
60 ## Phase 4 — Design System & UI Spec (in progress)
60 +## Phase 4 — Design System & UI Spec ✅ (completed 2026-07-30)
61 61
62 - [ ] `ZyquoTheme` tokens: colors (light flagship + dark derivation), typography, spacing, radii, shadows
63 - [ ] Reusable components: hairline, badges, hover states, buttons
64 - [ ] Appearance store (light/dark/system, accent choices, chat font size 12–18)
65 - [ ] Phase checkpoint: builds clean; tokens are the only color/size source (no raw hex in views)
62 +- [x] `ZyquoTheme` tokens: full color spec (light flagship + night-sky dark derivation as dynamic
63 + NSColors), typography scale (title/body 13.5 lh 1.45/caption/code SF Mono), spacing 4–32,
64 + radii 6/10/14, soft shadow token, layout metrics (sidebar 260, header 52, column 760…), motion tokens
65 +- [x] Reusable components: `ZyquoHairline` (0.5pt), `ZyquoBadge`, `StatusDot`, hover highlight (80ms),
66 + pressable style (0.97), provider glyphs
67 +- [x] `AppearanceStore`: light/dark/system, 5 accent choices (sky-indigo default), chat font size 12–18 clamped, persisted
68 +- [x] Phase checkpoint: builds clean; tokens are the only color/size source (raw-hex sweep of Views/ViewModels clean)
69 +
70 +**Phase 4 checkpoint summary:** Design system complete per spec; the Phase 4.2 layout spec is the
71 +contract for all Phase 6 UI and the 4.4 quality gate is re-checked before "done". Toolchain: builds
72 +pinned to macOS 26 SDK (`SDKROOT` in Makefile/test.sh) because CLT lacks Xcode's SwiftUIMacros
73 +plugin required by SDK 27's macro-based @State.
74 +
75 +## Phase 5 — App Icon (in progress)
76 +
77 +- [ ] `assets/icon/zyquo-cloud.svg` — Z+cloud fusion on Apple-squircle, sky gradient
78 +- [ ] Render 16→1024, visually inspect, iterate until crisp at 16/32px (small-size variant if needed)
79 +- [ ] `scripts/generate-icon.sh` → AppIcon.iconset → `Resources/AppIcon.icns`
80 +- [ ] Menu bar template icon (18pt, isTemplate) + wordmark/empty-state glyph derivation
66 81 ## Phase 2 — Architecture (pending)
67 82 ## Phase 3 — SecureKeyStore (pending)
68 83 ## Phase 4 — Design System (pending)
69 84