## 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
4.8 KiB
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
OperationRunstart/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
Tenantreference must be documented infinal-cutover-audit.mdwith an explicit category. - CHK017 Required surface test profiles are explicit:
standard-native-filament,global-context-shell, and targetedbrowser-smokeonly 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
TenantResourceuse. - 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:assetsis 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
Tenantreferences are allowed only when categorized infinal-cutover-audit.md. - The only explicit exception is the start-condition dependency on Spec 298 landing or clean isolation.