Files
CleanMM/Docs/Execution/Beta-Acceptance-Checklist.md
2026-03-10 17:09:35 +08:00

126 lines
3.9 KiB
Markdown

# Beta Acceptance Checklist
## Goal
Provide a release-facing checklist for deciding whether Atlas for Mac is ready to enter or exit the beta phase.
## Scope
This checklist applies to the frozen MVP modules:
- `Overview`
- `Smart Clean`
- `Apps`
- `History`
- `Recovery`
- `Permissions`
- `Settings`
## Entry Criteria
Before starting beta acceptance, confirm all of the following:
- [ ] `swift test --package-path Packages` passes
- [ ] `swift test --package-path Apps` passes
- [ ] `./scripts/atlas/full-acceptance.sh` passes
- [ ] `dist/native/Atlas for Mac.app` is freshly built
- [ ] `dist/native/Atlas-for-Mac.dmg` is freshly built
- [ ] `dist/native/Atlas-for-Mac.pkg` is freshly built
- [ ] `Docs/Execution/MVP-Acceptance-Matrix.md` is up to date
- [ ] Known blockers are documented in `Docs/RISKS.md`
## Build & Artifact Checks
- [ ] App bundle opens from `dist/native/Atlas for Mac.app`
- [ ] DMG mounts successfully
- [ ] DMG contains `Atlas for Mac.app`
- [ ] DMG contains `Applications` shortcut
- [ ] PKG expands with `pkgutil --expand`
- [ ] SHA256 file exists and matches current artifacts
- [ ] Embedded helper exists at `Contents/Helpers/AtlasPrivilegedHelper`
- [ ] Embedded XPC service exists at `Contents/XPCServices/AtlasWorkerXPC.xpc`
- [ ] `./scripts/atlas/verify-bundle-contents.sh` passes
## Functional Beta Checks
### Overview
- [ ] App launches to a visible primary window
- [ ] Sidebar navigation shows all frozen MVP routes
- [ ] Overview displays health summary cards
- [ ] Overview displays reclaimable space summary
- [ ] Overview displays recent activity without crash
### Smart Clean
- [ ] User can open `Smart Clean`
- [ ] User can run scan
- [ ] User can refresh preview
- [ ] User can execute preview
- [ ] Execution updates `History`
- [ ] Execution creates `Recovery` entries for recoverable items
### Apps
- [ ] User can open `Apps`
- [ ] User can refresh app footprints
- [ ] User can preview uninstall
- [ ] User can execute uninstall
- [ ] Uninstall updates `History`
- [ ] Uninstall creates `Recovery` entry
### History / Recovery
- [ ] History shows recent task runs
- [ ] Recovery shows recoverable items after destructive flows
- [ ] User can restore a recovery item
- [ ] Restored item disappears from recovery list
### Permissions
- [ ] Permissions screen opens without crash
- [ ] User can refresh permission status
- [ ] Permission cards render all expected states
### Settings
- [ ] Settings screen opens without crash
- [ ] User can change recovery retention
- [ ] User can toggle notifications
- [ ] Settings persist after relaunch
- [ ] Acknowledgement copy is visible
- [ ] Third-party notices copy is visible
## Install Checks
### DMG Path
- [ ] DMG install validation passes with `KEEP_INSTALLED_APP=1 ./scripts/atlas/verify-dmg-install.sh`
- [ ] Installed app exists at `~/Applications/Atlas for Mac.app`
- [ ] Installed app launches successfully
### PKG Path
- [ ] PKG builds successfully
- [ ] PKG expands successfully
- [ ] PKG signing status is known (`Developer ID signed`, `ad hoc signed`, or `unsigned`)
## Native UI Automation Checks
- [ ] `./scripts/atlas/ui-automation-preflight.sh` passes on the validating machine
- [ ] `./scripts/atlas/run-ui-automation.sh` passes
- [ ] UI smoke confirms sidebar routes and primary Smart Clean / Settings controls
## Beta Exit Criteria
Mark beta candidate as ready only if all are true:
- [ ] No P0 functional blocker remains open
- [ ] No P0 crash-on-launch or crash-on-primary-workflow remains open
- [ ] All frozen MVP workflows complete end to end
- [ ] Install path has been validated on the current candidate build
- [ ] Known unsupported areas are explicitly documented
- [ ] Release-signing status is explicit
## Sign-off
| Role | Name | Status | Notes |
|------|------|--------|-------|
| `QA Agent` | | Pending | |
| `Mac App Agent` | | Pending | |
| `System Agent` | | Pending | |
| `Release Agent` | | Pending | |
| `Product Agent` | | Pending | |