TenantAtlas/app/Services
ahmido 417df4f9aa feat: central tenant operability policy (#177)
## Summary
- centralize tenant operability into a lane-aware, actor-aware policy boundary
- align selector eligibility, administrative discoverability, remembered context, tenant-bound routes, and canonical run viewers
- add focused Pest coverage plus Spec 148 artifacts and final polish task completion

## Validation
- `vendor/bin/sail artisan test --compact tests/Unit/Tenants/TenantOperabilityServiceTest.php tests/Unit/Tenants/TenantOperabilityOutcomeTest.php tests/Feature/Workspaces/ChooseTenantPageTest.php tests/Feature/Workspaces/SelectTenantControllerTest.php tests/Feature/TenantRBAC/ArchivedTenantRouteAccessTest.php tests/Feature/TenantRBAC/TenantRouteDenyAsNotFoundTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php tests/Feature/OpsUx/OperateHubShellTest.php tests/Feature/Rbac/TenantLifecycleActionVisibilityTest.php tests/Feature/TenantRBAC/TenantSwitcherScopeTest.php tests/Feature/Rbac/TenantResourceAuthorizationTest.php tests/Feature/Filament/ManagedTenantsLandingLifecycleTest.php tests/Feature/Filament/TenantGlobalSearchLifecycleScopeTest.php tests/Feature/Onboarding/OnboardingDraftLifecycleTest.php tests/Feature/Onboarding/OnboardingDraftAuthorizationTest.php`
- `vendor/bin/sail bin pint --dirty --format agent`
- manual browser smoke checks on `/admin/choose-tenant`, `/admin/tenants`, `/admin/onboarding`, `/admin/onboarding/{draft}`, and `/admin/operations/{run}`

## Filament / platform notes
- Livewire v4 compliance preserved
- panel provider registration unchanged in `bootstrap/providers.php`
- Tenant resource global search remains backed by existing view/edit pages and is now separated from active-only selector eligibility
- destructive actions remain action closures with confirmation and authorization enforcement
- no asset pipeline changes and no new `filament:assets` deployment requirement

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #177
2026-03-17 11:48:55 +00:00
..
Alerts feat(alerts): test message + last test status + deep links (#122) 2026-02-18 23:12:38 +00:00
Audit feat: implement tenant lifecycle operability semantics (#172) 2026-03-15 09:08:36 +00:00
Auth feat: managed tenant onboarding draft identity and resume semantics (#167) 2026-03-13 23:45:23 +00:00
BackupScheduling Spec 092: Legacy Purge (runs/routes/UI/test shims) (#110) 2026-02-14 18:43:56 +00:00
Baselines feat: standardize enterprise detail pages (#162) 2026-03-10 23:06:26 +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(112): LIST $expand parity + Entra principal names (#136) 2026-02-25 23:54:20 +00:00
Findings feat(111): findings workflow + SLA settings (#135) 2026-02-25 01:48:01 +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: complete admin canonical tenant rollout (#165) 2026-03-13 08:09:20 +00:00
Inventory feat: add Intune RBAC baseline compare support (#156) 2026-03-09 18:49:20 +00:00
Onboarding feat: harden canonical run viewer and onboarding draft state (#173) 2026-03-15 18:32:04 +00:00
Operations 056-remove-legacy-bulkops (#65) 2026-01-19 23:27:52 +00:00
PermissionPosture feat(111): findings workflow + SLA settings (#135) 2026-02-25 01:48:01 +00:00
Providers feat: standardize platform provider identity (#166) 2026-03-13 16:29:08 +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 Spec 119: Drift cutover to Baseline Compare (golden master) (#144) 2026-03-06 14:30:49 +00:00
SystemConsole feat: lay audit log foundation (#163) 2026-03-11 09:39:37 +00:00
Tenants feat: central tenant operability policy (#177) 2026-03-17 11:48:55 +00:00
Verification feat: standardize platform provider identity (#166) 2026-03-13 16:29:08 +00:00
AdapterRunReconciler.php 056-remove-legacy-bulkops (#65) 2026-01-19 23:27:52 +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: lay audit log foundation (#163) 2026-03-11 09:39:37 +00:00
ReviewPackService.php feat(111): findings workflow + SLA settings (#135) 2026-02-25 01:48:01 +00:00