## Summary - add the implementation-ready spec-prep artifacts for Spec 280: Filament Workspace Tenancy & Environment Routing Cutover - define the bounded scope, rollout constraints, route contract, and validation plan for the workspace-first routing cutover - update the generated Copilot agent context for the active feature branch ## Testing - not run; this branch adds spec-prep artifacts only and does not change application code ## Notes - no application runtime, database, or frontend code changes are included in this PR - target base branch requested: `platform-dev` Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #336
5.9 KiB
5.9 KiB
Quickstart: Filament Workspace Tenancy & Environment Routing Cutover
Reviewer Flow
- Read spec.md, plan.md, research.md, and data-model.md together.
- Confirm the package stays on reserved slot
280only and treats Spec279as prerequisite context rather than reopened scope. - Confirm the verified current shell still exists today:
TenantPanelProviderownspath('admin/t')andtenant(ManagedEnvironment::class, slugAttribute: 'slug'). - Confirm the cutover removes the public
/admin/t/{environment},/admin/tenants/{environment}/required-permissions,/admin/w/{workspace}/managed-tenants, and/admin/operationsplus/admin/operations/{run}families with no redirects, aliases, or dual-panel fallback. - Confirm the final route contract is workspace-first:
/adminfor chooser/dashboard entry only,/admin/workspaces/{workspace}for the workspace dashboard,/admin/workspaces/{workspace}/environmentsfor environment selection,/admin/workspaces/{workspace}/environments/{environment}for the environment dashboard, and/admin/workspaces/{workspace}/operationsfor the operations hub. - Confirm the plan reuses existing shared ownership points instead of inventing replacements:
WorkspaceOverviewBuilder,TenantDashboardSummaryBuilder,ManagedTenantsLanding,ChooseTenant,WorkspaceRedirectResolver,OperationRunLinks, andRelatedNavigationResolver. - Confirm current-context and route-classification seams are updated together in the implementation plan:
EnsureWorkspaceSelected,EnsureFilamentTenantSelected,TenantPageCategory, andResolvesPanelTenantContext. - Confirm the global-search rule stays explicit for
WorkspaceResourceandTenantResource. - Confirm Specs
281through287remain explicitly deferred. - Confirm no application implementation is included in this prep package.
Planned Validation Commands
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && (cd "$REPO_ROOT/apps/platform" && ./vendor/bin/sail artisan test --compact tests/Feature/Workspace/WorkspaceFilamentTenancyCutoverTest.php tests/Feature/ManagedEnvironment/WorkspaceFirstEnvironmentRoutingTest.php tests/Feature/Monitoring/WorkspaceOperationsEnvironmentContextTest.php tests/Feature/Navigation/WorkspaceEnvironmentBreadcrumbsTest.php tests/Feature/Guards/LegacyAdminTenantRouteRemovalGuardTest.php)
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && (cd "$REPO_ROOT/apps/platform" && ./vendor/bin/sail artisan test --compact tests/Browser/Spec280WorkspaceTenancyEnvironmentRoutingSmokeTest.php)
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && (cd "$REPO_ROOT/apps/platform" && ./vendor/bin/sail bin pint --dirty --format agent)
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && rg -n --fixed-strings '/admin/t/' "$REPO_ROOT/apps/platform/app" "$REPO_ROOT/apps/platform/tests" "$REPO_ROOT/apps/platform/routes" "$REPO_ROOT/apps/platform/bootstrap"
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && rg -n --fixed-strings '/admin/tenants/' "$REPO_ROOT/apps/platform/app" "$REPO_ROOT/apps/platform/tests" "$REPO_ROOT/apps/platform/routes" "$REPO_ROOT/apps/platform/bootstrap"
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && rg -n --fixed-strings '/admin/w/' "$REPO_ROOT/apps/platform/app" "$REPO_ROOT/apps/platform/tests" "$REPO_ROOT/apps/platform/routes" "$REPO_ROOT/apps/platform/bootstrap"
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && rg -n --fixed-strings '/admin/operations' "$REPO_ROOT/apps/platform/app" "$REPO_ROOT/apps/platform/tests" "$REPO_ROOT/apps/platform/routes" "$REPO_ROOT/apps/platform/bootstrap"
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && rg -n --fixed-strings "panel: 'tenant'" "$REPO_ROOT/apps/platform/app" "$REPO_ROOT/apps/platform/tests" "$REPO_ROOT/apps/platform/routes" "$REPO_ROOT/apps/platform/bootstrap"
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && rg -n --fixed-strings 'TenantPanelProvider::class' "$REPO_ROOT/apps/platform/bootstrap/providers.php"
Review Questions
- Does the package clearly remove the temporary
/admin/tshell instead of hiding it behind redirects or aliases? - Does the package also remove
/admin/w/{workspace}/managed-tenantsand/admin/operationsplus/admin/operations/{run}instead of leaving a second chooser or operations route language behind? - Does the plan keep
Workspaceas the only Filament tenant andManagedEnvironmentas nested route context only? - Does the plan make the workspace-scoped environment chooser the canonical public environment entry surface instead of preserving two chooser routes?
- Do
OperationRunLinks,RelatedNavigationResolver, andMonitoring\Operationsremain the sole shared ownership path for operations deep links and back-navigation context? - Are
EnsureWorkspaceSelected,EnsureFilamentTenantSelected,TenantPageCategory, andResolvesPanelTenantContexttreated as one combined current-context seam rather than independent local tweaks? - Do
WorkspaceResourceandTenantResourceeither keep valid view/edit search destinations or get disabled from global search in the same slice? - Does the package keep Filament on Livewire v4, keep provider registration in
apps/platform/bootstrap/providers.php, and avoid new asset/deploy steps? - Do Specs
281through287remain explicitly deferred rather than silently absorbed?
Notes
- This prep package changes only planning artifacts under
specs/280-workspace-tenancy-environment-routing/. - No application implementation, tests, or runtime validation were executed while preparing the package.