Commit graph

97 commits

Author SHA1 Message Date
4d0081d1d0 Split aman.py into focused CLI and runtime modules
Break the old god module into flat siblings for CLI parsing, run lifecycle, daemon state, shared processing helpers, benchmark tooling, and maintainer-only model sync so changes stop sharing one giant import graph.

Keep aman as a thin shim over aman_cli, move sync-default-model behind the hidden aman-maint entrypoint plus Make wrappers, and update packaging metadata plus maintainer docs to reflect the new surface.

Retarget the tests to the new seams with dedicated runtime, run, benchmark, maintainer, and entrypoint suites, and verify with python3 -m unittest discover -s tests -p "test_*.py", python3 -m py_compile src/*.py tests/*.py, PYTHONPATH=src python3 -m aman --help, PYTHONPATH=src python3 -m aman version, and PYTHONPATH=src python3 -m aman_maint --help.
2026-03-14 14:54:57 -03:00
721248ca26
Decouple non-UI CLI startup from config_ui
Stop aman.py from importing the GTK settings module at module load so version, init, bench, diagnostics, and top-level help can start without pulling in the UI stack.\n\nPromote PyGObject and python-xlib into main project dependencies, switch the documented source install surface to plain uv/pip commands, and teach the portable, deb, and Arch packaging flows to install filtered runtime requirements before the Aman wheel so they still rely on distro-provided GTK/X11 packages.\n\nAdd regression coverage for importing aman with config_ui blocked and for the portable bundle's new requirements payload, then rerun the focused CLI/diagnostics/portable tests plus py_compile.
2026-03-14 13:38:15 -03:00
b4a3d446fa
Close milestones 2 and 3 on Arch evidence
Some checks failed
ci / test-and-build (push) Has been cancelled
Record the user-reported Arch X11 validation pass and thread it through the portable and runtime validation matrices.

Adjust the milestone 2 and 3 closeout wording so one fully validated representative distro family is enough for now, while keeping Debian/Ubuntu, Fedora, and openSUSE coverage as an explicit milestone 5 GA signoff requirement.

Update the roadmap and GA validation rollup to mark milestones 2 and 3 complete for now rather than fully GA-complete, and archive the raw Arch evidence in user-readiness/1773357669.md.

Validation: documentation consistency review only; no code or behavior changes were made.
2026-03-12 20:29:42 -03:00
31a1e069b3
Prepare the 1.0.0 GA release surface
Add the repo-side pieces for milestone 5: MIT licensing, real maintainer and forge metadata, a public support doc, 1.0.0 release notes, release-prep tooling, and CI uploads for the full candidate artifact set.

Keep source-tree version surfaces honest by reading the local project version in the CLI and About dialog, and cover the new release-prep plus version-fallback behavior with focused tests.

Document where raw validation evidence belongs, add the GA validation rollup, and archive the latest readiness review. Milestone 5 remains open until the forge release page is published and the milestone 2 and 3 matrices are filled with linked manual evidence.

Validation: PYTHONPATH=src python3 -m unittest discover -s tests -p 'test_*.py'; PYTHONPATH=src python3 -m unittest tests.test_release_prep tests.test_portable_bundle tests.test_aman_cli tests.test_config_ui; python3 -m py_compile src/*.py tests/*.py; PYTHONPATH=src python3 -m aman version
2026-03-12 19:36:52 -03:00
acfc376845
Close milestone 4 with review evidence
Record the independent reviewer pass that closes the first-run UX/docs milestone and archive the raw readiness report under user-readiness.

Clarify the README quickstart by naming the default Cmd+m/Super+m hotkey, and align the roadmap plus release checklist with the independent-review closeout wording while keeping milestones 2 and 3 open pending manual validation.

Validation: PYTHONPATH=src python3 -m aman --help; PYTHONPATH=src python3 -m unittest tests.test_aman_cli tests.test_config_ui; user-confirmed milestone 4 validation.
2026-03-12 18:57:57 -03:00
359b5fbaf4 Land milestone 4 first-run docs and media
Make the X11 user path visible on first contact instead of burying it under config and maintainer detail.

Rewrite the README around the supported quickstart, expected tray and dictation result, install validation, troubleshooting, and linked follow-on docs. Split deep config and developer material into separate docs, add checked-in screenshots plus a short WebM walkthrough, and add a generator so the media assets stay reproducible.

Also fix the CLI discovery gap by letting `aman --help` show the top-level command surface while keeping implicit foreground `run` behavior, and align the settings, help, and about copy with the supported service-plus-diagnostics model.

Validation: `PYTHONPATH=src python3 -m unittest tests.test_aman_cli tests.test_config_ui`; `PYTHONPATH=src python3 -m unittest discover -s tests -p 'test_*.py'`; `python3 -m py_compile src/*.py tests/*.py scripts/generate_docs_media.py`; `PYTHONPATH=src python3 -m aman --help`.

Milestone 4 stays open in the roadmap because `docs/x11-ga/first-run-review-notes.md` still needs a real non-implementer walkthrough.
2026-03-12 18:30:34 -03:00
ed1b59240b
Harden runtime diagnostics for milestone 3
Make the milestone 3 runtime story predictable instead of treating doctor, self-check, and startup failures as loosely related surfaces.

Split doctor and self-check into distinct read-only flows, add tri-state diagnostic status with stable IDs and next steps, and reuse that wording in CLI output, service logs, and tray-triggered diagnostics. Add non-mutating config/model probes, a make runtime-check gate, and public recovery/validation docs for the X11 GA roadmap.

Validation: make runtime-check; PYTHONPATH=src python3 -m unittest discover -s tests -p 'test_*.py'; python3 -m py_compile src/*.py tests/*.py; PYTHONPATH=src python3 -m aman doctor --help; PYTHONPATH=src python3 -m aman self-check --help. Leave milestone 3 open in the roadmap until the manual X11 validation rows are filled.
2026-03-12 17:41:23 -03:00
a3368056ff
Ship the portable X11 bundle lifecycle
Some checks are pending
ci / test-and-build (push) Waiting to run
Implement milestone 2 around a portable X11 release bundle instead of\nkeeping distro packages as the only end-user path.\n\nAdd make/package scripts plus a portable installer helper that builds the\ntarball, creates a user-scoped venv install, manages the user service, handles\nupgrade rollback, and supports uninstall with optional purge.\n\nFlip the end-user docs to the portable bundle, add a dedicated install guide\nand validation matrix, and leave the roadmap milestone open only for the\nremaining manual distro validation evidence.\n\nValidation: python3 -m py_compile src/*.py packaging/portable/portable_installer.py tests/test_portable_bundle.py; PYTHONPATH=src python3 -m unittest tests.test_portable_bundle; PYTHONPATH=src python3 -m unittest tests.test_aman_cli tests.test_diagnostics tests.test_portable_bundle; PYTHONPATH=src python3 -m unittest discover -s tests -p 'test_*.py'
2026-03-12 15:01:26 -03:00
511fab683a
Archive the initial user readiness review
Keep the first user-readiness assessment in the repo so the GA work has a\nconcrete evaluator baseline to refer back to.\n\nAdd the existing timestamped report and document the directory convention in\nuser-readiness/README.md so future reviews can be added without guessing how\nfiles are named or what they represent.
2026-03-12 15:00:58 -03:00
1dc566e089
Ignore generated egg-info directories
Avoid treating setuptools metadata as working tree noise when packaging and\nrunning release checks.\n\nIgnore *.egg-info/ globally so generated metadata stays out of follow-on\ncommits while leaving the actual milestone work staged separately.
2026-03-12 15:00:37 -03:00
9ccf73cff5 Define the X11 support contract for milestone 1
Clarify the current release channels versus the X11 GA target so the project has an explicit support promise before milestone 2 delivery work begins.

Update the README, persona and distribution docs, and release checklist with a support matrix, the systemd --user daily-use path, the manual aman run support path, and the canonical recovery sequence. Mark milestone 1 complete in the roadmap once that contract is documented.

Align run, doctor, and self-check help text with the same service and diagnostics language without changing command behavior.

Validated with PYTHONPATH=src python3 -m aman --help, PYTHONPATH=src python3 -m aman doctor --help, and PYTHONPATH=src python3 -m aman self-check --help. Excludes generated src/aman.egg-info and prior user-readiness notes.
2026-03-12 14:14:24 -03:00
01a580f359
Add X11 GA roadmap and milestone definitions
Capture the current GA gaps and define a portable X11 support contract so the release bar is explicit for mainstream distros.

Document five ordered milestones covering support policy, portable install/update/uninstall, runtime reliability and diagnostics, first-run UX/docs, and GA validation/release evidence.

Left generated artifacts (src/aman.egg-info) and prior readiness notes uncommitted.
2026-03-12 13:56:41 -03:00
fa91f313c4
Simplify editor cleanup and keep live ASR metadata
Some checks are pending
ci / test-and-build (push) Waiting to run
Keep the daemon path on the full ASR result so word timings and detected language survive into the editor pipeline instead of falling back to a plain transcript string.

Add PipelineEngine.run_asr_result(), have aman call it when live ASR data is available, and cover the word-aware alignment behavior in the daemon tests.

Collapse the llama cleanup flow to a single JSON-shaped completion while leaving the legacy pass1/pass2 parameters in place as compatibility no-ops.

Validated with PYTHONPATH=src python3 -m unittest tests.test_aiprocess tests.test_aman.
2026-03-12 13:24:36 -03:00
8c1f7c1e13 Add benchmark-driven model promotion workflow and pipeline stages
Some checks failed
ci / test-and-build (push) Has been cancelled
2026-02-28 15:12:33 -03:00
98b13d1069 Fix X11 key injection modifier release handling 2026-02-27 15:22:54 -03:00
993f51712b Add package-first build and distribution workflow 2026-02-27 15:06:57 -03:00
4a69c3d333 Add multilingual STT support and config UI/runtime updates 2026-02-27 12:38:13 -03:00
ed950cb7c4 Polish onboarding flow docs and retry acceptance tests 2026-02-26 17:58:16 -03:00
992d22a138 Add onboarding wizard framework and startup hook 2026-02-26 17:57:32 -03:00
ba9cb97720 Document usability workflow and add acceptance tests 2026-02-26 17:44:20 -03:00
706d9e2da7 Add init command and first-run guidance flow 2026-02-26 17:43:38 -03:00
e262b26db7 Add tray controls for pause reload and diagnostics 2026-02-26 17:42:53 -03:00
77ae21d0f6 Add ux profiles and advanced config block 2026-02-26 17:41:06 -03:00
c8739b6804 Improve strict validation errors with actionable fix hints 2026-02-26 17:40:04 -03:00
ad1af63fac Add CLI subcommands and doctor diagnostics 2026-02-26 17:38:06 -03:00
9c7d7b35b1 Add hardening regressions and update operational docs 2026-02-26 16:40:45 -03:00
2b494851a6 Require cancel listener availability before entering recording state 2026-02-26 16:40:14 -03:00
aa77dbc395 Fail fast when configured recording input cannot be resolved 2026-02-26 16:39:36 -03:00
386ba4af92 Verify cached model checksum before use 2026-02-26 16:38:37 -03:00
8b3532f2ca Harden recorder shutdown with guaranteed stream close 2026-02-26 16:37:36 -03:00
48d7460f57 Fix X11 display lifecycle leaks in text injection 2026-02-26 16:36:59 -03:00
5f756ea04e Improve startup diagnostics and systemd robustness 2026-02-26 16:31:34 -03:00
67fc8d1701 Enforce strict config schema and clean examples 2026-02-26 16:31:00 -03:00
0df8c356af Harden model download with timeout and checksum 2026-02-26 16:30:04 -03:00
64c8c26bce Scope Esc cancel listener to active recording 2026-02-26 16:28:49 -03:00
e5d709a393 Revert "Add interactive edit mode with floating popup"
This reverts commit 99f07aef82.
2026-02-26 16:16:41 -03:00
99f07aef82 Add interactive edit mode with floating popup 2026-02-26 15:11:06 -03:00
b42298b9b5 Remove legacy compatibility paths 2026-02-26 13:30:01 -03:00
5b38cc7dcd Revert "Add pipeline engine and remove legacy compatibility paths" 2026-02-26 12:54:47 -03:00
e221d49020 Add pipeline engine and remove legacy compatibility paths 2026-02-25 22:40:03 -03:00
3bc473262d Validate hotkeys and support Super alias 2026-02-25 11:51:39 -03:00
2cbc1a98b9
add warning on unexpected redundant state set 2026-02-25 11:33:07 -03:00
7af8750258 Remove unused vocabulary and domain mode options 2026-02-25 11:26:23 -03:00
a6e75f9c16
update readme 2026-02-25 11:19:29 -03:00
85873d739f Initialize AI processor during daemon startup 2026-02-25 11:15:58 -03:00
09090102a2 Rename project from lel to aman 2026-02-25 11:11:10 -03:00
2c570c7a87 Remove ai.enabled configuration support 2026-02-25 11:01:18 -03:00
ccf968a410 Add clipboard cleanup option for clipboard backend 2026-02-25 10:56:32 -03:00
1423e44008 Remove log_transcript config and enforce JSON AI output 2026-02-25 10:23:56 -03:00
c3503fbbde Add vocabulary correction pipeline and example config 2026-02-25 10:03:32 -03:00