Summary
Replace the current flat seven-task ShareSurfer start menu with a goal-based home screen optimized for a low-to-average-skill operator completing a safe first scan.
This follows the console-layer direction in #366. The current menu renders task labels twice, defaults to a preview-only dead end, exposes advanced implementation settings before the scan target, and has inconsistent cancel/back behavior.
Acceptance Criteria
- Render one goal-based home screen with
Start a first scan as the recommended default, followed by saved scan, results review, ownership data, advanced tools, and exit.
- Show unavailable actions as non-selectable status rows with a short reason.
- Reduce the recommended first-scan path to target, review-location choice, recommended/custom settings, and final review/action.
- Keep advanced paths, AD/OBS/ACL details, and ownership imports behind progressive disclosure.
- Use one return-based
Select/Accept/Back/Skip/Cancel prompt contract; cancellation must never become a field value.
- Return to a refreshed home screen after setup, validation, recoverable failure, or a declined action.
- Treat existing export files as unvalidated until
Test-ShareSurferExport succeeds; block dashboard packaging after failed validation.
- Keep exact command previews available as technical details while leading with plain-language consequences.
- Preserve public parameters, non-interactive replay, Windows PowerShell 5.1, offline ZIP operation, plain numbered fallback, transcripts, and existing JSON/rerun outputs.
- Update first-run/operator docs and add focused renderer/state/flow tests, including 80/120-column output, cancellation, unavailable states, corrupt saved setup, and failed-validation recovery.
Validation
git diff --check
- PowerShell parser/import checks
- Focused menu/startup flow tests
pwsh -NoLogo -NoProfile -File tests/Invoke-ShareSurferTests.ps1
- Windows PowerShell 5.1 CI smoke after PR push
Delivery
Use a focused codex/ branch, preserve unrelated worktree files, and post commit/validation evidence back to this issue with body-file comments.
Summary
Replace the current flat seven-task ShareSurfer start menu with a goal-based home screen optimized for a low-to-average-skill operator completing a safe first scan.
This follows the console-layer direction in #366. The current menu renders task labels twice, defaults to a preview-only dead end, exposes advanced implementation settings before the scan target, and has inconsistent cancel/back behavior.
Acceptance Criteria
Start a first scanas the recommended default, followed by saved scan, results review, ownership data, advanced tools, and exit.Select/Accept/Back/Skip/Cancelprompt contract; cancellation must never become a field value.Test-ShareSurferExportsucceeds; block dashboard packaging after failed validation.Validation
git diff --checkpwsh -NoLogo -NoProfile -File tests/Invoke-ShareSurferTests.ps1Delivery
Use a focused
codex/branch, preserve unrelated worktree files, and post commit/validation evidence back to this issue with body-file comments.