## Summary - stabilize the active spec 293 post-cutover suite baseline around the current admin-panel and workspace-first runtime - align operations, provider, required-permissions, and action-surface expectations to canonical workspace-aware routes - add the monitoring operations workspace-membership guard and update the spec 293 classification artifacts - include the browser smoke screenshots captured during verification ## Validation - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/PanelNavigationSegregationTest.php tests/Feature/ManagedEnvironment/LegacyTenantCoreGuardTest.php` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/CanonicalViewRunLinksTest.php tests/Feature/OpsUx/OperateHubShellTest.php tests/Feature/OpsUx/FailureSanitizationTest.php tests/Feature/OpsUx/NonLeakageWorkspaceOperationsTest.php` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards/ActionSurfaceContractTest.php tests/Feature/ProviderConnections/NavigationPlacementTest.php tests/Feature/ProviderConnections/ProviderConnectionListAuthorizationTest.php tests/Feature/Verification/VerificationAuthorizationTest.php` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards/Spec288NoLegacyRouteAndHelperGuardTest.php tests/Feature/Guards/Spec288ProviderCoreAndRoleAuthorityGuardTest.php tests/Feature/Guards/AdminWorkspaceRoutesGuardTest.php tests/Feature/Guards/ProviderBoundaryPlatformCoreGuardTest.php tests/Feature/ProviderConnections/LegacyRedirectTest.php tests/Feature/ManagedEnvironment/LegacyTenantCoreGuardTest.php tests/Feature/Spec080WorkspaceManagedTenantAdminMigrationTest.php tests/Feature/Rbac/ProviderConnectionWorkspaceFirstPolicyTest.php tests/Feature/Filament/ManagedEnvironmentAccessScopeManagementTest.php tests/Feature/Guards/BrowserLaneIsolationTest.php tests/Feature/Guards/CiLaneFailureClassificationContractTest.php tests/Feature/Guards/CiHeavyBrowserWorkflowContractTest.php tests/Unit/Auth/NoRoleStringChecksTest.php` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Browser/Spec281ProviderConnectionScopeSmokeTest.php tests/Browser/Spec285WorkspaceRbacEnvironmentAccessSmokeTest.php` - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` ## Notes - remaining provider/verification failures are classified in `specs/293-post-cutover-suite-stabilization/failure-classification.md` as unrelated existing debt and are not folded into this slice Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #348
6.2 KiB
6.2 KiB
Research: Post-Cutover Suite Stabilization & Baseline Reconciliation
Pinned Failure-Classification Categories
293 uses exactly these spec-local categories:
cutover-baseline-debtcutover-runtime-regressionunrelated-existing-debtflaky-or-environmentresolved-or-not-needed
These categories are implementation-tracking vocabulary only. They do not become runtime product state.
Pinned Stabilization Seams
293 stabilizes exactly these seam families:
tenant_panel_baselinelegacy_admin_t_routesworkspace_aware_operations_routeslegacy_required_permissions_provider_connectionsaction_surface_rebaseline
Decision 1: Baseline and classification come before any fixes
- The package must start by running the initial full suite or the fallback lane split and recording the resulting groups in
failure-classification.md. - No test or runtime changes should land before those groups are classified.
- This keeps
293bounded to cutover-driven debt instead of silently becoming a general suite cleanup.
Decision 2: Retired TenantPanel and /admin/t/... assumptions are baseline debt, not compatibility gaps
- Treat lingering
panel: 'tenant', TenantPanel bootstrapping, and/admin/t/...management-path expectations as stale suite assumptions. - The fix path is to align tests to current admin-panel and workspace-aware runtime truth or explicitly assert retirement.
- Do not restore TenantPanel or
/admin/t/...compatibility behavior.
Decision 3: Workspace-aware operations links should reuse current canonical helpers
- The expected post-cutover baseline for operations routes is workspace-aware link generation.
- Prefer
OperationRunLinksand current shell helpers over raw route strings whenever repo truth already provides them. - If a current primary-path helper is actually broken, classify the issue as
cutover-runtime-regressionbefore considering any minimal runtime fix during later implementation.
Decision 4: Tenant-scoped required-permissions and provider-connection fallback URLs stay retired
- Tests must not treat tenant-scoped required-permissions URLs or tenant-scoped provider-connection URLs as current canonical runtime paths.
- The remediation path is to move expectations to the current canonical admin or workspace-aware route helpers.
- Reintroducing those fallbacks is forbidden.
Decision 5: Action-surface rebaseline stays bounded to cutover drift
ActionSurfaceContractTestand adjacent RBAC or Filament tests may be updated only where the expectation is stale because of workspace-first routing, managed-environment scope semantics, or TenantPanel removal.293must not add new actions, widen UX, or redesign surfaces merely to satisfy old tests.- When a mismatch is not actually caused by the cutover, reclassify it as
unrelated-existing-debtinstead of absorbing it.
Decision 6: Spec 288 proof pack and browser anchors remain non-negotiable regression guards
- The Spec
288proof pack stays the enforcement baseline that293must keep green. - The browser anchors
Spec281ProviderConnectionScopeSmokeTestandSpec285WorkspaceRbacEnvironmentAccessSmokeTestremain the visible continuity proof. 293can extend adjacent tests for stabilization, but it must not weaken or replace those proof surfaces.
Decision 7: Remaining debt must stay explicit
failure-classification.mdis the single implementation artifact for recording what remains after cutover stabilization work.- Each remaining group must stay categorized as
unrelated-existing-debt,flaky-or-environment, orresolved-or-not-neededwhen it is not owned by the stabilization slice. - Do not leave residual failures unclassified.
Rejected Alternatives
Rejected: split every failing group into separate micro-specs
That would scatter one cutover-stabilization thread across multiple tiny packages and keep the ownership boundary ambiguous.
Rejected: restore compatibility behavior to make tests green faster
That would directly violate the cutover direction established by Specs 287 and 288.
Rejected: absorb all remaining full-suite failures into 293
The package is meant to stabilize cutover-driven debt, not to become a permanent fix-all suite lane.
Rejected: redesign action surfaces while rebaselining tests
That would widen 293 from stabilization into product work.
Evidence Anchors
apps/platform/tests/Feature/Filament/PanelNavigationSegregationTest.phpapps/platform/tests/Feature/Guards/ActionSurfaceContractTest.phpapps/platform/tests/Feature/OpsUx/CanonicalViewRunLinksTest.phpapps/platform/tests/Feature/OpsUx/OperateHubShellTest.phpapps/platform/tests/Feature/OpsUx/FailureSanitizationTest.phpapps/platform/tests/Feature/OpsUx/NonLeakageWorkspaceOperationsTest.phpapps/platform/tests/Feature/OpsUx/TenantSyncBulkJobTest.phpapps/platform/tests/Feature/ProviderConnections/TenantlessListRouteTest.phpapps/platform/tests/Feature/ProviderConnections/TenantlessListScopingTest.phpapps/platform/tests/Feature/Verification/*apps/platform/tests/Feature/Rbac/BackupItemsRelationManagerUiEnforcementTest.phpapps/platform/tests/Feature/Rbac/ProviderConnectionWorkspaceFirstPolicyTest.phpapps/platform/tests/Feature/Filament/ManagedEnvironmentAccessScopeManagementTest.phpapps/platform/tests/Feature/ManagedEnvironment/LegacyTenantCoreGuardTest.phpapps/platform/tests/Browser/Spec281ProviderConnectionScopeSmokeTest.phpapps/platform/tests/Browser/Spec285WorkspaceRbacEnvironmentAccessSmokeTest.phpapps/platform/app/Support/OperationRunLinks.phpapps/platform/app/Support/OperateHub/OperateHubShell.phpapps/platform/app/Filament/Concerns/WorkspaceScopedTenantRoutes.phpapps/platform/app/Providers/Filament/AdminPanelProvider.phpapps/platform/app/Filament/Pages/TenantDashboard.phpapps/platform/app/Filament/Pages/TenantRequiredPermissions.phpapps/platform/app/Filament/Resources/TenantResource.php
Boundary Summary
293is a shared stabilization package, not a Package Execution or Guided Operations package.289remains untouched.292remains untouched.- The package keeps existing canonical runtime truth and only allows minimal runtime fixes later if a current primary path is proven broken.