## 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
6.8 KiB
6.8 KiB
Specification Quality Checklist: Filament Workspace Tenancy & Environment Routing Cutover
Purpose: Validate package completeness, boundedness, and readiness before implementation
Created: 2026-05-07
Feature: spec.md
Content Quality
- The package stays on reserved slot
280and does not silently absorb Specs281-287. - The package remains product- and behavior-oriented instead of reading like a raw route diff.
- The plan is grounded in verified repo seams:
AdminPanelProvider,TenantPanelProvider,ChooseWorkspace,ChooseTenant,ManagedTenantsLanding,WorkspaceOverview,TenantDashboard,Monitoring\Operations,WorkspaceRedirectResolver, middleware, route classifiers, and shared navigation builders. - Workspace and managed-environment dashboards are explicitly reused rather than replaced.
- No compatibility routes, redirects, aliases, or dual-panel end state remain in scope.
Requirement Completeness
- No
[NEEDS CLARIFICATION]markers remain inspec.md,plan.md,research.md,data-model.md, orquickstart.md. - The package explicitly makes
Workspacethe only Filament tenant for operator routing. - The package explicitly removes
/admin/t/{environment}and/admin/tenants/{environment}/required-permissionsinstead of preserving them as compatibility surfaces. - The package explicitly removes
/admin/w/{workspace}/managed-tenantsand/admin/operationsplus/admin/operations/{run}instead of preserving them as compatibility surfaces. - The package aligns on the canonical workspace-first route family for workspace dashboard, environment chooser, environment dashboard, and operations hub.
- The package aligns on the workspace-scoped environment chooser as the canonical public environment-selection surface and does not preserve a second public chooser route.
- The package forces touched global-search surfaces to keep valid view/edit destinations or disable search in the same slice.
- Dependencies, assumptions, risks, and out-of-scope boundaries are explicit.
Repo Truth Anchoring
- The package reflects that
TenantPanelProvidercurrently usespath('admin/t')andtenant(ManagedEnvironment::class, slugAttribute: 'slug'). - The package reflects that
AdminPanelProvideralready owns/admin,ChooseWorkspace,ChooseTenant,WorkspaceOverview,TenantRequiredPermissions, and the current operations surface. - The package reflects that
ManagedTenantsLandingalready binds aWorkspaceand lists accessible managed environments. - The package reflects that
Monitoring\Operationsalready carriesmanaged_environment_idfilter state and navigation context, so the cutover reuses the page rather than replacing it. - The package reflects that current middleware and page categorization still special-case
/admin/tand/admin/tenants/{environment}. - The package reflects that
routes/web.phpstill exposes the old chooser and operations families that 280 must retire. - The package keeps provider registration in
apps/platform/bootstrap/providers.php.
Feature Readiness
- Filament v5 and Livewire v4 expectations remain explicit across the package.
- Provider registration location, global-search handling, destructive-action requirements, and asset strategy are explicit in the plan.
- Routing, chooser flow, breadcrumbs, current-context seams, operations-link semantics, and legacy-route removal are all covered.
- Provider extraction, artifact retargeting, RBAC redesign, copy neutralization, and quality-gate work remain explicitly deferred to Specs
281-287. - The package is implementation-ready without reopening Spec
279.
Artifact Alignment
research.mdrecords the same routing, chooser, operations, and search decisions reflected inplan.md.data-model.mdmodels the same workspace dashboard, environment chooser, environment dashboard, operations, and searchable-destination contracts reflected in the plan and contract.quickstart.mduses the same bounded reviewer flow and proof commands asplan.md.contracts/workspace-tenancy-environment-routing.logical.openapi.yamlmodels the canonical workspace-first GET routes and explicit 404 legacy removals.- Canonical proof commands match across
spec.md,plan.md, andquickstart.mdand cover routes, provider registration, and every retired public route family.
Test Governance
- Planned proof stays bounded to feature coverage, one browser smoke, and explicit grep/guard checks.
- No heavy-governance or broad browser family is introduced.
- Workspace-plus-managed-environment fixture/context cost is acknowledged instead of hidden.
- Reviewer handoff includes explicit minimal validation commands for route ownership, tenancy change, and legacy-route removal.
Notes
- Reviewed against
.specify/memory/constitution.md, the Filament v5 documentation results captured for panel configuration, global search, and page/resource testing,apps/platform/app/Providers/Filament/AdminPanelProvider.php,apps/platform/app/Providers/Filament/TenantPanelProvider.php,apps/platform/app/Filament/Pages/ChooseWorkspace.php,apps/platform/app/Filament/Pages/ChooseTenant.php,apps/platform/app/Filament/Pages/Workspaces/ManagedTenantsLanding.php,apps/platform/app/Filament/Pages/WorkspaceOverview.php,apps/platform/app/Filament/Pages/TenantDashboard.php,apps/platform/app/Filament/Pages/TenantRequiredPermissions.php,apps/platform/app/Filament/Pages/Monitoring/Operations.php,apps/platform/app/Filament/Concerns/ResolvesPanelTenantContext.php,apps/platform/app/Http/Middleware/EnsureWorkspaceSelected.php,apps/platform/app/Support/Middleware/EnsureFilamentTenantSelected.php,apps/platform/app/Support/Tenants/TenantPageCategory.php,apps/platform/app/Support/Workspaces/WorkspaceRedirectResolver.php,apps/platform/app/Support/OperationRunLinks.php,apps/platform/app/Support/Navigation/RelatedNavigationResolver.php,apps/platform/app/Filament/Resources/TenantResource.php,apps/platform/app/Filament/Resources/Workspaces/WorkspaceResource.php,apps/platform/routes/web.php, andapps/platform/bootstrap/providers.phpon 2026-05-07. - No application implementation was performed while preparing this package.
Review Outcome
- Outcome class:
implementation-ready - Workflow outcome:
keep - Test-governance outcome:
keep - Reason: The package closes the temporary
/admin/tshell using the existing workspace and environment surfaces, converges on one workspace-first route language, and leaves the deferred provider/artifact/RBAC/copy/quality-gate work explicitly to Specs281-287. - Workflow result: Ready for implementation planning or execution as the second reserved cutover slice.