# Quickstart: Workspace Recovery Posture Visibility ## Prerequisites 1. Start the application services if they are not already running: ```bash cd apps/platform && ./vendor/bin/sail up -d ``` 2. Use a workspace member account with access to at least one visible tenant. 3. Keep the current workspace overview route as the primary verification entry point: ```text /admin ``` ## Focused Automated Verification Run the existing workspace overview pack first: ```bash cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/WorkspaceOverviewSummaryMetricsTest.php cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/WorkspaceOverviewDrilldownContinuityTest.php cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/WorkspaceOverviewPermissionVisibilityTest.php cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/WorkspaceOverviewDbOnlyTest.php cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/WorkspaceOverviewContentTest.php cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/WorkspaceOverviewEmptyStatesTest.php ``` If the new attention-family coverage is split into a dedicated file, run it as part of the pack. Otherwise extend and rerun the existing governance-attention file: ```bash cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/WorkspaceOverviewGovernanceAttentionTest.php ``` Run the upstream tenant-truth guards that Spec 185 depends on: ```bash cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/DashboardRecoveryPosturePerformanceTest.php cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/DashboardKpisWidgetTest.php cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/NeedsAttentionWidgetTest.php ``` Format after code changes: ```bash cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent ``` ## Manual Validation Scenarios ### Scenario 1: Mixed workspace with backup and recovery issues 1. Open `/admin` for a workspace with multiple visible tenants. 2. Verify one visible tenant is `absent` on backup health, one is `stale`, one is `unvalidated`, one is `weakened`, and one is calm. 3. Verify the stat strip shows separate backup-attention and recovery-attention counts. 4. Verify `Needs attention` shows the expected tenant order and keeps backup health and recovery evidence separate. ### Scenario 2: Single affected tenant metric drillthrough 1. Seed a workspace where exactly one visible tenant has backup attention or recovery attention. 2. Open `/admin`. 3. Verify the matching summary metric links directly to that tenant’s dashboard. 4. Confirm the tenant dashboard still shows the same backup or recovery weakness. ### Scenario 3: Multi-tenant metric fallback 1. Seed a workspace where multiple visible tenants are affected. 2. Open `/admin`. 3. Verify the matching summary metric uses the deliberate tenant-entry fallback instead of pretending there is a single canonical tenant. 4. Confirm the operator can still choose the correct tenant from there. ### Scenario 4: Calm workspace with explicit checked domains 1. Seed a workspace where all visible tenants are healthy on backup health and `no_recent_issues_visible` on recovery evidence. 2. Open `/admin`. 3. Verify the workspace may render a calm state. 4. Verify the calmness statement explicitly includes backup health and recovery evidence. 5. Verify the wording stays bounded to visible tenants and does not claim recovery proof. ### Scenario 5: RBAC-limited member 1. Sign in as a workspace member who cannot see some tenants in the workspace. 2. Open `/admin`. 3. Verify hidden tenants do not appear in counts, item labels, or reason text. 4. Verify any calmness claim is explicitly about the visible tenant slice. 5. If a downstream capability is missing, verify the workspace item degrades to a safe disabled or fallback state rather than a dead-end link. ## Non-goals Check Before considering the slice complete, verify that no workspace surface introduces any of the following: - `workspace recovery is proven` - `portfolio restore readiness is guaranteed` - `healthy backups guarantee successful recovery` - Any equivalent blended score or proof language stronger than the visible tenant truth supports ## Deployment Note No new Filament assets are planned for this slice. Deployment keeps the existing asset step unchanged: ```bash cd apps/platform && php artisan filament:assets ```