TenantAtlas/specs/297-managed-environment-canonical-route-cutover/checklists/requirements.md
ahmido 3ec582a182 feat: retire legacy tenant route surfaces (#352)
## Summary
- retire legacy `/admin/t` and active `/admin/tenants` product surfaces in favor of canonical workspace-scoped managed-environment routes
- centralize runtime URL generation through `ManagedEnvironmentLinks` and update intended URL handling to reject legacy tenant paths
- remove dormant tenant panel runtime, rename test helpers to the admin environment context, and add guard coverage for route/helper regressions

## Validation
- targeted Feature guard, workspace, provider connection, required permissions, and Filament test lanes run under Sail
- browser smoke coverage run for provider connection and workspace RBAC environment access flows
- formatting and diff checks completed with Pint and `git diff --check`

## Notes
- Filament remains on v5 with Livewire v4
- provider registration stays in `apps/platform/bootstrap/providers.php`
- retired tenant resource global search is disabled and destructive action confirmation rules remain unchanged

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #352
2026-05-12 23:35:03 +00:00

52 lines
2.6 KiB
Markdown

# Requirements Checklist: Managed Environment Canonical Route Cutover
**Purpose**: Preparation readiness checklist for Spec 297.
**Created**: 2026-05-12
## Spec Readiness
- [x] Problem statement names the active legacy surfaces.
- [x] Goals distinguish product/route/UI/test truth from DB/model rename.
- [x] Non-goals explicitly forbid compatibility layer, DB rename, broad localization, Package Execution, Guided Operations, Microsoft provider refactor, and broad RBAC refactor.
- [x] Functional requirements cover TenantPanelProvider, `/admin/t`, `/admin/tenants`, canonical managed-environment links, intended URLs, required permissions, provider connections, helper rename, copy cleanup, guards, and RBAC.
- [x] Acceptance criteria define route, link, helper, intended URL, provider/permission, RBAC, and validation outcomes.
- [x] Final implementation output contract is included.
## Constitution / Governance
- [x] SPEC-GATE-001 candidate check is filled.
- [x] Proportionality review is filled for the possible link helper and spec-local audit artifact.
- [x] No new persisted truth is introduced.
- [x] Workspace isolation and managed-environment entitlement are explicit.
- [x] RBAC 404/403 semantics are explicit.
- [x] Provider boundary handling distinguishes platform route truth from Microsoft tenant ID terminology.
- [x] Test governance is explicit and bounded.
## Filament / Laravel
- [x] Filament v5 / Livewire v4 compliance is explicitly stated.
- [x] Provider registration location is `apps/platform/bootstrap/providers.php`.
- [x] Global search impact for retired resources is called out.
- [x] Destructive-action confirmation and server authorization expectations are preserved.
- [x] Asset strategy is unchanged unless implementation discovers otherwise.
- [x] Testing plan names Filament/Page/Action/Guard proof surfaces.
## Implementation Readiness
- [x] `spec.md` exists.
- [x] `plan.md` exists.
- [x] `tasks.md` exists.
- [x] `research.md` exists.
- [x] `data-model.md` exists and says no persistence changes are planned.
- [x] `quickstart.md` exists.
- [x] `legacy-surface-audit.md` exists with initial prep findings and refresh requirements.
- [x] Logical route/link contract exists.
- [x] Tasks are ordered, small, and verifiable.
## Open Items For Implementation
- [ ] Refresh `legacy-surface-audit.md` after branch/session setup.
- [ ] Determine whether an existing managed-environment link helper can be extended.
- [ ] Determine the exact TenantResource retirement mechanism.
- [ ] Determine whether any old `/admin/tenants...` URL has safe canonical resolution; default remains 404.