feat: central tenant operability policy #177

Merged
ahmido merged 1 commits from 148-central-tenant-operability-policy into dev 2026-03-17 11:48:57 +00:00
Owner

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
## 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
ahmido added 1 commit 2026-03-17 11:47:39 +00:00
ahmido merged commit 417df4f9aa into dev 2026-03-17 11:48:57 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ahmido/TenantAtlas#177
No description provided.