Files
FamReynaBrain/projects/factory/kids-hermes-voice-system-design.mmd
T
2026-09-14 22:38:47 -04:00

35 lines
1.9 KiB
Plaintext

flowchart LR
classDef confirmed fill:#123d2d,stroke:#34d399,color:#e2e8f0,stroke-width:2px;
classDef inferred fill:#46351a,stroke:#fbbf24,color:#fef3c7,stroke-width:2px,stroke-dasharray: 6 4;
classDef unknown fill:#1e293b,stroke:#94a3b8,color:#e2e8f0,stroke-width:2px,stroke-dasharray: 2 4;
classDef blocked fill:#3f1d2b,stroke:#fb7185,color:#ffe4e6,stroke-width:2px;
subgraph Device[Candidate Tactility board]
PV[PipecatVoice external ELF<br/>16 kHz PCM + protocol-v1]:::confirmed
RB[ReynaBot external ELF<br/>separate legacy endpoint]:::inferred
CFG[Persisted config.json<br/>may override PipecatVoice default]:::unknown
end
subgraph Mac[Mac mini — current voice hosts]
AD[LAN voice adapter<br/>protocol-v1 WebSocket · port 8644]:::confirmed
HG[Default Hermes gateway<br/>listening · port 8642]:::confirmed
PC[Pipecat SmallWebRTC bot<br/>listening · port 7860]:::confirmed
TS[Pipecat turn/STT/TTS experiments<br/>repo: pipecat-voice-gateway]:::inferred
end
subgraph Pi[AeroPi5 — Kids Hermes runtime]
KG[hermes-gateway-kids.service<br/>kids profile · active]:::confirmed
KP[Voice route / listener / profile binding<br/>not observed in discovery]:::unknown
end
PV -->|CONFIRMED: current source default<br/>protocol-v1 WS| AD
CFG -.->|UNKNOWN: runtime override<br/>must reconcile| PV
RB -.->|INFERRED: direct legacy WS<br/>endpoint differs from PipecatVoice| HG
AD -.->|INFERRED: may call voice processing<br/>contract not yet traced live| TS
TS -.->|INFERRED: Hermes API use in source| HG
PC -.->|NOT PRODUCT PATH: WebRTC route<br/>external ELF is a documented NO-GO| PV
KG -.->|UNKNOWN: no confirmed voice transport<br/>binding to current client/adapter| AD
KG -.->|UNKNOWN: policy/runtime relationship| HG
NOTE[Status key:<br/>solid green = confirmed now<br/>dashed amber = inferred from source/history<br/>dotted gray = unknown; needs evidence<br/>rose = blocked/no-go]:::unknown