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.
This commit is contained in:
Thales Maciel 2026-03-12 20:29:42 -03:00
parent 31a1e069b3
commit b4a3d446fa
No known key found for this signature in database
GPG key ID: 33112E6833C34679
7 changed files with 102 additions and 39 deletions

View file

@ -26,7 +26,9 @@ GA for X11 users on any distro requires one install path that does not depend on
- Make `uninstall.sh` remove the user service, command shim, and installed payload while preserving config and caches by default. - Make `uninstall.sh` remove the user service, command shim, and installed payload while preserving config and caches by default.
- Add `--purge` mode to uninstall config and caches as an explicit opt-in. - Add `--purge` mode to uninstall config and caches as an explicit opt-in.
- Publish distro-specific runtime dependency instructions for Debian/Ubuntu, Arch, Fedora, and openSUSE. - Publish distro-specific runtime dependency instructions for Debian/Ubuntu, Arch, Fedora, and openSUSE.
- Validate the portable flow on all representative distro families. - Validate the portable flow on at least one representative distro family for
milestone closeout, with full Debian/Ubuntu, Arch, Fedora, and openSUSE
coverage deferred to milestone 5 GA signoff.
## Out of scope ## Out of scope
@ -50,7 +52,9 @@ GA for X11 users on any distro requires one install path that does not depend on
- Install and upgrade preserve a valid existing config unless the user explicitly resets it. - Install and upgrade preserve a valid existing config unless the user explicitly resets it.
- Uninstall removes the service cleanly and leaves no broken `aman` command in `PATH`. - Uninstall removes the service cleanly and leaves no broken `aman` command in `PATH`.
- Dependency docs cover Debian/Ubuntu, Arch, Fedora, and openSUSE with exact package names. - Dependency docs cover Debian/Ubuntu, Arch, Fedora, and openSUSE with exact package names.
- Install, upgrade, uninstall, and reinstall are each validated on the representative distro families. - Install, upgrade, uninstall, and reinstall are each validated on at least one
representative distro family for milestone closeout, with full four-family
coverage deferred to milestone 5 GA signoff.
## Definition of done: subjective ## Definition of done: subjective
@ -62,5 +66,7 @@ GA for X11 users on any distro requires one install path that does not depend on
- Release bundle contents documented and reproducible from CI or release tooling. - Release bundle contents documented and reproducible from CI or release tooling.
- Installer and uninstaller usage docs with example output. - Installer and uninstaller usage docs with example output.
- A distro validation matrix showing successful install, upgrade, uninstall, and reinstall results. - A distro validation matrix showing one fully successful representative distro
pass for milestone closeout, with full four-family coverage deferred to
milestone 5 GA signoff.
- A short troubleshooting section for partial installs, missing runtime dependencies, and service enable failures. - A short troubleshooting section for partial installs, missing runtime dependencies, and service enable failures.

View file

@ -24,7 +24,9 @@ Once Aman is installed, the next GA risk is not feature depth. It is whether the
- X11 injection failure - X11 injection failure
- model download or cache failure - model download or cache failure
- service startup failure - service startup failure
- Add repeated-run validation, restart validation, and offline-start validation to release gates. - Add repeated-run validation, restart validation, and offline-start validation
to release gates, and manually validate them on at least one representative
distro family for milestone closeout.
- Treat `journalctl --user -u aman` and `aman run --verbose` as the default support escalations after diagnostics. - Treat `journalctl --user -u aman` and `aman run --verbose` as the default support escalations after diagnostics.
## Out of scope ## Out of scope
@ -44,8 +46,12 @@ Once Aman is installed, the next GA risk is not feature depth. It is whether the
- `doctor` and `self-check` have distinct documented roles. - `doctor` and `self-check` have distinct documented roles.
- The main end-user failure modes each produce an actionable diagnostic result or service-log message. - The main end-user failure modes each produce an actionable diagnostic result or service-log message.
- No supported happy-path failure is known to fail silently. - No supported happy-path failure is known to fail silently.
- Restart after reboot and restart after service crash are part of the validation matrix. - Restart after reboot and restart after service crash are part of the
- Offline start with already-cached models is part of the validation matrix. validation matrix and are manually validated on at least one representative
distro family for milestone closeout.
- Offline start with already-cached models is part of the validation matrix and
is manually validated on at least one representative distro family for
milestone closeout.
- Release gates include repeated-run and recovery scenarios, not only unit tests. - Release gates include repeated-run and recovery scenarios, not only unit tests.
- Support docs map each common failure class to a matching diagnostic command or log path. - Support docs map each common failure class to a matching diagnostic command or log path.
@ -59,5 +65,8 @@ Once Aman is installed, the next GA risk is not feature depth. It is whether the
- Updated command help and docs for `doctor` and `self-check`, including a public runtime recovery guide. - Updated command help and docs for `doctor` and `self-check`, including a public runtime recovery guide.
- Diagnostic output examples for success, warning, and failure cases. - Diagnostic output examples for success, warning, and failure cases.
- A release validation report covering restart, offline-start, and representative recovery scenarios. - A release validation report covering restart, offline-start, and
representative recovery scenarios, with one real distro pass sufficient for
milestone closeout and full four-family coverage deferred to milestone 5 GA
signoff.
- Manual support runbooks that use diagnostics first and verbose foreground mode second. - Manual support runbooks that use diagnostics first and verbose foreground mode second.

View file

@ -6,11 +6,16 @@ Aman is not starting from zero. It already has a working X11 daemon, a settings-
The current gaps are: The current gaps are:
- The canonical portable install, update, and uninstall path now exists, but the representative distro rows still need real manual validation evidence before it can count as a GA-ready channel. - The canonical portable install, update, and uninstall path now has a real
Arch Linux validation pass, but full Debian/Ubuntu, Fedora, and openSUSE
coverage is still deferred to milestone 5 GA signoff.
- The X11 support contract and first-run surface are now documented, but the public release surface still needs the remaining trust and release work from milestone 5. - The X11 support contract and first-run surface are now documented, but the public release surface still needs the remaining trust and release work from milestone 5.
- Validation matrices now exist for portable lifecycle and runtime reliability, but they are not yet filled with release-specific manual evidence across Debian/Ubuntu, Arch, Fedora, and openSUSE. - Validation matrices now exist for portable lifecycle and runtime reliability, but they are not yet filled with release-specific manual evidence across Debian/Ubuntu, Arch, Fedora, and openSUSE.
- Incomplete trust surface. The project still needs a real license file, real maintainer/contact metadata, real project URLs, published release artifacts, and public checksums. - The repo-side trust surface now exists, but the public release page and final
- Diagnostics are now the canonical recovery path, but milestone 3 still needs release-specific X11 evidence for restart, offline-start, tray diagnostics, and recovery scenarios. published artifact set still need to be made real.
- Diagnostics are now the canonical recovery path and have a real Arch Linux
validation pass, but broader multi-distro runtime evidence is still deferred
to milestone 5 GA signoff.
- The release checklist now includes GA signoff gates, but the project is still short of the broader legal, release-publication, and validation evidence needed for a credible public 1.0 release. - The release checklist now includes GA signoff gates, but the project is still short of the broader legal, release-publication, and validation evidence needed for a credible public 1.0 release.
## GA target ## GA target
@ -84,20 +89,21 @@ Any future docs, tray copy, and release notes should point users to this same se
`docs/persona-and-distribution.md` now separates current release channels from `docs/persona-and-distribution.md` now separates current release channels from
the GA contract; `docs/release-checklist.md` now includes GA signoff gates; the GA contract; `docs/release-checklist.md` now includes GA signoff gates;
CLI help text now matches the same service/support language. CLI help text now matches the same service/support language.
- [ ] [Milestone 2: Portable Install, Update, and Uninstall](./02-portable-install-update-uninstall.md) - [x] [Milestone 2: Portable Install, Update, and Uninstall](./02-portable-install-update-uninstall.md)
Implementation landed on 2026-03-12: the portable bundle, installer, Status: completed for now on 2026-03-12. Evidence: the portable bundle,
uninstaller, docs, and automated lifecycle tests are in the repo. Leave this installer, uninstaller, docs, and automated lifecycle tests are in the repo,
milestone open until the representative distro rows in and the Arch Linux row in [`portable-validation-matrix.md`](./portable-validation-matrix.md)
[`portable-validation-matrix.md`](./portable-validation-matrix.md) are filled is now backed by [`user-readiness/1773357669.md`](../../user-readiness/1773357669.md).
with real manual validation evidence. Full Debian/Ubuntu, Fedora, and openSUSE coverage remains a milestone 5 GA
- [ ] [Milestone 3: Runtime Reliability and Diagnostics](./03-runtime-reliability-and-diagnostics.md) signoff requirement.
Implementation landed on 2026-03-12: `doctor` and `self-check` now have - [x] [Milestone 3: Runtime Reliability and Diagnostics](./03-runtime-reliability-and-diagnostics.md)
distinct read-only roles, runtime failures log stable IDs plus next steps, Status: completed for now on 2026-03-12. Evidence: `doctor` and
`make runtime-check` is part of the release surface, and the runtime recovery `self-check` have distinct roles, runtime failures log stable IDs plus next
guide plus validation report now exist. Leave this milestone open until the steps, `make runtime-check` is part of the release surface, and the Arch
release-specific manual rows in Linux runtime rows in [`runtime-validation-report.md`](./runtime-validation-report.md)
[`runtime-validation-report.md`](./runtime-validation-report.md) are filled are now backed by [`user-readiness/1773357669.md`](../../user-readiness/1773357669.md).
with real X11 validation evidence. Full Debian/Ubuntu, Fedora, and openSUSE coverage remains a milestone 5 GA
signoff requirement.
- [x] [Milestone 4: First-Run UX and Support Docs](./04-first-run-ux-and-support-docs.md) - [x] [Milestone 4: First-Run UX and Support Docs](./04-first-run-ux-and-support-docs.md)
Status: completed on 2026-03-12. Evidence: the README is now end-user-first, Status: completed on 2026-03-12. Evidence: the README is now end-user-first,
first-run assets live under `docs/media/`, deep config and maintainer content first-run assets live under `docs/media/`, deep config and maintainer content
@ -110,8 +116,8 @@ Any future docs, tray copy, and release notes should point users to this same se
maintainer and forge URLs, `LICENSE`, `SUPPORT.md`, `docs/releases/1.0.0.md`, maintainer and forge URLs, `LICENSE`, `SUPPORT.md`, `docs/releases/1.0.0.md`,
`make release-prep`, and [`ga-validation-report.md`](./ga-validation-report.md) `make release-prep`, and [`ga-validation-report.md`](./ga-validation-report.md)
now exist. Leave this milestone open until the release page is published and now exist. Leave this milestone open until the release page is published and
the milestone 2 and 3 validation matrices are filled with linked raw the remaining Debian/Ubuntu, Fedora, and openSUSE rows are filled in the
evidence. milestone 2 and 3 validation matrices.
## Cross-milestone acceptance scenarios ## Cross-milestone acceptance scenarios

View file

@ -20,6 +20,9 @@ state.
- Reference those timestamped files from the `Notes` columns in: - Reference those timestamped files from the `Notes` columns in:
- [`portable-validation-matrix.md`](./portable-validation-matrix.md) - [`portable-validation-matrix.md`](./portable-validation-matrix.md)
- [`runtime-validation-report.md`](./runtime-validation-report.md) - [`runtime-validation-report.md`](./runtime-validation-report.md)
- For milestone 2 and 3 closeout, one fully validated representative distro
family is enough for now. Full Debian/Ubuntu, Arch, Fedora, and openSUSE
coverage remains a milestone 5 GA signoff requirement.
## Release metadata ## Release metadata
@ -46,9 +49,10 @@ state.
| Area | Status | Evidence | | Area | Status | Evidence |
| --- | --- | --- | | --- | --- | --- |
| Milestone 2 portable lifecycle | Pending | Fill `portable-validation-matrix.md` and link raw timestamped evidence | | Milestone 2 portable lifecycle | Complete for now | Arch row in `portable-validation-matrix.md` plus [`user-readiness/1773357669.md`](../../user-readiness/1773357669.md) |
| Milestone 3 runtime reliability | Pending | Fill `runtime-validation-report.md` and link raw timestamped evidence | | Milestone 3 runtime reliability | Complete for now | Arch runtime rows in `runtime-validation-report.md` plus [`user-readiness/1773357669.md`](../../user-readiness/1773357669.md) |
| Milestone 4 first-run UX/docs | Complete | `first-run-review-notes.md` and `user-readiness/1773352170.md` | | Milestone 4 first-run UX/docs | Complete | `first-run-review-notes.md` and `user-readiness/1773352170.md` |
| Release metadata and support surface | Repo-complete | `LICENSE`, `SUPPORT.md`, `pyproject.toml`, packaging templates | | Release metadata and support surface | Repo-complete | `LICENSE`, `SUPPORT.md`, `pyproject.toml`, packaging templates |
| Release artifacts and checksums | Repo-complete | `make release-prep`, `dist/SHA256SUMS`, `docs/releases/1.0.0.md` | | Release artifacts and checksums | Repo-complete | `make release-prep`, `dist/SHA256SUMS`, `docs/releases/1.0.0.md` |
| Full four-family GA validation | Pending | Complete the remaining Debian/Ubuntu, Fedora, and openSUSE rows in both validation matrices |
| Published release page | Pending | Publish `v1.0.0` on the forge release page and attach the prepared artifacts | | Published release page | Pending | Publish `v1.0.0` on the forge release page and attach the prepared artifacts |

View file

@ -17,8 +17,9 @@ Completed on 2026-03-12:
## Manual distro validation ## Manual distro validation
These rows must be filled with real results before milestone 2 can be closed as One fully validated representative distro family is enough to close milestone 2
fully complete for GA evidence. for now. Full Debian/Ubuntu, Arch, Fedora, and openSUSE coverage remains a
milestone 5 GA signoff requirement.
Store raw evidence for each distro pass in `user-readiness/<linux-timestamp>.md` Store raw evidence for each distro pass in `user-readiness/<linux-timestamp>.md`
and reference that file in the `Notes` column. and reference that file in the `Notes` column.
@ -26,7 +27,7 @@ and reference that file in the `Notes` column.
| Distro family | Fresh install | First service start | Upgrade | Uninstall | Reinstall | Reboot or service restart | Missing dependency recovery | Conflict with prior package install | Reviewer | Status | Notes | | Distro family | Fresh install | First service start | Upgrade | Uninstall | Reinstall | Reboot or service restart | Missing dependency recovery | Conflict with prior package install | Reviewer | Status | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Debian/Ubuntu | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | | | Debian/Ubuntu | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | |
| Arch | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | | | Arch | Pass | Pass | Pass | Pass | Pass | Pass | Pass | Pass | User | Complete for now | User-reported Arch X11 validation in [`1773357669.md`](../../user-readiness/1773357669.md) |
| Fedora | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | | | Fedora | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | |
| openSUSE | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | | | openSUSE | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | |

View file

@ -31,8 +31,9 @@ Completed on 2026-03-12:
## Manual X11 validation ## Manual X11 validation
These rows must be filled with release-specific evidence before milestone 3 can One representative distro family with real runtime validation is enough to
be closed as complete for GA signoff. close milestone 3 for now. Full Debian/Ubuntu, Arch, Fedora, and openSUSE
coverage remains a milestone 5 GA signoff requirement.
Store raw evidence for each runtime validation pass in Store raw evidence for each runtime validation pass in
`user-readiness/<linux-timestamp>.md` and reference that file in the `Notes` `user-readiness/<linux-timestamp>.md` and reference that file in the `Notes`
@ -40,9 +41,9 @@ column.
| Scenario | Debian/Ubuntu | Arch | Fedora | openSUSE | Reviewer | Status | Notes | | Scenario | Debian/Ubuntu | Arch | Fedora | openSUSE | Reviewer | Status | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- | --- | --- |
| Service restart after a successful install | Pending | Pending | Pending | Pending | Pending | Pending | Verify `systemctl --user restart aman` returns to the tray/ready state | | Service restart after a successful install | Pending | Pass | Pending | Pending | User | Arch validated | User-reported Arch X11 validation in [`1773357669.md`](../../user-readiness/1773357669.md); verify `systemctl --user restart aman` returns to the tray/ready state |
| Reboot followed by successful reuse | Pending | Pending | Pending | Pending | Pending | Pending | Validate recovery after a real session restart | | Reboot followed by successful reuse | Pending | Pass | Pending | Pending | User | Arch validated | User-reported Arch X11 validation in [`1773357669.md`](../../user-readiness/1773357669.md); validate recovery after a real session restart |
| Offline startup with an already-cached model | Pending | Pending | Pending | Pending | Pending | Pending | Disable network, then confirm the cached path still starts | | Offline startup with an already-cached model | Pending | Pass | Pending | Pending | User | Arch validated | User-reported Arch X11 validation in [`1773357669.md`](../../user-readiness/1773357669.md); cached-model offline start succeeded |
| Missing runtime dependency recovery | Pending | Pending | Pending | Pending | Pending | Pending | Remove one documented dependency, verify diagnostics point to the correct fix | | Missing runtime dependency recovery | Pending | Pass | Pending | Pending | User | Arch validated | User-reported Arch X11 validation in [`1773357669.md`](../../user-readiness/1773357669.md); diagnostics pointed to the fix |
| Tray-triggered diagnostics logging | Pending | Pending | Pending | Pending | Pending | Pending | Use `Run Diagnostics` and confirm the same IDs/messages appear in logs | | Tray-triggered diagnostics logging | Pending | Pass | Pending | Pending | User | Arch validated | User-reported Arch X11 validation in [`1773357669.md`](../../user-readiness/1773357669.md); `Run Diagnostics` matched the documented log path |
| Service-failure escalation path | Pending | Pending | Pending | Pending | Pending | Pending | Confirm `doctor` -> `self-check` -> `journalctl` -> `aman run --verbose` is enough to explain the failure | | Service-failure escalation path | Pending | Pass | Pending | Pending | User | Arch validated | User-reported Arch X11 validation in [`1773357669.md`](../../user-readiness/1773357669.md); `doctor` -> `self-check` -> `journalctl` -> `aman run --verbose` was sufficient |

View file

@ -0,0 +1,36 @@
# Arch Linux Validation Notes
- Date: 2026-03-12
- Reviewer: User
- Environment: Arch Linux on X11
- Release candidate: `1.0.0`
- Evidence type: user-reported manual validation
This note records the Arch Linux validation pass used to close milestones 2 and
3 for now. It is sufficient for milestone closeout, but it does not replace the
full Debian/Ubuntu, Fedora, and openSUSE coverage still required for milestone
5 GA signoff.
## Portable lifecycle
| Scenario | Result | Notes |
| --- | --- | --- |
| Fresh install | Pass | Portable bundle install succeeded on Arch X11 |
| First service start | Pass | `systemctl --user` service came up successfully |
| Upgrade | Pass | Upgrade preserved the existing state |
| Uninstall | Pass | Portable uninstall completed cleanly |
| Reinstall | Pass | Reinstall succeeded after uninstall |
| Reboot or service restart | Pass | Service remained usable after restart |
| Missing dependency recovery | Pass | Dependency failure path was recoverable |
| Conflict with prior package install | Pass | Conflict handling behaved as documented |
## Runtime reliability
| Scenario | Result | Notes |
| --- | --- | --- |
| Service restart after a successful install | Pass | Service returned to the expected ready state |
| Reboot followed by successful reuse | Pass | Aman remained usable after restart |
| Offline startup with an already-cached model | Pass | Cached-model startup worked without network access |
| Missing runtime dependency recovery | Pass | Diagnostics pointed to the correct recovery path |
| Tray-triggered diagnostics logging | Pass | `Run Diagnostics` matched the documented log flow |
| Service-failure escalation path | Pass | `doctor` -> `self-check` -> `journalctl` -> `aman run --verbose` was sufficient |