3.4 KiB
3.4 KiB
Smart Clean QA Checklist — 2026-03-09
Goal
Provide a focused acceptance checklist for validating the current Smart Clean real-execution subset and physical recovery path.
Preconditions
- Use a local machine where
Smart Cleanscan can run successfully - Start from a fresh or known workspace-state file when possible
- Prefer disposable cache/test paths under the current user home directory
Test Matrix
1. Real scan still works
- Run
Smart Cleanscan - Confirm the page shows a non-empty cleanup plan for at least one supported target
- Confirm the plan shows
Estimated Space/预计释放空间
Expected:
- Scan completes successfully
- The current cleanup plan is generated from real findings
2. Real execution for safe target
Recommended sample targets:
- a disposable file under
~/Library/Caches/... - a disposable
__pycache__directory - a disposable file under
~/Library/Developer/Xcode/DerivedData/...
Steps:
- Create a disposable target under a supported path
- Run scan and confirm the target appears in the plan
- Run the plan
- Confirm the target disappears from its original path
- Confirm a recovery entry is created
Expected:
- Execution is accepted
- The file or directory is moved to Trash
- History and recovery both update
3. Scan → execute → rescan
- Run scan and note the item count / estimated space for the test target
- Run the plan for that target
- Run a fresh scan again
Expected:
- The previously executed target no longer appears in scan results
- Estimated space decreases accordingly
- The app does not rediscover the same target immediately unless the target still exists physically
4. Physical restore
- Select the recovery item created from the executed target
- Run restore
- Confirm the file or directory returns to its original path
- Run scan again if relevant
Expected:
- Restore succeeds
- The item reappears at the original path
- If the restored item still qualifies as reclaimable, a new scan can rediscover it
5. Unsupported target fails closed
Use an item that is scanned but not currently covered by the structured safe execution subset.
- Run scan until the unsupported item appears in the plan
- Attempt execution
Expected:
- Atlas rejects execution instead of claiming success
- The rejection reason explains that executable cleanup targets are unavailable or unsupported
- No misleading drop in reclaimable space is shown as if cleanup succeeded
6. Worker/XPC fallback honesty
- Simulate or observe worker unavailability in a development environment without
ATLAS_ALLOW_SCAFFOLD_FALLBACK=1 - Attempt a release-facing execution action
Expected:
- Atlas surfaces a concrete failure
- It does not silently fall back to scaffold behavior and report success
Regression Checks
Appsuninstall still works for bundle removal- Existing app/package tests remain green
clean.sh --dry-runstill starts and exports cleanup lists successfully
Pass Criteria
A Smart Clean execution change is acceptable only if all of the following are true:
- supported targets are physically moved to Trash
- executed targets disappear on the next scan
- recovery can physically restore executed targets when mappings are present
- unsupported targets fail closed
- the UI does not imply broader execution coverage than what is actually implemented