TenantAtlas/app/Services
ahmido 6f8eb28ca2 feat: add tenant backup health signals (#212)
## Summary
- add the Spec 180 tenant backup-health resolver and value objects to derive absent, stale, degraded, healthy, and schedule-follow-up posture from existing backup and schedule truth
- surface backup posture and reason-driven drillthroughs in the tenant dashboard and preserve continuity on backup-set and backup-schedule destinations
- add deterministic local/testing browser-fixture seeding plus a local fixture-login helper for the blocked drillthrough `403` scenario, along with the related spec artifacts and focused regression coverage

## Testing
- `vendor/bin/sail artisan test --compact tests/Feature/Auth/BackupHealthBrowserFixtureLoginTest.php tests/Feature/Console/TenantpilotSeedBackupHealthBrowserFixtureCommandTest.php`
- `vendor/bin/sail artisan test --compact tests/Unit/Support/BackupHealth/TenantBackupHealthResolverTest.php tests/Feature/Filament/DashboardKpisWidgetTest.php tests/Feature/Filament/NeedsAttentionWidgetTest.php tests/Feature/Filament/TenantDashboardTruthAlignmentTest.php tests/Feature/Filament/TenantDashboardTenantScopeTest.php tests/Feature/Filament/TenantDashboardDbOnlyTest.php tests/Feature/Filament/BackupSetListContinuityTest.php tests/Feature/Filament/BackupSetEnterpriseDetailPageTest.php tests/Feature/BackupScheduling/BackupScheduleLifecycleTest.php tests/Feature/Auth/BackupHealthBrowserFixtureLoginTest.php tests/Feature/Console/TenantpilotSeedBackupHealthBrowserFixtureCommandTest.php`

## Notes
- Filament v5 / Livewire v4 compliant; no panel-provider change was needed, so `bootstrap/providers.php` remains unchanged
- no new globally searchable resource was introduced, so global-search behavior is unchanged
- no new destructive action was added; existing destructive actions and confirmation behavior remain unchanged
- no new asset registration was added; the existing deploy-time `php artisan filament:assets` step remains sufficient
- the local fixture login helper route is limited to `local` and `testing` environments
- the focused and broader Spec 180 packs are green; the full suite was not rerun after these changes

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #212
2026-04-07 21:35:58 +00:00
..
Alerts feat(alerts): test message + last test status + deep links (#122) 2026-02-18 23:12:38 +00:00
Audit feat: harden findings workflow and audit backstop (#181) 2026-03-18 12:57:23 +00:00
Auth feat: add tenant backup health signals (#212) 2026-04-07 21:35:58 +00:00
BackupScheduling Spec 092: Legacy Purge (runs/routes/UI/test shims) (#110) 2026-02-14 18:43:56 +00:00
Baselines feat: implement baseline subject resolution semantics (#193) 2026-03-25 12:40:45 +00:00
Directory feat: add resolved reference presentation layer (#161) 2026-03-10 18:52:52 +00:00
Drift feat: add resolved reference presentation layer (#161) 2026-03-10 18:52:52 +00:00
EntraAdminRoles feat: harden findings workflow and audit backstop (#181) 2026-03-18 12:57:23 +00:00
Evidence feat: implement finding risk acceptance lifecycle (#184) 2026-03-20 01:07:55 +00:00
Findings feat: harden finding governance health surfaces (#197) 2026-03-28 10:11:12 +00:00
Graph feat: add resolved reference presentation layer (#161) 2026-03-10 18:52:52 +00:00
Hardening feat: provider access hardening (RBAC write gate) (#132) 2026-02-23 00:49:37 +00:00
Intune feat: add shared reason translation contract (#187) 2026-03-22 20:19:43 +00:00
Inventory feat: implement inventory coverage truth (#208) 2026-04-05 12:35:20 +00:00
Onboarding feat: harden livewire trusted state boundaries (#182) 2026-03-18 23:01:14 +00:00
Operations feat: harden operation lifecycle monitoring (#190) 2026-03-23 21:53:19 +00:00
PermissionPosture feat: harden findings workflow and audit backstop (#181) 2026-03-18 12:57:23 +00:00
Providers feat: harden queued execution legitimacy (#179) 2026-03-17 21:52:40 +00:00
Runbooks feat(113): Platform Ops Runbooks — UX Polish (Filament-native, system theme, live scope) (#137) 2026-02-27 01:11:25 +00:00
Settings feat(111): findings workflow + SLA settings (#135) 2026-02-25 01:48:01 +00:00
System feat: harden livewire trusted state boundaries (#182) 2026-03-18 23:01:14 +00:00
SystemConsole feat: add tenant review layer (#185) 2026-03-21 22:03:01 +00:00
TenantReviews feat: add tenant governance aggregate contract and action surface follow-ups (#199) 2026-03-29 21:14:17 +00:00
Tenants feat: add tenant governance aggregate contract and action surface follow-ups (#199) 2026-03-29 21:14:17 +00:00
Verification feat: harden queued execution legitimacy (#179) 2026-03-17 21:52:40 +00:00
AdapterRunReconciler.php feat: harden operation lifecycle monitoring (#190) 2026-03-23 21:53:19 +00:00
AssignmentBackupService.php feat: add resolved reference presentation layer (#161) 2026-03-10 18:52:52 +00:00
AssignmentRestoreService.php Spec 094: Assignment ops observability hardening (#113) 2026-02-15 14:08:14 +00:00
OperationRunService.php feat: harden operation lifecycle monitoring (#190) 2026-03-23 21:53:19 +00:00
ReviewPackService.php feat: add tenant review layer (#185) 2026-03-21 22:03:01 +00:00