--- phase: 01-foundation plan: 08 type: execute wave: 7 depends_on: - 01-07 files_modified: [] autonomous: false requirements: - FOUND-01 - FOUND-02 - FOUND-03 - FOUND-04 - FOUND-05 - FOUND-06 - FOUND-07 - FOUND-08 - FOUND-09 - FOUND-10 - FOUND-12 must_haves: truths: - "Application launches without crashing from dotnet run" - "All 8 tabs visible with correct localized headers" - "Language switch from Settings tab changes tab headers immediately without restart" - "Profile management dialog opens, allows adding/renaming/deleting profiles" - "Log panel at bottom shows timestamped messages with color coding" - "Status bar shows tenant name and connection status" - "All unit tests pass (zero failures)" artifacts: - path: "SharepointToolbox/App.xaml.cs" provides: "Running application entry point" - path: "SharepointToolbox/Views/MainWindow.xaml" provides: "Visible shell with all required regions" key_links: - from: "Visual inspection" to: "Phase 1 success criteria (ROADMAP.md)" via: "Manual verification checklist" pattern: "checkpoint" --- Run the full test suite, launch the application, and perform visual/functional verification of all Phase 1 success criteria before marking the phase complete. Purpose: Automated tests validate logic, but WPF UI can fail visually in ways tests cannot catch (layout wrong, bindings silently failing, log panel invisible, crash on startup). Output: Confirmed working foundation. Green light for Phase 2. @C:/Users/SebastienQUEROL/.claude/get-shit-done/workflows/execute-plan.md @C:/Users/SebastienQUEROL/.claude/get-shit-done/templates/summary.md @.planning/ROADMAP.md @.planning/phases/01-foundation/01-CONTEXT.md @.planning/phases/01-foundation/01-07-SUMMARY.md Task 1: Run full test suite and verify zero failures Run the complete test suite: ``` dotnet test SharepointToolbox.Tests/SharepointToolbox.Tests.csproj --no-build -v normal ``` Expected result: All Unit and Integration tests pass. The following tests may remain as `Skip`: - `SessionManagerTests.GetOrCreateContextAsync_CreatesContext` (requires interactive MSAL) If any tests fail: 1. Read the failure message carefully 2. Fix the underlying code (do NOT delete or skip a failing test) 3. Re-run until all non-interactive tests pass Also run a build to confirm zero warnings (treat warnings as potential future failures): ``` dotnet build SharepointToolbox.sln -warnaserror ``` If warnings-as-errors produces failures from NuGet or generated code, switch back to `dotnet build SharepointToolbox.sln` and list remaining warnings in the SUMMARY. cd "C:\Users\dev\Documents\projets\Sharepoint" && dotnet test SharepointToolbox.Tests/SharepointToolbox.Tests.csproj 2>&1 | tail -15 Test output shows 0 failed. All non-interactive tests pass. Build produces 0 errors. Complete Phase 1 Foundation: - WPF shell with 8-tab layout, log panel (150px, black background, green text), StatusBar - Toolbar: tenant ComboBox (220px), Connect, Manage Profiles, separator, Clear Session - Profile management dialog (modal) — add, rename, delete tenant profiles - Settings tab: language switcher (EN/FR) + data folder picker - Dynamic language switching — changes tab headers without restart - Serilog rolling file log + LogPanelSink writing to in-app RichTextBox - Global exception handlers wired - All infrastructure patterns in place (pagination helper, retry helper, FeatureViewModelBase) - Per-tab FeatureTabBase UserControl with ProgressBar + Cancel strip (shown only when IsRunning) - StatusBar middle field shows live operation status text (ProgressStatus) Run the application: `dotnet run --project SharepointToolbox/SharepointToolbox.csproj` Check each item: 1. **Shell layout**: Window shows toolbar at top, TabControl in center with 8 tabs (Permissions, Storage, File Search, Duplicates, Templates, Bulk Operations, Folder Structure, Settings), log panel at bottom (black, 150px), status bar below log. 2. **Tab headers**: All 8 tabs have their English localized text (not "[tab.xxx]" — which would mean missing resx key). 3. **Language switch**: - Open Settings tab - Change language to French - Verify tab headers change immediately (no restart) - Change back to English to reset 4. **Profile management**: - Click "Manage Profiles..." - Modal dialog appears - Add a test profile: Name="Test", URL="https://test.sharepoint.com", ClientId="test-id" - Profile appears in the toolbar ComboBox after dialog closes - Rename the profile in the dialog — new name shows in ComboBox - Delete the profile — removed from ComboBox 5. **Log panel**: - Verify log entries appear (at least startup messages) in `HH:mm:ss [XXXX] message` format - Verify green color for info entries 6. **Data folder**: - Open Settings tab - Click Browse, select a folder - Verify folder path appears in the TextBox 7. **Error handler** (optional — skip if risky): - Confirm `%AppData%\SharepointToolbox\logs\` directory exists and contains today's log file Report any visual issues, missing strings, or crashes. Type "approved" if all checks pass, or describe specific issues found All Phase 1 ROADMAP success criteria met: 1. User can create, rename, delete, and switch between tenant profiles via the UI 2. MSAL token cache infrastructure ready (interactive login requires a real Azure AD tenant — not testable in this checkpoint) 3. Per-tab progress bar + cancel button infrastructure built (FeatureTabBase UserControl wired in all 7 stub tabs; FeatureViewModelBase tests prove the pattern) 4. Log panel surfaces errors in red; global exception handlers registered 5. Language switches between EN and FR dynamically without restart Human approves visual checkpoint. All unit tests green. Phase 1 complete — ready to begin Phase 2 (Permissions). After completion, create `.planning/phases/01-foundation/01-08-SUMMARY.md`