# Lane Decisions: Full Suite Green Signal Restoration ## Purpose Document which tests remain in the default full suite, which belong to browser or heavy/workflow lanes, and which are obsolete or intentionally skipped. This file prevents "green by hiding failures". ## Default Decision Until proven otherwise, every existing test remains in the default/full-suite expectation. Moving, skipping, or removing a test requires a row in this file and validation that no true product/runtime bug is hidden. ## Lane Ownership Rules | Lane | Belongs here | Does not belong here | |---|---|---| | Default full suite | Unit/Feature tests that prove ordinary product behavior, route context, policy behavior, helper contracts, and non-browser Filament/Livewire actions. | Real browser layout, screenshot baseline, broad discovery-heavy governance scans, external-runtime-only checks. | | Fast-feedback | Narrow behavior tests with cheap fixtures and no broad surface/discovery/browser cost. | Browser, broad surface guard, workflow fan-out, large fixture graph, or screenshot work. | | Confidence | Product feature and bounded Livewire/Filament workflow coverage. | Discovery-heavy scans, browser-only behavior, and broad action-surface governance. | | Heavy/Workflow | Broad action-surface, relation-manager, discovery-heavy, governance-wide, or expensive workflow checks. | Narrow behavior tests that should stay cheap. | | Browser | Real browser smoke, DOM/layout/session continuity, screenshot baseline checks. | Feature tests that can assert server-rendered behavior without browser runtime. | | External/environment | Tests requiring unavailable external runtime or nondeterministic infrastructure. | Product bugs, stale expectations, ordinary local Sail behavior. | ## Decisions Table | Test file | Test name or group | Decision | Target lane | Reason | Product bug hidden? yes/no | Validation command | Status | |---|---|---|---|---|---|---|---| | All existing tests | Default initial posture | Keep | Default/full suite | Spec 296 starts from the premise that the raw suite should become green. | no | `cd apps/platform && ./vendor/bin/sail artisan test --compact` | prepared | | Browser failures from Spec 295 | Browser smoke/login/screenshot groups | Keep in browser lane; repair stale route/panel/copy expectations | Browser | Browser smoke tests remain the correct lane for real browser session/layout checks. No screenshot baseline was updated. | no | `./scripts/platform-test-lane browser` | green: 49 passed, 837 assertions | | Heavy-governance failures from Spec 295 | Operation/list/surface/summary-count groups | Keep in heavy-governance lane; repair stale route/panel/RBAC expectations | Heavy/Workflow | Heavy-governance remains the owner for broad action-surface, relation-manager, and workflow checks. No test was moved or skipped to hide a product bug. | no | `./scripts/platform-test-lane heavy-governance` | green: 340 passed, 2525 assertions | | Final raw-suite proof | Raw `artisan test --compact` after repairs | Not claimed as final green | Default/full suite | Initial raw output was too broad and long-running; the current bounded proof set is the configured lane split plus guard lanes. This is documented as a raw rerun gap, not a lane move or skip. | no | `./scripts/platform-test-lane fast-feedback`; `./scripts/platform-test-lane confidence`; `./scripts/platform-test-lane heavy-governance`; `./scripts/platform-test-lane browser`; guard commands | lane split green; raw rerun not executed | ## Skip Rules Skips are allowed only when all are true: - The test is not meaningful in default full suite. - The target lane is explicit and existing or added through a documented lane owner. - The skip message is concrete. - The row above says no product bug is hidden. - A focused or lane validation command proves the remaining suite signal is honest. Recommended skip message shape: ```php it('...', function (): void { // ... })->skip('Moved to browser lane: requires real browser layout baseline and screenshot evidence.'); ``` ## Obsolete-Test Rules An obsolete test may be removed only when: - It asserts retired behavior or duplicates a stronger current contract. - The current contract is covered by another named test. - The removal is listed in the table above. - The affected lane and full suite are re-run. ## Tests Deliberately Not Moved No tests were deliberately moved, skipped, deleted, or marked obsolete during this Spec 296 close-out. Browser and heavy-governance tests stayed in their existing lanes, and default/full-suite truth remains represented by the lane split plus guard evidence until the optional long raw rerun is executed.