--- phase: 08-simplified-permissions plan: 03 type: execute wave: 3 depends_on: ["08-02"] files_modified: - SharepointToolbox/Views/Tabs/PermissionsView.xaml autonomous: true requirements: - SIMP-01 - SIMP-02 - SIMP-03 must_haves: truths: - "A Simplified Mode toggle checkbox appears in the left panel scan options" - "A Detail Level selector (Simple/Detailed) appears when simplified mode is on" - "When simplified mode is on, the Permission Levels column shows plain-language labels instead of raw role names" - "Permission level cells are color-coded by risk level (red=High, orange=Medium, green=Low, blue=ReadOnly)" - "A summary panel shows counts per risk level with color indicators above the DataGrid" - "When detail level is Simple, the DataGrid is hidden and only the summary panel is visible" - "When detail level is Detailed, both summary panel and DataGrid rows are visible" artifacts: - path: "SharepointToolbox/Views/Tabs/PermissionsView.xaml" provides: "Updated permissions view with toggles, color coding, and summary panel" contains: "IsSimplifiedMode" key_links: - from: "SharepointToolbox/Views/Tabs/PermissionsView.xaml" to: "SharepointToolbox/ViewModels/Tabs/PermissionsViewModel.cs" via: "DataBinding to IsSimplifiedMode, IsDetailView, ActiveItemsSource, Summaries" pattern: "Binding IsSimplifiedMode" --- Update PermissionsView.xaml to add the simplified mode toggle, detail level selector, color-coded permission cells, and summary panel with risk level counts. Purpose: This is the visual layer for SIMP-01 (plain labels), SIMP-02 (color-coded summary), and SIMP-03 (detail level toggle). Binds to ViewModel properties created in 08-02. Output: Updated PermissionsView.xaml @C:/Users/dev/.claude/get-shit-done/workflows/execute-plan.md @C:/Users/dev/.claude/get-shit-done/templates/summary.md @.planning/PROJECT.md @.planning/ROADMAP.md @.planning/phases/08-simplified-permissions/08-01-SUMMARY.md @.planning/phases/08-simplified-permissions/08-02-SUMMARY.md From PermissionsViewModel (updated): ```csharp // New toggle properties [ObservableProperty] private bool _isSimplifiedMode; [ObservableProperty] private bool _isDetailView = true; // Computed collections public IReadOnlyList SimplifiedResults { get; } public IReadOnlyList Summaries { get; } public object ActiveItemsSource { get; } // Switches between Results and SimplifiedResults // Existing (unchanged) public ObservableCollection Results { get; } ``` From SimplifiedPermissionEntry: ```csharp public string ObjectType { get; } public string Title { get; } public string Url { get; } public bool HasUniquePermissions { get; } public string Users { get; } public string PermissionLevels { get; } // Raw role names public string SimplifiedLabels { get; } // Plain-language labels public RiskLevel RiskLevel { get; } // High/Medium/Low/ReadOnly public string GrantedThrough { get; } public string PrincipalType { get; } ``` From PermissionSummary: ```csharp public record PermissionSummary(string Label, RiskLevel RiskLevel, int Count, int DistinctUsers); ``` From RiskLevel: ```csharp public enum RiskLevel { High, Medium, Low, ReadOnly } ``` Task 1: Add toggles, summary panel, and color-coded DataGrid to PermissionsView.xaml SharepointToolbox/Views/Tabs/PermissionsView.xaml Replace the entire content of `SharepointToolbox/Views/Tabs/PermissionsView.xaml` with the updated XAML below. Key changes from the original: 1. Added `xmlns:models` namespace for RiskLevel enum reference in DataTriggers 2. Added "Display Options" GroupBox in left panel with Simplified Mode toggle and Detail Level radio buttons 3. Added summary panel (ItemsControl bound to Summaries) between left panel and DataGrid 4. DataGrid now binds to `ActiveItemsSource` instead of `Results` 5. Added "Simplified Labels" column visible only in simplified mode (via DataTrigger on Visibility) 6. Permission Levels column cells are color-coded by RiskLevel using DataTrigger 7. DataGrid visibility controlled by IsDetailView when in simplified mode 8. Summary panel visibility controlled by IsSimplifiedMode ```xml