4.5 KiB
4.5 KiB
Quickstart: Workspace Recovery Posture Visibility
Prerequisites
- Start the application services if they are not already running:
cd apps/platform && ./vendor/bin/sail up -d
-
Use a workspace member account with access to at least one visible tenant.
-
Keep the current workspace overview route as the primary verification entry point:
/admin
Focused Automated Verification
Run the existing workspace overview pack first:
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:
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:
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:
cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent
Manual Validation Scenarios
Scenario 1: Mixed workspace with backup and recovery issues
- Open
/adminfor a workspace with multiple visible tenants. - Verify one visible tenant is
absenton backup health, one isstale, one isunvalidated, one isweakened, and one is calm. - Verify the stat strip shows separate backup-attention and recovery-attention counts.
- Verify
Needs attentionshows the expected tenant order and keeps backup health and recovery evidence separate.
Scenario 2: Single affected tenant metric drillthrough
- Seed a workspace where exactly one visible tenant has backup attention or recovery attention.
- Open
/admin. - Verify the matching summary metric links directly to that tenant’s dashboard.
- Confirm the tenant dashboard still shows the same backup or recovery weakness.
Scenario 3: Multi-tenant metric fallback
- Seed a workspace where multiple visible tenants are affected.
- Open
/admin. - Verify the matching summary metric uses the deliberate tenant-entry fallback instead of pretending there is a single canonical tenant.
- Confirm the operator can still choose the correct tenant from there.
Scenario 4: Calm workspace with explicit checked domains
- Seed a workspace where all visible tenants are healthy on backup health and
no_recent_issues_visibleon recovery evidence. - Open
/admin. - Verify the workspace may render a calm state.
- Verify the calmness statement explicitly includes backup health and recovery evidence.
- Verify the wording stays bounded to visible tenants and does not claim recovery proof.
Scenario 5: RBAC-limited member
- Sign in as a workspace member who cannot see some tenants in the workspace.
- Open
/admin. - Verify hidden tenants do not appear in counts, item labels, or reason text.
- Verify any calmness claim is explicitly about the visible tenant slice.
- 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 provenportfolio restore readiness is guaranteedhealthy 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:
cd apps/platform && php artisan filament:assets