# Portable Validation Matrix This document tracks milestone 2 and GA validation evidence for the portable X11 bundle. ## Automated evidence Completed on 2026-03-12: - `PYTHONPATH=src python3 -m unittest tests.test_portable_bundle` - covers bundle packaging shape, fresh install, upgrade, uninstall, purge, unmanaged-conflict fail-fast behavior, and rollback after service-start failure - `PYTHONPATH=src python3 -m unittest tests.test_aman_cli tests.test_diagnostics tests.test_portable_bundle` - confirms portable bundle work did not regress the CLI help or diagnostics surfaces used in the support flow ## Manual distro validation One fully validated representative distro family is enough to close milestone 2 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/.md` 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 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Debian/Ubuntu | 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 | | | openSUSE | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | Pending | | ## Required release scenarios Every row above must cover: - runtime dependencies installed with the documented distro command - bundle checksum verified - `./install.sh` succeeds - `systemctl --user enable --now aman` succeeds through the installer - first launch reaches the normal settings or tray workflow - upgrade preserves `~/.config/aman/` and `~/.cache/aman/` - uninstall removes the command shim and user service cleanly - reinstall succeeds after uninstall - missing dependency path gives actionable remediation - pre-existing distro package or unmanaged shim conflict fails clearly