voice-post-call — Post-session transcript + summary handling
Convention: see gbrain's
skills/conventions/quality.mdfor citation rules + back-link enforcement, andskills/_brain-filing-rules.mdfor the filing decision protocol. (These are not copied by the install; the relative paths resolve only if your host repo mirrors gbrain's skills layout.)
Iron Law
Every call gets processed, even on tool-call failure. The voice persona MAY log mid-session via an opted-in write tool, OR the call may end without that tool firing (model forgot, WebRTC dropped, browser crashed). A call-end handler should post a structured signal regardless so the brain still gets the transcript + audio reference — see "Two firing paths" below for which of these ships today and which the operator implements.
If both paths fire (the tool call AND the call-end handler), the second one is idempotent — it sees the brain page already exists and updates instead of duplicating.
The pipeline
1. CAPTURE → MediaRecorder on the host repo's voice-agent service captures
the full call audio (webm/opus) to /tmp/calls/<ts>-<persona>.webm.
The browser client at /call?te…