Production readiness
How to know your Watari is ready for 24/7 use — and the gate that decides when to make a fork public.
docs/AUDIT.md.Readiness checklist
| Check | How |
|---|---|
| Tests green | uv run python bench/run_all_tests.py → all passed (SKIP is fine) |
| Efficiency targets met | uv run python bench/efficiency_report.py → every row OK/GOOD (watch streaming TTFT) |
| Required keys set | uv run python bench/check_config.py → TTS, STT, brain LLM, vault present |
| Live integrations work | uv run python bench/test_live_integrations.py → the keys you set respond |
| Protocol passwords changed | the wizard generated them; confirm they aren't the placeholders |
| Confirmation tier verified | ask it to send/delete something → it asks first, runs only after "yes" |
| Voice enrolled (if shared space) | enroll_voice.py + JARVIS_SPEAKER_ID_ENABLED=true |
| Tailnet on every device | brain reachable from laptop + phone over 100.x; nothing public |
| Vault writable only on the owner host | JARVIS_VAULT_WRITABLE=true on the VPS, false on the laptop |
| Proactivity decision | JARVIS_PROACTIVE_ENABLED + quiet hours + budget tuned |
| Fleet decision | JARVIS_FLEET_AUTHORIZED stays false unless you mean it |
| Device acceptance tests | walk TODO-NOW.md §3 on each device (TTFW, barge-in, Siri voice, music room, proactive voice, shared memory) |
Run it as a service
- Brain (VPS, 24/7): run
python -m jarvis.brain.serverunder systemd (it owns the reminder scheduler, proactive tick, and channels). Pattern indeploy/vps/. - Edge (laptop): Windows Task Scheduler / the helpers in
scripts/so it auto-starts and reconnects. - Recurring reminders with the PC off: deploy the ticker in
deploy/vps/.
What “done” looks like
Cold-boot the laptop → the edge auto-starts and reconnects to the brain. The wake word fires only on your voice and ignores the TV. A direct question answers in ~1 s; a hard one is delegated (if armed) with spoken progress. Vault search, Telegram, calendar work. A reminder fires proactively — spoken if you're listening, pushed if not — and you can answer it a minute or days later. Every consequential action is read back and confirmed. The suite is green and TTFT is within your tolerance.
See the full audit and open items in docs/AUDIT.md and the per-phase evidence in docs/PHASE-VERIFICATION.md. For the credential walk-through, see Setup & keys.