hotato 0.5.0
hotato 0.5.0 - 2026-07-09
This release turns Hotato from a set of scoring commands into a passive regression
loop: connect a stack once, sweep recent real calls for candidate turn-taking
moments, promote the confirmed ones into fixtures, and prove a fix without an
unsafe threshold bandaid.
Added
hotato sweep --demoruns the full sweep over two bundled real calls with no
stack, no credentials, and no network, so the first sweep works before anything
is connected.hotato fixture promote FILE#N --expect yield|holdturns one sweep or analyze
candidate into a permanent regression fixture. The analyze and sweep HTML
reports now carry per-candidate copy-command promote and hold actions.hotato init webhook --stack vapi|retell|twilioscaffolds a self-hostable
ingestion worker that verifies the webhook, fetches the recording read-only,
runshotato ingest, and optionally posts a Slack or GitHub notification. By
construction it never mutates platform config and never labels intent.hotato issue createandhotato pr createrender a GitHub issue or a
fixtures PR from a sweep run. Both default to a dry run that prints the body and
the exact commands they would run, and touch a repo only with--repoand
--yes.pr createalways uses a feature branch and never force-pushes.hotato verify --out verify.htmlwrites a self-contained before and after proof
page, and--policy hotato.verify.yamlenforces guardrails as hard fail
conditions. A run cannot pass by improving one axis while regressing the other,
and a battery missing a hold or yield fixture fails the opposite-risk check.hotato apply PATCH_JSON --cloneapplies a patch only to a fresh staging
assistant, never the production source. It refuses a threshold funnel outright
and recommends engagement-control instead. There is no production-apply path.hotato trust --stereo call.wavreports whether a recording is even scorable
before you score it (channel swap, mono, sample rate, clipping, silence,
crosstalk, scorability), so a bad export is caught up front.
Fixed
hotato.__version__and thedescribeand--versionbanners are now covered
by a lockstep test, so a stale version string cannot ship again.llms-full.txtis built from the top-level docs only and is byte-reproducible
across a git checkout and an extracted sdist.
See the full entry list in CHANGELOG.md.