# Smart Clean Manual Verification — 2026-03-09 ## Goal Provide a fast, repeatable, machine-local verification flow for the current `Smart Clean` real-execution subset and physical recovery path. Use this when you want to verify real cleanup behavior on your own Mac without relying on arbitrary personal files. ## Fixture Helper Use the helper script below to create disposable files only in currently supported Smart Clean execution areas: - `scripts/atlas/smart-clean-manual-fixtures.sh` Supported commands: ```bash ./scripts/atlas/smart-clean-manual-fixtures.sh create ./scripts/atlas/smart-clean-manual-fixtures.sh status ./scripts/atlas/smart-clean-manual-fixtures.sh cleanup ``` ## What the Helper Creates The helper creates disposable fixtures under these locations: - `~/Library/Caches/AtlasExecutionFixturesCache` - `~/Library/Logs/AtlasExecutionFixturesLogs` - `~/Library/Developer/Xcode/DerivedData/AtlasExecutionFixturesDerivedData` - `~/Library/Caches/AtlasExecutionFixturesPycache` These locations are chosen because the current Smart Clean implementation can execute and restore them for real. ## Verification Steps ### 1. Prepare fixtures ```bash ./scripts/atlas/smart-clean-manual-fixtures.sh create ``` Expected: - The script prints the created roots and files. - `status` shows non-zero size under all four fixture roots. ### 2. Confirm upstream dry-run sees the fixtures ```bash bash bin/clean.sh --dry-run ``` Expected: - The dry-run output or `~/.config/mole/clean-list.txt` reflects the fixture size increase under one or more higher-level roots such as: - `~/Library/Caches` - `~/Library/Logs` - `~/Library/Developer/Xcode/DerivedData` - The fixture helper `status` output gives you the exact on-disk paths to compare before and after execution. ### 3. Run Smart Clean scan in the app - Open `Atlas for Mac` - Go to `Smart Clean` - Click `Run Scan` - If needed, use the app search field and search for related visible terms such as `DerivedData`, `cache`, `logs`, or the exact original path shown by the helper script. Expected: - A cleanup plan is generated. - At least one fixture-backed item appears in the plan or filtered findings. - `Estimated Space` / `预计释放空间` is non-zero. ### 4. Execute the plan - Review the plan. - Click `Run Plan` / `执行计划`. Expected: - Execution completes successfully for supported fixture items. - The app creates recovery entries. - Atlas does not silently claim success for unsupported items. ### 5. Verify physical side effects ```bash ./scripts/atlas/smart-clean-manual-fixtures.sh status ``` Expected: - Executed fixture files no longer exist at their original paths. - The corresponding recovery entry exists inside the app. ### 6. Verify scan → execute → rescan - Run another Smart Clean scan in the app. Expected: - The executed fixture-backed items are no longer rediscovered. - Estimated space drops accordingly. ### 7. Verify physical restore - Go to `History` / `Recovery` - Restore the executed fixture-backed item(s) Then run: ```bash ./scripts/atlas/smart-clean-manual-fixtures.sh status ``` Expected: - The restored file or directory is back at its original path. - If the restored item is still reclaimable, a fresh scan can rediscover it. ### 8. Clean up after verification ```bash ./scripts/atlas/smart-clean-manual-fixtures.sh cleanup ``` Expected: - All disposable fixture roots are removed. ## Failure Interpretation ### Expected failure If a scanned item is outside the currently supported structured safe subset, Atlas should fail closed instead of pretending to clean it. ### Unexpected failure Treat these as regressions: - fixture files remain in place after a reported successful execution - fixture items reappear immediately on rescan even though the original files are gone - restore reports success but the original files do not return - Smart Clean claims success when no executable targets exist ## Recommended Companion Docs - `Docs/Execution/Smart-Clean-Execution-Coverage-2026-03-09.md` - `Docs/Execution/Smart-Clean-QA-Checklist-2026-03-09.md` - `Docs/Execution/Execution-Chain-Audit-2026-03-09.md`