|
1 | 1 | # HANDOVER — CODEC buyer journey |
2 | 2 |
|
3 | | -**Last updated:** 2026-09-04 pm · native window, connect screen, one key slot, text size |
| 3 | +**Last updated:** 2026-09-04 evening · local model for buyers (#347), ava-stack #2 merged, license server live |
| 4 | + |
| 5 | +## 2026-09-04 (evening) — local model works for buyers; ava-stack merged; license server live-fixed |
| 6 | + |
| 7 | +**State: main @ 0752cb9, clean. ava-stack main @ 9331b37 (PR #2 merged), ava-license |
| 8 | +restarted with both webhook guards live. Installed on this Mac from the notarized DMG.** |
| 9 | + |
| 10 | +### Shipped |
| 11 | +- **#347** "Use the local model" on a buyer's Mac. Bundle now carries mlx-vlm (+jinja2), |
| 12 | + ships scripts/start_model_server.sh, and the script resolves Resources/python when no |
| 13 | + dev venv exists. Connect screen downloads the bundled Qwen2.5-7B (~4.3 GB) with live |
| 14 | + progress; first_run's fetch had been a DRY RUN. App 900 MB, DMG 443 MB. 7/7 gates; the |
| 15 | + e2e makes the BUNDLED interpreter answer a completion on :8098. |
| 16 | +- **ava-stack #2** merged; `pm2 restart ava-license` → /health 200; revoked-is-terminal + |
| 17 | + subscription price filter are running code now, not a branch. |
| 18 | + |
| 19 | +### Caught by gates, would have shipped otherwise |
| 20 | +- `jinja2` missing: server listened, every completion failed. transformers doesn't declare it. |
| 21 | +- start_download checked "already downloaded" before "already running" → a half-finished |
| 22 | + download refused for the wrong reason. |
| 23 | +- test_a12_invariant scanned dist/ → false offenders the moment anyone builds locally. |
| 24 | + |
| 25 | +### Traps |
| 26 | +- Locked screen ⇒ `windows: 0` AND `notarytool: No Keychain password item`. Check |
| 27 | + `CGSSessionScreenIsLocked` before debugging either (memory note). |
| 28 | +- A verifier that prints one ledger's gate token fails in the next ledger. Print |
| 29 | + ledger-independent tokens for reused verifiers. |
| 30 | +- Do not run gates that read dist/ while `release_macos.sh --clean` is mid-build. |
| 31 | + |
| 32 | +### Open |
| 33 | +1. `_fleet_loaded()` counts the app's own LS registration; `_bootstrap_fleet` bypasses the |
| 34 | + ephemeral guard. On a buyer's Mac the first launch WILL install 14 LaunchAgents — untested |
| 35 | + end-to-end on clean hardware. **Mac Air test is the gate before the Buy button.** |
| 36 | +2. Auth route writes unsigned lines into the HMAC audit log (known-issues). |
| 37 | +3. Demo narration script. |
| 38 | + |
| 39 | +--- |
4 | 40 |
|
5 | 41 | ## 2026-09-04 (pm) — a real window, a connect screen, and the false green that almost shipped |
6 | 42 |
|
|
0 commit comments