docs(companion): ratify Phase 5 bind gate (sockets/spawn/keychain/download)
Add docs/COMPANION-APP-PHASE-5-BIND-GATE.md — the 🧠 thinking-tier design gate for the first companion phase that performs real I/O. Fixes the contract under which the Phase 5 shell may bind loopback sockets, read the OS keychain, spawn the bundled runtime, and download a model, with each decision argued against an attacker model and defaulting fail-closed.
Decisions (D5.1–D5.8): inference loopback bind (ephemeral, loopback-only, port-secrecy not a control); separate one-shot OAuth redirect listener; minimal device-local keychain adapter (get/set/delete on four accounts, no iCloud sync, no plaintext fallback); hardened spawn (absolute path, no shell, argv, env-scrub, process-group, runtime back-end via UDS 0600 with no authority); dumb HTTPS download wired to Phase 4 integrity accumulator with a first-party out-of-band trust anchor; PID-scoped resource probe that never enumerates other GPU processes; companionAvailable true only when integrity-verified + ready + recent health round-trip; and object-capability segregation enforced by build-blocking architecture/env-scrub tests.
Scope: gate document only, no code. Lifts only the bounded loopback-listener / run-from-source subset of the design gate's "DOES NOT approve" list; packaging, signing, notarization, and auto-update remain Phase 7.
Semantic Changes
46 symbols
Files Changed
+1
778 in snapshot
0 comments
muse hub commit comment sha256:683f63b336a11fefb83692cbacfa2fe4f5c3b011eef8c4e38b49199f7d858d35 --body "your comment"
No comments yet. Be the first to start the discussion.