# StorageIQ QA Checklist

## v1.6.0 RC1 Verification

- Unit tests passed: `python -m unittest discover -s tests`, 30 tests.
- Compile check passed: `compileall` over `storageiq` and `tests`.
- Source smoke passed: UI, scanner, Duplicate Finder, Storage Timeline, AI Cleanup Advisor, Storage Explorer, Settings, and Diagnostics bundle.
- Packaged EXE smoke passed: `dist\StorageIQ\StorageIQ.exe` exited 0 with `STORAGEIQ_RELEASE_SMOKE=1`.
- ZIP verification passed: `StorageIQ.exe` and `_internal/` are present.
- Installer build was not run because `ISCC.exe` was not found on PATH.

## Startup

- App launches without a console traceback.
- First-run welcome appears once per Windows user profile.
- About dialog shows StorageIQ, version 1.6.0, build number, release channel, features, database path, log path, and safety note.
- Missing or corrupt database is quarantined and recreated safely.
- Uncaught exceptions create a crash report under `%LOCALAPPDATA%\StorageIQ\logs\crash_reports`.

## Scanning

- Folder scan completes on a small test folder.
- Drive scan starts without freezing the UI.
- Cancel stops an active scan and returns controls to the ready state.
- Permission errors are skipped and do not crash the app.

## Storage Explorer

- Storage Explorer page opens from the sidebar.
- Dashboard "Open Storage Explorer" button opens the treemap page.
- Empty state appears before a scan is loaded.
- Treemap appears after a scan and uses category colors for Videos, Images, Documents, Archives, Executables, and Other.
- Hover tooltip shows name, size, path, and type.
- Click selection updates the detail panel.
- Double-clicking a folder drills into that folder.
- Back, Home, and breadcrumb labels update after drill-down.
- Search highlights matching nodes.
- Category filters hide/show matching file types.
- Minimum size filter supports 10 MB, 100 MB, and 1 GB thresholds.
- Right-click menu exposes Open, Open Folder, and View Details.
- Recycle Bin action is disabled for folders and available for selected files only.
- Large scan smoke test remains responsive while painting the treemap.

## File Safety

- File actions always require confirmation before Recycle Bin movement.
- No action permanently deletes files.
- Recycle Bin actions are logged to SQLite.

## Duplicate Finder

- Duplicate Finder page opens from the sidebar.
- Duplicate scan completes on a folder with duplicate files.
- Single files are not flagged.
- Select Older Copies never selects every file in a duplicate group.
- Recycle Selected is disabled until the selection keeps at least one copy per group.

## Storage Timeline

- Storage Timeline page opens from the sidebar.
- Empty state appears with fewer than two scans.
- Time range selector updates charts.
- Two-scan comparison populates growth and shrinking folder tables.
- Insights render without crashing when history is empty.

## Packaging

- `build.ps1` completes successfully.
- `dist\StorageIQ\StorageIQ.exe` launches.
- EXE can perform a basic folder scan.
- EXE opens Storage Explorer, AI Cleanup Advisor, Duplicate Finder, and Storage Timeline pages.
- Packaged app can initialize SQLite schema on a clean profile.

## Installer

- Inno Setup compiler creates `dist\installer\StorageIQ-1.6.0-Setup.exe`.
- Fresh install targets Program Files.
- Start Menu shortcut launches StorageIQ.
- Optional Desktop shortcut launches StorageIQ when selected.
- Windows uninstall entry is registered.
- Upgrade install preserves `%LOCALAPPDATA%\StorageIQ\storageiq.sqlite3`.
- Upgrade install preserves logs under `%LOCALAPPDATA%\StorageIQ\logs`.
- Upgrade install preserves Settings theme, release channel, default scan location, advisor thresholds, and duplicate detection settings.
- Uninstall removes Program Files app files and preserves `%LOCALAPPDATA%\StorageIQ` user data.
- Add/Remove Programs shows the StorageIQ uninstall entry.

## Updates and Diagnostics

- Diagnostics page shows App Version, Build Number, Database Location, Log Location, Last Scan Date, Historical Scans, Duplicate Cleanup Actions, and Advisor Recommendations Generated.
- Diagnostics page Open Log Folder and Open Database Folder actions open the expected folders.
- Stable/Beta release channel selector persists after restart.
- Theme selector persists Dark, Light, and System selections.
- Default Scan Location persists and appears in the scan location selector.
- Large File Threshold, Archive Age Threshold, and Duplicate Detection Settings persist after restart.
- Check for Updates shows Current Version, Latest Version, Release Date, Release Notes, and either "You are up to date" or "Update available".
- Generate Diagnostic Bundle creates a ZIP with logs, version info, environment info, configuration, and aggregate scan statistics.
- Diagnostic bundle excludes scanned file inventories and personal cleanup recommendation data.

## Performance Review

- Large-folder scanning remains responsive with background worker progress and cancellation.
- Duplicate hashing hashes only size-matched candidates and honors configured chunk size/minimum size.
- Storage Explorer renders a virtualized visible subset and remains responsive on large scan snapshots.
- Timeline chart rendering remains responsive with empty states for insufficient history.
- Memory use is reviewed during drive scans and duplicate scans for unbounded growth.

## Release Files

- README reflects current version and features.
- RELEASE_NOTES.md is present.
- `docs/QA_CHECKLIST.md` is present.
- Screenshots exist under `docs/screenshots`.
