v1.0.6 — HAL 9000, JARVIS, Scotty + security hardening + mute-everywhere
What's new
Added
- 3 new voice families — HAL 9000, JARVIS, and Scotty (Montgomery Scott). Gallery grows to 97 families / 193 profiles. Reference audio QA'd via faster-whisper transcription; corrected a Whisper mishearing in
jarvis.json("stock industry's" → "Stark Industries"). - Hermes native hook is now repo-tracked (
hermes/hooks/afterwords-tts/handler.py, previously untracked) — fires onagent:end, runs an async chunked synth/playback pipeline viaaiohttp, archives MP3 + text to~/.hermes/tts-archive/, and handles single-owner Discord/Telegram delivery. Localafplayplayback is guarded on the mute flag. --bind-publicserver flag — non-loopback binds now require an explicit opt-in;--allow-clonealways forces127.0.0.1regardless. SeeSECURITY.md.
Changed
afterwords mutenow silences every automatic agent-response playback path. The flag (/tmp/afterwords-muted) is honored by all six integrations' shell workers (Claude Code, Codex, AGy, Gemini, Cursor, Hermes) and the Hermeshandler.py, while synthesis, archiving, and Discord/Telegram delivery continue unaffected. Foreground, user-initiated playback stays exempt —afterwords voices --demo, the post-clone preview, and the "say X in Y's voice" skill still play.
Security
- Hardened the
/cloneupload path — a 25 MB request-body cap is enforced before parsing, plus a Host-header allowlist on non-loopback binds. - Queue-directory hardening — shared
/tmpqueue dirs are createdchmod 700with an ownership check, and a symlink TOCTOU window was closed. - Moved the Facebook reindex secret out of the request URL into the POST body; closed
.gitignoregaps; addedSECURITY.mdand a Dependabot config.
Fixed
- Mute-guard test suite hardened —
tests/test_mute_guard.pydiscovers everyafplaysite and fails on any new unguarded one. Closed three fail-open detection gaps: a substring-only guard match, a commented-out guard satisfying the window check, and unhandled command-prefix forms (env FOO=1 afplay,nice -n 10 afplay, …).
Dependencies
- Bumped torch 2.8→2.12, transformers 5.0.0rc3→5.12.0, tensorboard ≥2.20, sentencepiece ≥0.2.1, plus modelscope, httpx,
actions/checkoutv4→v6, andactions/setup-pythonv5→v6.
Full changelog: https://github.com/adrianwedd/afterwords/blob/main/CHANGELOG.md