docs: auto-speak narrates every turn #38
@@ -83,16 +83,22 @@ saved sink. Thinking narration rides the same arming (`thinking: true`).
|
||||
|
||||
## Limits
|
||||
|
||||
* Auto-speak narrates thinking and the final message only — mid-turn tool
|
||||
chatter is never spoken; skipped in `print`/`json` modes so benches stay
|
||||
silent.
|
||||
* Auto-speak narrates **each turn** — the assistant's prose and thinking while
|
||||
the agent is still working — plus the settled final answer, spoken once. A
|
||||
turn that lands while audio is still playing is dropped, not queued or
|
||||
interrupting; tool-only turns stay silent; `print`/`json` modes never speak,
|
||||
so benches stay quiet. Narration goes through the humanizer, so it lags its
|
||||
turn by a rewrite round trip; `/say humanize off` removes the lag.
|
||||
* Arming is read at startup only — see **Arming auto-speak** above. A session
|
||||
that never speaks is unarmed, not broken; `/say on` before debugging.
|
||||
* frank-tts deployment, voice packs and the registry are owned by the
|
||||
`serverAppConfigs` repo (`serverAppConfigs-docs/Dankclaw/Frank TTS.md`).
|
||||
|
||||
## Citations
|
||||
|
||||
* Package repo `dank/dankvoice` (README, `docs/decisions/`) — behaviour and
|
||||
knob truth.
|
||||
knob truth. `docs/decisions/2026-10-19-turn-narration.md` records why
|
||||
narration rides `turn_end` and not only `agent_end`.
|
||||
* Gitea issues #21, #23, #27, #32 (drop-in history) and #34 (this cutover)
|
||||
on `dank/command-center`.
|
||||
* Live endpoint probes 2026-10-18/19 documented in those issues.
|
||||
|
||||
+10
-4
@@ -20,10 +20,16 @@ on its concept page, linked here. Never re-expand an entry in place.
|
||||
|
||||
Sessions spoke only on explicit `/say`: the settings file carried no `auto`
|
||||
key, and arming is session-scoped by design (`/say on` never persists). Set
|
||||
`"auto": true` in `~/.omp/cache/dankvoice.json`. Law: silence at session start
|
||||
is a config state — read `/say status` for `auto-speak on`, then watch
|
||||
`pgrep -a pw-play` for one player per segment, before blaming the endpoint.
|
||||
Details: [dankvoice](core/dankvoice.md).
|
||||
`"auto": true` in `~/.omp/cache/dankvoice.json`. Same report, second half:
|
||||
auto-speak listened only to `agent_end` — a settle that fires once per prompt
|
||||
and is skipped outright when the harness schedules a continuation — so nothing
|
||||
was narrated while an agent worked; fixed in dank/dankvoice#3, which narrates
|
||||
`turn_end` as well. Law: silence at session start is a config state — read
|
||||
`/say status` for `auto-speak on`, then watch `pgrep -a pw-play` for one player
|
||||
per segment, before blaming the endpoint. Law: whether the harness delivers an
|
||||
event to extensions is settled in minutes by a throwaway probe extension that
|
||||
timestamps `turn_end`/`agent_end` — never inferred from audio timing, which the
|
||||
humanizer lags by seconds. Details: [dankvoice](core/dankvoice.md).
|
||||
|
||||
## 2026-10-19 — LazyVim installed as an NVIM_APPNAME profile
|
||||
|
||||
|
||||
Reference in New Issue
Block a user