Skip to content

Keep unfinished speech turns fail closed - #221

Draft
RobVanProd wants to merge 1 commit into
codex/aliveness-repository-truthfrom
codex/speech-terminal-reliability
Draft

Keep unfinished speech turns fail closed#221
RobVanProd wants to merge 1 commit into
codex/aliveness-repository-truthfrom
codex/speech-terminal-reliability

Conversation

@RobVanProd

Copy link
Copy Markdown
Owner

Outcome

Keeps interrupted, stalled, expired, and incomplete microphone turns fail closed. Only a valid VAD trailing-silence terminal can reach Whisper; cancellation clears host PCM and runs zero STT/model/TTS.

Firmware

  • Measures endpoint timing from captured PCM, not missing wall time.
  • Uses nonblocking socket writes with retained terminal retry/cancel semantics.
  • Cancels on mic stalls, chunk discontinuity, backpressure, expiry, or terminal failure.
  • Adds phase, terminal, and write-deferral telemetry.

Host

  • Adds a 14.5 s absolute capture lease and 4 s inactivity lease.
  • Handles utterance_cancel idempotently and rejects stale/mismatched ends.
  • Clears partial PCM on cancellation, expiry, supersession, and disconnect.

Verification

  • pio test -e native_logic: 313/313 pass
  • python -m unittest discover -s bridge -p test_*.py: 584/584 pass
  • python -m py_compile bridge/lan_service.py: pass
  • pio run -e stackchan_release_full: pass
  • private stackchan_release_forensics build: pass, SHA-256 f1a6319fb1d6703c48f2d248c962ce4a267a7eed1db83b894e587b0933f370c2

Physical deployment and completed/incomplete utterance evidence remain pending and will be added without treating simulated evidence as physical.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant