perf: faster Settings, typing and dictation; mypy in CI, engine interface, architecture docs (#968)
* fix(perf): reduce startup and inference overhead * fix(perf): report effective whisper.cpp fallback settings * fix(injection): add opt-in X11 paste for long dictations * perf(vad): lower default silence timeout to 1.2s * fix(types): resolve mypy errors across application source * ci: run mypy in the lint job * ci: include mypy in lint dependency group * fix(types): narrow evdev timestamp comparison * refactor(recognition): add SpeechEngine protocol and engine dispatch table * refactor(settings): move About section and engine tables out of settings_dialog * docs: add ARCHITECTURE.md and refresh docs index and AGENTS layout * fix(settings): preserve GTK dialog compatibility after extraction * style: format touched Python modules * fix(types): keep local typecheck from syncing dependencies * test(vad): align main startup expectation with new default * style: sort engine registry and protocol test imports * test(settings): follow extracted About builder attribute alias * test(settings): isolate GTK dialog base in About test * test(settings): isolate About color scheme build test * test(settings): restore GTK base after About scheme test * test(settings): isolate About scheme check from GTK mocks * test(settings): support extracted dialog mixin methods * docs: add before/after performance benchmark charts * fix(injection): type instead of pasting when the clipboard holds non-text data
This commit is contained in:
@@ -124,6 +124,10 @@ jobs:
|
||||
run: |
|
||||
uv run --locked --only-group lint isort --check-only --diff --profile black src/ tests/
|
||||
|
||||
- name: Type check (mypy)
|
||||
run: |
|
||||
uv run --locked --only-group lint mypy src/
|
||||
|
||||
# --locked above fails when uv.lock drifts from pyproject.toml; nothing
|
||||
# covered the step after that one. The exports are hash-pinned copies of
|
||||
# the lock written by `just lock`, and no workflow ever re-ran it, so one
|
||||
|
||||
Reference in New Issue
Block a user