TenantAtlas/specs/299-managed-environment-cutover-final-seal/checklists/requirements.md
ahmido b98bafcf86 feat: finalize managed environment cutover seal (#354)
## Summary
- replace the remaining workspace overview tenant-first copy with environment-first wording in the builder, Blade view, and focused feature assertions
- add the Spec 299 workspace overview browser smoke and the final cutover audit documenting fixed copy, clean runtime scans, and allowed internal/provider/regression-guard `Tenant` references
- add the Spec 299 spec package (`spec.md`, `plan.md`, `tasks.md`, checklist, audit) to close the managed-environment cutover with an explicit final seal decision

## Validation
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/WorkspaceOverviewContentTest.php tests/Feature/Filament/AdminHomeRedirectsToChooseTenantWhenWorkspaceSelectedTest.php tests/Feature/Filament/WorkspaceOverviewEmptyStatesTest.php`
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards/NoLegacyTenantPanelRuntimeTest.php tests/Feature/Guards/NoActiveTenantResourceRoutesTest.php tests/Feature/Guards/ManagedEnvironmentCanonicalRouteContractTest.php tests/Feature/Filament/PanelNavigationSegregationTest.php tests/Feature/Workspaces/WorkspaceIntendedUrlLegacyRejectionTest.php tests/Feature/ProviderConnections/LegacyRedirectTest.php tests/Feature/ManagedEnvironment/LegacyTenantCoreGuardTest.php tests/Feature/Spec080WorkspaceManagedTenantAdminMigrationTest.php tests/Feature/Filament/ManagedEnvironmentAccessScopeManagementTest.php tests/Feature/Rbac/ProviderConnectionWorkspaceFirstPolicyTest.php`
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards`
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Workspaces`
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/ProviderConnections`
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/RequiredPermissions`
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament`
- `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Browser/Spec299WorkspaceOverviewCutoverSealSmokeTest.php`
- `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent`
- `git diff --check`

## Notes
- Filament remains on Livewire v4.
- Provider registration remains in `apps/platform/bootstrap/providers.php`.
- No new panel provider or asset-strategy changes are included.
- Remaining technical `Tenant` references are documented in `specs/299-managed-environment-cutover-final-seal/final-cutover-audit.md`.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #354
2026-05-13 20:33:30 +00:00

4.8 KiB

Requirements Checklist: Managed Environment Cutover Final Seal & Regression Guard Pack

Purpose: Validate that Spec 299 is bounded, implementation-ready, and constitution-aligned as the final managed-environment cutover seal.
Created: 2026-05-13
Feature: spec.md

Applicability And Final-Seal Gate

  • CHK001 The change explicitly affects operator-facing navigation/copy plus route/helper/test/audit guardrails.
  • CHK002 The spec, plan, and tasks carry the same closure-only scope and do not reopen a new feature lane.
  • CHK003 The dependency/start-condition boundary is explicit: Spec 298 must be committed/merged or cleanly isolated before 299 runtime work begins.

Native, Shared-Family, And State Ownership

  • CHK004 The scope keeps existing Laravel/Filament/Blade surfaces and does not introduce a new custom UI system.
  • CHK005 Route ownership, intended URL handling, navigation registration, workspace overview copy, and audit/allowlist tracking are named as separate state layers.
  • CHK006 Existing action hierarchy and inspect/open models remain unchanged unless a touched route or label needs a cutover fix.

Shared Pattern Reuse

  • CHK007 The cross-cutting interaction classes are explicit: canonical links, intended URLs, navigation registration, workspace summary copy, guard tests, and browser anchors.
  • CHK008 The existing shared paths are named: ManagedEnvironmentLinks, WorkspaceIntendedUrl, WorkspaceRedirectResolver, OperationRunLinks, setAdminEnvironmentContext(), and current route-scope navigation owners.
  • CHK009 No parallel navigation, terminology, or cutover framework is introduced.

OperationRun Start UX Contract

  • CHK010 The spec states that no new OperationRun start/completion behavior is introduced.
  • CHK011 Existing workspace operations link ownership remains shared and canonical if touched.
  • CHK012 No queued DB notification or terminal notification policy changes are planned.

Provider Boundary And Vocabulary

  • CHK013 Provider-owned terms such as Microsoft tenant ID, Entra tenant ID, and target tenant scope are allowed only when the external provider is the subject.
  • CHK014 Generic platform/operator vocabulary is required to stay workspace/environment-first.

Signals, Exceptions, And Test Depth

  • CHK015 Repository signals are classified as review-mandatory: final scans, navigation proof, helper retirement, browser selector changes, and allowlist decisions.
  • CHK016 Every remaining Tenant reference must be documented in final-cutover-audit.md with an explicit category.
  • CHK017 Required surface test profiles are explicit: standard-native-filament, global-context-shell, and targeted browser-smoke only when touched.
  • CHK018 The chosen test lanes are focused and do not require a raw full-suite repair loop.

Audience-Aware Disclosure And Decision Hierarchy

  • CHK019 Workspace routes keep default-visible content workspace-first while environment drill-down stays explicit and secondary.
  • CHK020 Canonical environment routes remain the place where environment-owned navigation and diagnostics appear.
  • CHK021 The spec adds no new primary actions; it only seals current scope truth and touched copy.
  • CHK022 Duplicate or contradictory workspace/environment/tenant wording is treated as drift to fix or document.

Filament v5 Contract

  • CHK023 Filament v5 / Livewire v4.0+ compliance is explicit.
  • CHK024 Laravel 12 panel provider registration remains in apps/platform/bootstrap/providers.php.
  • CHK025 Globally searchable resource handling is called out for any remaining technical TenantResource use.
  • CHK026 Destructive actions that are touched must retain ->action(...), ->requiresConfirmation(), and authorization.
  • CHK027 Asset strategy is unchanged unless implementation unexpectedly registers assets, in which case filament:assets is required in deployment notes.
  • CHK028 The testing plan names affected guard tests, navigation tests, workspaces tests, provider/required-permissions lanes, Filament lane, and browser anchors.

Review Outcome

  • CHK029 Review outcome class: documentation-required-exception.
  • CHK030 Workflow outcome: keep.
  • CHK031 Final note location: active feature PR close-out entry Guardrail / Final Cutover Seal / Smoke Coverage.

Notes

  • This is the final cutover seal package, not a new runtime feature spec.
  • Remaining provider/internal/historical/guard-only Tenant references are allowed only when categorized in final-cutover-audit.md.
  • The only explicit exception is the start-condition dependency on Spec 298 landing or clean isolation.