progress: document voice-assistant gaps; theme the destructive checkbox

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ASstMtsZWLSRcD1Tq8T68Q
This commit is contained in:
kami
2026-07-05 18:47:46 +04:00
parent d7c0cf89d3
commit 2506327b62
2 changed files with 40 additions and 0 deletions
+39
View File
@@ -177,6 +177,45 @@ Also fixed:
semantic `query`.
Earlier: notes/query recall, `/dash` monitoring, `wg_handshake` poller (NO-OP).
### Gaps — why "voice assistant" is still aspirational (2026-07-05)
What separates Maven today from the thing the spec describes. Dealbreakers
first — these define the category:
1. **No always-on listening.** Voice is push-to-talk in a web page: open the
PWA, hold, speak, release. No wake word, no ambient mic, no room hardware.
Today it's a dictaphone with a brain, not something you talk to across the
kitchen. Highest-leverage gap — a wake word + speaker device changes what
Maven *is*, not just how good it is. (Listening modes 23 in maven.md.)
2. **No conversation.** The router classifies one utterance → one reply. No
follow-ups, no anaphora ("а когда?"), no dialogue state beyond the 90s
destructive-confirm park. The sub-1B phraser only words replies; nothing
converses.
3. **Latency/shape of a turn.** Clip-based STT (record → upload → whisper →
route → phrase → piper → play). No streaming either direction, no barge-in;
every exchange is a full round trip.
Capability-class gaps — built but thin:
4. **Act surface is a handful of argv allowlist entries.** propose→enable
works; until populated, "acts on your homelab" is mostly potential.
5. **Query answers cover notes + a few built-ins.** No weather, no calendar
*querying* (calendar only gates nudges), no general knowledge; the
cheatsheet promises more than the router delivers.
6. **Routing quality depends on the ONNX embedder being configured** — the
HashEmbedder floor makes RU recall lexical/weak; many commands fall to
"clarify".
7. **Presence is effectively one signal** (page_heartbeat); desk_active is
still an undeployed script — "voice when near" routing runs on a guess.
8. **Long-term memory per spec (obsidian → chroma) doesn't exist** — sqlite
brute-force cosine over notes is recall, not personalization. Persona
prompt and custom TTS voice (kami-picked, replaces the irina floor) are
still future items.
Ops footnote: in the Docker deploy, voice-over-web needs mavend to bind its
voice server on 0.0.0.0:9100 — unverified on the target host; until then the
containers may only do the non-voice surfaces.
### Future / logged, not now
Personality prompt; custom TTS voice training (kami-picked voice, replaces irina
+1
View File
@@ -53,6 +53,7 @@ button:hover{border-color:var(--accent)}
button:disabled{opacity:.4;cursor:not-allowed}
input[type=text]{font:inherit;font-size:.85rem;background:var(--bg);color:var(--fg);
border:1px solid var(--border);border-radius:3px;padding:.25rem .4rem;max-width:100%}
input[type=checkbox]{accent-color:var(--accent)}
label{color:var(--soft)}
/* inline feedback (/history revert, /tools enable, /auth/passkey) */