TenantAtlas/specs/280-workspace-tenancy-environment-routing/checklists/requirements.md
Ahmed Darrazi 40a33cdc15
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m35s
spec: prepare workspace tenancy environment routing cutover
2026-05-07 12:12:39 +02:00

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 280 and does not silently absorb Specs 281-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 in spec.md, plan.md, research.md, data-model.md, or quickstart.md.
  • The package explicitly makes Workspace the only Filament tenant for operator routing.
  • The package explicitly removes /admin/t/{environment} and /admin/tenants/{environment}/required-permissions instead of preserving them as compatibility surfaces.
  • The package explicitly removes /admin/w/{workspace}/managed-tenants and /admin/operations plus /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 TenantPanelProvider currently uses path('admin/t') and tenant(ManagedEnvironment::class, slugAttribute: 'slug').
  • The package reflects that AdminPanelProvider already owns /admin, ChooseWorkspace, ChooseTenant, WorkspaceOverview, TenantRequiredPermissions, and the current operations surface.
  • The package reflects that ManagedTenantsLanding already binds a Workspace and lists accessible managed environments.
  • The package reflects that Monitoring\Operations already carries managed_environment_id filter 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/t and /admin/tenants/{environment}.
  • The package reflects that routes/web.php still 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.md records the same routing, chooser, operations, and search decisions reflected in plan.md.
  • data-model.md models the same workspace dashboard, environment chooser, environment dashboard, operations, and searchable-destination contracts reflected in the plan and contract.
  • quickstart.md uses the same bounded reviewer flow and proof commands as plan.md.
  • contracts/workspace-tenancy-environment-routing.logical.openapi.yaml models the canonical workspace-first GET routes and explicit 404 legacy removals.
  • Canonical proof commands match across spec.md, plan.md, and quickstart.md and 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, and apps/platform/bootstrap/providers.php on 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/t shell 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 Specs 281-287.
  • Workflow result: Ready for implementation planning or execution as the second reserved cutover slice.