## Summary - restore broad full-suite green-signal coverage across platform governance, operations, onboarding, dashboard/productization, and customer review flows - align related platform tests and supporting behavior with the current expected state for this restoration pass - update the spec-candidates queue as part of the same suite-restoration sweep ## Validation - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Browser/Dashboard/TenantDashboardProductizationSmokeTest.php tests/Browser/Reviews/CustomerReviewWorkspaceSmokeTest.php tests/Browser/Spec194GovernanceFrictionSmokeTest.php tests/Browser/Spec265DecisionRegisterSmokeTest.php` Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #351
24 KiB
24 KiB
Failure Inventory: Full Suite Green Signal Restoration
Purpose
Track every observed red group during Spec 296 implementation. This artifact is spec-local workflow evidence only; it is not application runtime truth.
Baseline Required Commands
Primary:
cd apps/platform
./vendor/bin/sail artisan test --compact
Fallback lanes when raw output is too broad or truncated:
./scripts/platform-test-lane fast-feedback
./scripts/platform-test-lane confidence
./scripts/platform-test-lane heavy-governance
./scripts/platform-test-lane browser
Pinned Classifications
stale-test-expectationmissing-fixtureroute-context-driftpanel-context-driftrbac-contract-driftprovider-boundary-driftbrowser-lane-drifttrue-runtime-bugobsolete-testwrong-laneenvironment/flakyfixed
Fix Types
test-rebaselinefixture-repairroute-parameter-repairpanel-context-repairrbac-assertion-repairprovider-fixture-or-contract-repairbrowser-expectation-repairsmall-runtime-fixlane-moveskip-with-reasonobsolete-removalno-fix-needed
Inventory Table
Current Spec 296 Safety Gate
- Branch:
296-full-suite-green-signal-restoration - Initial
git status --short: only untracked active spec directory?? specs/296-full-suite-green-signal-restoration/ - Initial
git diff --stat: empty - Baseline commit noted before implementation:
eca92364 Merge remote-tracking branch 'origin/platform-dev' into platform-dev - Scope decision: the untracked files are spec-local preparation artifacts for the active branch; no unrelated uncommitted application/runtime changes were present.
Final Spec 296 Validation Status
- Raw full-suite final rerun: not executed after repairs. The first raw baseline remains recorded below as the original red signal (
450 failed, 8 skipped, 4195 passed) and was too broad/long-running to use as the final bounded loop proof in this continuation. - Fast-feedback lane: green,
1828 passed,12517 assertions,230.90scommand duration,240.33slane wall clock, CI outcomepassed / informational. - Confidence lane: green,
4265 passed,8 skipped,28030 assertions,1591.67scommand duration,1613.02slane wall clock, CI outcomepassed / informational. - Heavy-governance lane: green,
340 passed,2525 assertions,321.82scommand duration,322.13slane wall clock, CI outcomepassed / informational. - Browser lane: green,
49 passed,837 assertions,258.63scommand duration,259.05slane wall clock, CI outcomepassed / informational. - Spec 288 guard lane: green,
50 passed,2055 assertions,18.23s. - Spec 293 cutover lane: green,
127 passed,908 assertions,61.82s. - Spec 294 ProviderConnections/Verification lane: green,
109 passed,782 assertions,56.74s. - Focused confidence-failure regression set: green,
262 passed,1530 assertions,222.07s. - Focused remaining cluster set: green,
86 passed,490 assertions,52.27s. - Focused four-failure rerun: green,
4 passed,22 assertions,4.39s. - Final classification: no current in-scope lane red group remains. The only unresolved proof item is the optional long raw-suite rerun, which is documented as not executed rather than claimed green.
Historic baseline rows below are preserved as first-observed failure evidence. Their "current baseline" wording reflects the time each row was recorded, not the final Spec 296 lane state.
| Test file | Test name | Failure summary | First observed command | Owner area | Classification | Fix type | Fixed now? yes/no | Follow-up required? yes/no | Validation command | Final status |
|---|---|---|---|---|---|---|---|---|---|---|
| Final lane split | fast-feedback | Final lane split passed after route, panel context, RBAC, provider fixture, and browser/test expectation repairs. | ./scripts/platform-test-lane fast-feedback |
fast-feedback lane | fixed |
no-fix-needed |
yes | no | ./scripts/platform-test-lane fast-feedback |
green: 1828 passed, 12517 assertions |
| Final lane split | confidence | Final confidence lane passed after focused cluster repairs and regression reruns. | ./scripts/platform-test-lane confidence |
confidence lane | fixed |
no-fix-needed |
yes | no | ./scripts/platform-test-lane confidence |
green: 4265 passed, 8 skipped, 28030 assertions |
| Final lane split | heavy-governance | Final heavy-governance lane passed and remained within the current 325s budget. | ./scripts/platform-test-lane heavy-governance |
heavy-governance lane | fixed |
no-fix-needed |
yes | no | ./scripts/platform-test-lane heavy-governance |
green: 340 passed, 2525 assertions |
| Final lane split | browser | Final browser lane passed. Screenshot deletions generated by the run were restored and are not committed. | ./scripts/platform-test-lane browser |
browser lane | fixed |
no-fix-needed |
yes | no | ./scripts/platform-test-lane browser; git status --short -- apps/platform/tests/Browser/Screenshots |
green: 49 passed, 837 assertions; screenshot directory clean |
| Final guard lane | Spec 288 | Cutover/provider/browser-lane/no-role-string guard stayed green. | Spec 288 guard command from spec.md |
guard lane | fixed |
no-fix-needed |
yes | no | Spec 288 guard command from spec.md |
green: 50 passed, 2055 assertions |
| Final guard lane | Spec 293 | Cutover regression lane stayed green without restoring TenantPanelProvider or retired route compatibility. | Spec 293 command from spec.md |
guard lane | fixed |
no-fix-needed |
yes | no | Spec 293 command from spec.md |
green: 127 passed, 908 assertions |
| Final guard lane | ProviderConnections/Verification | Provider and verification semantics stayed green. | ./vendor/bin/sail artisan test --compact tests/Feature/ProviderConnections tests/Feature/Verification |
guard lane | fixed |
no-fix-needed |
yes | no | ./vendor/bin/sail artisan test --compact tests/Feature/ProviderConnections tests/Feature/Verification |
green: 109 passed, 782 assertions |
| Final raw suite | raw full-suite rerun | Not rerun after repairs. The active proof set is the lane split plus guard commands above; do not claim raw-suite green from this artifact. | N/A after repairs | suite governance | fixed |
no-fix-needed for lane split; raw rerun remains optional long proof |
no | yes | cd apps/platform && ./vendor/bin/sail artisan test --compact |
not run final; lane split green |
| Raw full suite | Spec 296 current baseline | Current raw suite is red: 450 failed, 8 skipped, 4195 passed, 28838 assertions, 4727.04s. Tool output was too broad/truncated (10285 output lines), so lane splits are required before repair. Visible groups include capability/RBAC unit drift, provider-boundary drift, workspace operation route parameters, Filament panel context errors, browser smoke login failures, and stale /admin/t/... expectation. |
cd apps/platform && ./vendor/bin/sail artisan test --compact |
suite governance | route-context-drift |
no-fix-needed until lane split classification |
no | yes | ./scripts/platform-test-lane fast-feedback; ./scripts/platform-test-lane confidence; ./scripts/platform-test-lane heavy-governance; ./scripts/platform-test-lane browser |
current baseline recorded; fallback lane splits required |
| Lane split | fast-feedback current baseline | Current fast-feedback lane is red: 82 failed, 1744 passed, 12158 assertions, 220.89s. Visible groups include missing workspace parameter for admin.operations.view, Filament hasTenancy() with null panel from WorkspaceScopedTenantRoutes, /admin/operations 404 against stale route expectations, Livewire dashboard drillthrough query-state drift, onboarding/session deny-as-not-found drift, provider boundary status drift, tenant page category drift, and UI enforcement bulk authorization drift. Output was broad enough that JUnit/report artifacts should be used for exact per-file follow-up before repair. |
./scripts/platform-test-lane fast-feedback |
fast-feedback lane | route-context-drift |
no-fix-needed until all lane baselines complete |
no | yes | Focused reproductions after confidence/heavy/browser baselines are recorded | current lane baseline recorded |
| Lane split | confidence current baseline | Current confidence lane is red: 409 failed, 8 skipped, 3854 passed, 26001 assertions, command duration 659.75s; lane artifact wall clock 677.29s and reports failed / blocking with budget warning. Visible groups include stale/non-member 404 vs 200 authorization expectations, many Filament hasTenancy() null-panel errors, missing workspace parameters for admin.operations.*, retired backup-schedule/resource route names, table bulk-action helper null instances, stale filament.tenant.* resource route expectations, workspace overview copy/query-state drift, provider operation result drift, and dashboard/detail continuity assertion drift. |
./scripts/platform-test-lane confidence |
confidence lane | panel-context-drift |
no-fix-needed until all lane baselines complete |
no | yes | Focused reproductions after heavy/browser baselines are recorded | current lane baseline recorded |
| Lane split | heavy-governance current baseline | Current heavy-governance lane is red: 21 failed, 319 passed, 2443 assertions, command duration 319.88s; lane artifact wall clock 320.35s and reports failed / blocking within the 325s budget. Failure groups are concentrated in workspace-aware operation route generation (admin.operations.index and admin.operations.view missing workspace) across Spec 078/144 operation detail/list tests, one canonical deep-link mismatch copy assertion, one Filament hasTenancy() null-panel error in ActivityFeedbackSurfaceTest, one tenant sync summary-count assertion (succeeded null vs 1), and one BackupItems relation-manager UI action visibility assertion. |
./scripts/platform-test-lane heavy-governance |
heavy-governance lane | route-context-drift |
no-fix-needed until browser baseline and grouped classification complete |
no | yes | Focused operations, panel-context, summary-count, and relation-manager tests after browser baseline is recorded | current lane baseline recorded |
| Lane split | browser current baseline | Current browser lane is red: 20 failed, 29 passed, 417 assertions, command duration 293.75s; lane artifact wall clock 294.26s and reports failed / blocking with budget warning. Failure groups include smoke-login pages not showing Dashboard, workspace-aware admin.operations.index/view route generation missing workspace, Filament hasTenancy() null-panel URL generation, stale /admin/t/spec-279-production path expectation after managed-environment cutover, tenant dashboard visual spacing assertion drift, and tenant memberships copy/action drift. Ten tracked browser screenshots are dirty and copied to /tmp/tenantpilot-296-browser-evidence/browser-lane-current/ as evidence-only. |
./scripts/platform-test-lane browser |
browser lane | browser-lane-drift |
no-fix-needed until grouped classification complete |
no | yes | Browser focused files after route/panel/copy repairs; git status --short apps/platform/tests/Browser/Screenshots before screenshot cleanup |
current lane baseline recorded |
| Root cause group | Workspace operations route context | Duplicate failures across fast-feedback, confidence, heavy-governance, and browser generate admin.operations.index or admin.operations.view without the required workspace route parameter, or still request retired /admin/operations URLs as current 200 surfaces. Representative files include OperatorExplanationSurfaceAuthorizationTest, ReasonTranslationScopeSafetyTest, OperationsCanonicalUrlsTest, Spec 078/144 operation tests, and browser monitoring smoke tests. |
Lane artifacts: *-latest.junit.xml |
OperationRun links and operations routes | route-context-drift |
route-parameter-repair |
no | yes | Focused operation URL tests, Spec 293 cutover lane, then affected lane rerun | grouped current root cause |
| Root cause group | Filament admin panel/resource URL context | Repeated failures call Filament Resource::getUrl() or Page::getUrl() without a current/admin panel and hit hasTenancy() on null; related table/action/form helpers also mount against null component state. Representative files include Findings authorization surfaces, Evidence snapshots, Backup/Restore bulk actions, Restore wizard tests, and browser Spec 174/177/192/198/277. |
Lane artifacts: *-latest.junit.xml |
Filament v5 admin panel URL generation and Livewire test setup | panel-context-drift |
panel-context-repair |
no | yes | Focused Filament tests, affected confidence/browser lane | grouped current root cause |
| Root cause group | Retired Filament route names | Confidence failures still expect removed filament.tenant.* resource routes or missing filament.admin.resources.backup-schedules.index; these must be rebaselined to current admin/workspace-first route truth without restoring TenantPanelProvider. |
./scripts/platform-test-lane confidence |
Filament cutover tests | stale-test-expectation |
test-rebaseline |
no | yes | Focused files, Spec 293 cutover lane | grouped current root cause |
| Root cause group | Legacy /admin/t/... path expectations |
Confidence and browser failures still expect /admin/t/{tenant} after managed-environment cutover while the current path is /admin/workspaces/{workspace}/environments/{environment}. |
Confidence and browser lane artifacts | Tenant cutover tests | stale-test-expectation |
test-rebaseline |
no | yes | Focused managed-environment and workspace overview tests, Spec 293 cutover lane | grouped current root cause |
| Root cause group | RBAC and deny-as-not-found status semantics | Fast-feedback/confidence failures show stale or unverified hidden/disabled/403/404/redirect semantics: expected 404/403 receiving 200, expected 404 receiving 302, capability/unit preflight booleans, tenant onboarding access, support handoff denial, and relation-manager action visibility. Owner policies/pages/actions must be read before deciding stale test vs runtime bug. | Fast-feedback/confidence/heavy-governance lane artifacts | RBAC, policies, action surfaces | rbac-contract-drift |
rbac-assertion-repair |
no | yes | Focused RBAC/action files and Spec 288 guard lane after any RBAC repair | grouped current root cause |
| Root cause group | Provider boundary and provider-operation start semantics | Fast-feedback/confidence unit and feature failures show provider boundary classification drift, review_required vs blocked, and provider-backed operations not dispatching expected jobs. This includes ProviderBoundaryClassificationTest, ProviderBoundaryGuardrailTest, ProviderOperationStartGateTest, onboarding provider start, and role definition sync. |
Fast-feedback/confidence lane artifacts | Provider boundary and operation start services | provider-boundary-drift |
provider-fixture-or-contract-repair |
no | yes | ProviderConnections/Verification lane and focused provider unit tests | grouped current root cause |
| Root cause group | Browser smoke-login and UI copy/layout drift | Browser lane failures expect Dashboard after smoke-login, assert tenant dashboard spacing/copy, or expect Manage memberships on the tenant page. Screenshots are evidence-only while the lane is red. |
./scripts/platform-test-lane browser |
Browser smoke tests and UI copy/layout expectations | browser-lane-drift |
browser-expectation-repair |
no | yes | Focused browser tests and browser lane after route/panel repairs | grouped current root cause |
| Root cause group | Operation link helper and navigation contract drift | Fast-feedback/confidence failures show OperationRunLinkContractGuard, RelatedNavigationResolverTest, governance inbox links, and dashboard drill-through query-state expectations still asserting pre-workspace or pre-canonicalized URL/query semantics. |
Fast-feedback/confidence lane artifacts | OperationRunLinks and navigation helpers | route-context-drift |
route-parameter-repair |
no | yes | Focused OperationRunLinks/navigation tests and Spec 293 lane | grouped current root cause |
| Root cause group | Unit fixture missing workspace tables | RequiredPermissionsLinksTest is a unit-context failure against workspaces table access while using in-memory SQLite without the needed schema/fixture. |
Fast-feedback/confidence lane artifacts | Required permissions link unit fixtures | missing-fixture |
fixture-repair |
no | yes | Focused tests/Unit/RequiredPermissionsLinksTest.php |
grouped current root cause |
| Root cause group | Summary and literal-count assertions | Confidence/heavy-governance show literal count drift in baseline compare query budget and tenant sync summary counts. The query budget likely needs a stable contract assertion; the tenant sync summary count must be owner-read before deciding stale assertion vs runtime counter bug. | Confidence/heavy-governance lane artifacts | Baseline performance guard and OpsUx summary counts | stale-test-expectation |
test-rebaseline |
no | yes | Focused baseline performance and tenant sync tests | grouped current root cause |
| Root cause group | Tenant membership and managed-environment role lifecycle drift | Confidence failures include last-owner guard copy/exception drift, membership audit setup exceptions, tenant diagnostics/route access 404s, and bootstrap snapshot drift. These sit under access-scope semantics and must not weaken least-privilege behavior. | ./scripts/platform-test-lane confidence |
Tenant RBAC and managed-environment memberships | rbac-contract-drift |
rbac-assertion-repair |
no | yes | Focused TenantRBAC files and Spec 288 guard lane | grouped current root cause |
| Guard lane | Spec 288 guard command | Current Spec 288 guard lane is green: 50 passed, 2055 assertions, 26.86s. No guard failures were added before broader repairs. | Spec 288 guard command from spec.md |
workspace route, provider boundary, browser lane isolation, CI lane classification, no raw role strings | fixed |
no-fix-needed |
yes | no | Re-run after any RBAC/provider/route repair that touches guard ownership | green before broader repair |
| Guard lane | Spec 293 cutover regression command | Current Spec 293 cutover regression lane is green: 127 passed, 908 assertions, 72.56s. No cutover guard failures were added before broader repairs. | Spec 293 cutover command from spec.md |
cutover navigation, no legacy tenant panel route restoration, operations links, provider connection navigation | fixed |
no-fix-needed |
yes | no | Re-run after any cutover/route/panel repair that touches guard ownership | green before broader repair |
| Guard lane | Spec 294 ProviderConnections/Verification command | Current ProviderConnections/Verification lane is green: 109 passed, 782 assertions, 64.87s. No provider guard failures were added before broader repairs. | cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/ProviderConnections tests/Feature/Verification |
provider connection and verification semantics | fixed |
no-fix-needed |
yes | no | Re-run after any provider-boundary or verification repair | green before broader repair |
| Raw full suite | Baseline | Spec 295 observed raw suite red: 450 failed, 8 skipped, 4194 passed, 28831 assertions, 4686.08s. Spec 296 must re-run current baseline before fixing. | cd apps/platform && ./vendor/bin/sail artisan test --compact |
suite governance | route-context-drift |
no-fix-needed until current baseline rerun |
no | yes | Re-run raw full suite during implementation | Seed from Spec 295; awaiting Spec 296 baseline |
| Lane split | fast-feedback | Spec 295 observed fast-feedback red with route context, panel context, authorization, RBAC/action, provider boundary, and monitoring/required-permissions failures. | ./scripts/platform-test-lane fast-feedback |
fast-feedback lane | route-context-drift |
no-fix-needed until current baseline rerun |
no | yes | Re-run fast-feedback if raw output is not classifiable | Seed from Spec 295 |
| Lane split | confidence | Spec 295 observed confidence red with route context, panel context, resource route, action helper, 404/403, and legacy URL drift. | ./scripts/platform-test-lane confidence |
confidence lane | panel-context-drift |
no-fix-needed until current baseline rerun |
no | yes | Re-run confidence if raw output is not classifiable | Seed from Spec 295 |
| Lane split | heavy-governance | Spec 295 observed heavy-governance red with operation route parameters, panel context, tenant sync summary count, and RBAC relation-manager UI drift. | ./scripts/platform-test-lane heavy-governance |
heavy-governance lane | route-context-drift |
no-fix-needed until current baseline rerun |
no | yes | ./scripts/platform-test-lane heavy-governance |
Seed from Spec 295 |
| Lane split | browser | Spec 295 observed browser red with smoke login, workspace operation route, Filament panel context, dashboard layout, old /admin/t/..., and tenant membership copy/action failures. |
./scripts/platform-test-lane browser |
browser lane | browser-lane-drift |
no-fix-needed until current baseline rerun |
no | yes | ./scripts/platform-test-lane browser if browser files change |
Seed from Spec 295 |
| Guard group | Legacy cutover route expectations | Known old /admin/t/..., TenantPanel, and /admin/operations assumptions must be re-checked and repaired without restoring runtime compatibility. |
Spec 295 lane outputs | cutover tests | stale-test-expectation |
test-rebaseline |
no | yes | Spec 293 cutover lane | Seed root-cause group |
| Guard group | Workspace operation URL drift | Missing required workspace parameter for admin.operations.index or admin.operations.view. |
Spec 295 raw/lane outputs | OperationRun links and operation page tests | route-context-drift |
route-parameter-repair |
no | yes | Focused OpsUx tests, Spec 293 lane, raw suite | Seed root-cause group |
| Guard group | Filament panel context drift | Resource::getUrl() or page rendering without current admin panel, including null hasTenancy() errors. |
Spec 295 raw/lane outputs | Filament tests/resources | panel-context-drift |
panel-context-repair |
no | yes | Focused Filament files and affected lane | Seed root-cause group |
| Guard group | RBAC/action assertion drift | Hidden/disabled/403/404/action absent expectations may be stale or may reveal security bugs. | Spec 295 raw/lane outputs | Policies, resources, relation managers, action tests | rbac-contract-drift |
rbac-assertion-repair |
no | yes | Focused RBAC/action files and Spec 288 lane | Seed root-cause group |
| Guard group | Provider boundary residuals | provider.capability_registry, review_required vs blocked, dispatch count, and provider operation semantics need current proof. |
Spec 295 raw/fast-feedback outputs | ProviderConnections and Verification | provider-boundary-drift |
provider-fixture-or-contract-repair |
no | yes | cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/ProviderConnections tests/Feature/Verification |
Seed root-cause group |
| Guard group | Browser screenshot/copy/path drift | Browser tests may generate evidence screenshots and stale path/copy failures. | Spec 295 browser output | browser lane | browser-lane-drift |
browser-expectation-repair |
no | yes | ./scripts/platform-test-lane browser |
Seed root-cause group |
Implementation Notes
- Add current Spec 296 baseline rows above or below the seed rows.
- Current raw full-suite output was too broad/truncated in the tool result; use lane split rows as the authoritative repair inventory before touching tests/runtime.
- When a group is fixed, update
Classificationtofixedonly if the validation command proves it. - Do not delete seed rows; mark them superseded by current baseline rows if current output changes.
- Every changed file must also appear in
fix-log.md.