Severity: high (missing-design gap)
The calm "resting" state (commit 27b36d8) only renders when familiar-api is up, palace ok, and chat dep non-ok. But the API is off by default and qwen3-coder.service now Conflicts= the companion slots — so the common drop-in state is: SW shell loads, /api/familiar/health fails/502s, and the UI shows error-red "offline/degraded" indistinguishable from a network outage. There is no wake affordance anywhere in the PWA (familiar-wake is a CLI script using link-local WOL, unusable from a phone; slot PATCH is Authelia-@admin gated and needs the API up). Even when "resting" is detected, send stays enabled (syncSubmitEnabled checks only empty-input + onLine), so the user streams straight into the falter. Health polls only every 60s, so the state lags up to a minute.
Evidence: web/app.js:1282-1331,1347-1363,3122-3123; web/sw.js:40-47.
Fix: design an explicit "asleep/waking" state distinct from "error"; add a phone-reachable wake path (routable WOL or an authenticated wake endpoint); gate send when resting; consider faster health poll when offline-suspected.
Filed from the 2026-06-09 dream-team premise audit (24 agents, adversarially verified). Report: docs/audits/2026-06-09-premise-audit.md.
Severity: high (missing-design gap)
The calm "resting" state (commit 27b36d8) only renders when
familiar-apiis up, palace ok, and chat dep non-ok. But the API is off by default andqwen3-coder.servicenowConflicts=the companion slots — so the common drop-in state is: SW shell loads,/api/familiar/healthfails/502s, and the UI shows error-red "offline/degraded" indistinguishable from a network outage. There is no wake affordance anywhere in the PWA (familiar-wakeis a CLI script using link-local WOL, unusable from a phone; slot PATCH is Authelia-@admin gated and needs the API up). Even when "resting" is detected, send stays enabled (syncSubmitEnabledchecks only empty-input + onLine), so the user streams straight into the falter. Health polls only every 60s, so the state lags up to a minute.Evidence:
web/app.js:1282-1331,1347-1363,3122-3123;web/sw.js:40-47.Fix: design an explicit "asleep/waking" state distinct from "error"; add a phone-reachable wake path (routable WOL or an authenticated wake endpoint); gate send when resting; consider faster health poll when offline-suspected.
Filed from the 2026-06-09 dream-team premise audit (24 agents, adversarially verified). Report:
docs/audits/2026-06-09-premise-audit.md.