Repository navigation
v2.2.0 — first public npm release (soundcheck-cli)
soundcheck-cli 2.2.0 — first public npm release
npm install -g soundcheck-cli # the command is `soundcheck`First release on the npm registry. Soundcheck is the open-source, repo-local CI harness for speech-to-speech voice agents: a synthetic caller is driven over real Deepgram audio, and an oracle (STT over the recording) plus deterministic gates decide pass/fail — Playwright-style regression tests over what your agent actually says.
Added
spoken_consistent_with_toolgate — catches an agent verbally caving to a caller's wrong date (it says the right thing, then confirms a date it never booked) or an internally incoherent "weekday, month day" (e.g. "Thursday, June 2nd" when June 2 is a Tuesday). Wired into every date-bearing example.- Sample gallery: real, unplanted catches — a well-built healthcare agent talked off its grounded date, and a support agent socially-engineered into the forbidden, irreversible
deleteAccount. Surfaced by re-running scenarios under an adversarial caller; each report carries a "not planted" banner. - Alphanumeric read-back verification in
spoken_matches_tool— for an identifier an agent must read back (flight number, confirmation code), it checks the digit runs were spoken intelligibly, tolerating STT mishearing the letters. - User-global Deepgram key fallback —
getKey()now also checks~/.config/soundcheck/.env, so a globally-installedsoundcheckworks from any directory without a local.env. - Codex reference fixer for
tune—examples/tune-demo/codex-fixer.shdrives the Codex CLI (read-only) as a--fixer; a real run went 0/1 → 1/1 on both the trained and an unseen held-out date. - Coding-agent skill +
soundcheck install-skill— a progressive-disclosure skill that teaches a coding agent to drive Soundcheck, with a smart multi-agent install default (Claude Code always; Codex/Gemini if present). - Complete docs —
GUIDE,COMMANDS,GATES,TUTORIAL, plus a structured README Getting Started.
Fixed
bin/soundcheck.mjschoosesdistvssrcby location, not file presence — a dev checkout always runs livesrc, so a leftoverdist/can't silently shadow your source; an installed copy still loads builtdist.
Full notes: CHANGELOG.
🤖 Generated with Claude Code