Repository navigation
Description
Destination
The architecture of a voice-driven Orca orchestrator is locked: where the orchestrator brain lives, when it may speak unprompted, and what authority it holds over Orca sessions. Planning only — no implementation under this map.
Notes
Domain: the resident Pipecat voice agent at ~/Github/pipecat-voice-agent (local git, no remote) meeting Orca's orchestration surface. The voice side is a daemon on :8792 holding one long-lived ClaudeSDKClient plus a VoiceSession that owns the microphone and releases it on stop. The Orca side is orca worktree ps, terminal send/read/wait, and orchestration send/ask/check/inbox/dispatch/worker-*/gate-*.
Standing constraint: the orchestrator must carry first-class Orca identity you can open and inspect — a Run, a card, or a terminal. Which process does the thinking stays open.
Skills every session should consult: /grilling, /domain-expertise, /orca-cli, /orchestration, /ai-axioms.
Plan-only. Tickets resolve decisions; once the three destination decisions are locked this map is done, and implementation is a fresh effort.
Decisions so far
- Out-of-band speech: how can the resident daemon speak with no user turn? — reachable today; toggle-off and the brain's amnesia are the constraints
- Relay round-trip: what does driving a live Orca session over terminal send/read actually cost? — transport is cheap; the TUI loses the answer
Not yet specified
- Whether unprompted speech is heard back by the open microphone and transcribed as the user's own words: the pipeline has no echo cancellation, and the startup greeting is the only existing precedent.
- Whether Orca notifies an agent of new mailbox mail, waking an idle session and spending a turn on it. Observed once, mechanism not traced.
- Time to first token through the relay, which is the number a narrating front end would need in order to start talking before the answer is complete.
- Addressing sessions by voice: worktree slugs are not what a person says out loud, and two live sessions can sound alike.
- Model tier against turn latency: orchestration judgment may need more than Haiku, but the trade isn't sharp until the brain lands.
- Whether the orchestrator carries state across toggles, or starts each conversation cold.
- Sessions on remote or SSH Orca runtimes: whether they are in view at all.
- Any wake or attention model beyond the existing headset chord.
Out of scope
- The voice-to-brain wire — CLI shell-out, orchestration mailbox, or daemon HTTP. It falls out of brain location, so it is an implementation call rather than a decision on the route.
- Implementation, tests, and packaging: a fresh effort once the architecture locks.
- STT and TTS tuning, bilingual voice routing, and latency work inside the existing pipeline.
- Giving Orca terminals a structured readiness or blocked signal, so a relay does not have to match strings in the preview text. That is a change to Orca itself rather than a decision on this route.
- Adding an
orcaentry to the permissions allowlist so orchestration calls from an agent session stop hitting approval prompts. Setup work, not a decision.
Activity
fix(crash-reporting): sample system memory before the process is gone (…
fix(agent-status): stop an auto-reviewed Codex approval reading as "N…
refactor(agent-status): drop two superseded Codex attention workaroun…
perf(mobile): keep four bundle chunk reads in flight across the whole…
feat(mobile-web-bundle): gzipped 384 KiB ranges over a capability-neg…