Fix shared input session lifecycle and expand industry lexicons - #113
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
Unify input-session ownership across local hotkeys, remote microphones, imported audio and integration clients. Previously, competing entries could prepare shared resources independently; a canceled or older task could continue capture or publish a result into a newer session. The shared reservation now covers preparation through commit and draining cancellation, uses a consistent engine/settings snapshot, and scopes callbacks, cleanup, history and insertion to their owning session. Production ASR loading shares one provider. Existing local-first and optional cloud capabilities remain available.
Expand the four existing industry dictionaries from 30 to 2,030 entries each (8,120 total) using pinned, checksum-verified, MIT-licensed THUOCL common terms. Preserve curated modern terminology, aliases, corrections and personal-dictionary priority. Imported words are hints without new automatic replacements or mandatory verbatim-output constraints. Industry recognition context stays within 100 phrases; transcript-relevant LLM hints come from the full pack but are capped at 80 entries / 2,000 characters. Include the upstream license in application resources and a reproducible importer.
Validation
bash scripts/sdlc-checks.shbash scripts/ci-basic-checks.shswift test(final totals recorded in the verification bundle)xcodebuild; verify bundled lexicon, MIT license and Metal library.Review boundaries
No physical microphone/phone end-to-end test, measured ASR accuracy improvement, professional-domain review, signed installation or production acceptance is claimed. THUOCL is historical vocabulary; the curated modern entries remain. The user confirmed continuous design/implementation/verification for the session fix and subsequently requested expansion of these four dictionaries. Artifact headers do not represent approval of unseen designs or verification results. The two changes are separate commits and can be reverted independently; there is no user-data migration.
Evidence:
docs/sdlc/changes/2026-09-23-input-session-ownership/anddocs/sdlc/changes/2026-09-24-industry-lexicon-expansion/.