tacet v0.1.1
Fixed
Transcription quality regression — vocabulary biasing was silently off.
When the shell installer replaced the launchd plist templates, three
whisper-server flags stopped being passed: --prompt, --no-timestamps, and
--suppress-nst. whisper.prompt was still read from config.toml and still
documented, but nothing consumed it, so every technical term decoded unbiased
while the service started, answered, and logged nothing unusual. If your jargon
has been coming back mangled since the Swift server landed, this is why.
Losing --suppress-nst also meant Whisper's non-speech tokens ([BLANK_AUDIO]
and friends) could be pasted at your cursor verbatim — sanitization only
collapses whitespace and control characters.
Installers no longer sign ad-hoc by accident. With TACET_SIGN_IDENTITY
unset, build-app.sh used to fall back to an ad-hoc signature and report
success. That bundle installs fine and fails later, somewhere else: TCC grants
key on the designated requirement, and an ad-hoc DR is a bare cdhash, so
Accessibility and Microphone consent dies on the next rebuild — while
notarization rejects the same bundle only after upload.
build-app.sh now resolves a Developer ID from the keychain when the variable
is unset, and exits rather than downgrading. Ad-hoc is available deliberately
with TACET_ALLOW_ADHOC=1. Both --doctor implementations now report the
signature type; they had been passing ad-hoc bundles, because
codesign --verify --strict is satisfied by one.
Known issues
--promptbiases tokens, not phrases, so compounds whose parts are ordinary
words still split —ReplacingMergeTreetranscribes as "replacing MergeTree"
even with the term in your prompt (#23).- A fresh install ships no vocabulary at all;
whisper.promptis empty by
default and is the single cheapest accuracy win available (#24).
Upgrading
Re-run ./install-server.sh to pick up the corrected plist. If you only want
the flags without reinstalling the app bundle, re-render the plists and reload
the whisper agent alone.
Your ~/.config/tacet/config.toml is untouched by the upgrade — and is not
backed up by anything. Worth a copy somewhere.