# 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 These rows must be filled with real results before milestone 2 can be closed as fully complete for GA evidence. 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 | 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 | | ## 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