Test Lumen
Match evidence to unit, contract, integration, browser, chaos, security, and performance boundaries.
Outcome
Each completion claim is backed by a test at the real ownership boundary rather than a narrower proxy.
Prerequisites
Bootstrap the repository and start Docker. Identify the normal, failure, restart, duplicate, cross-workspace, cancellation, budget, secret, artifact, and recovery paths that apply to the change.
Steps
- Run the owning unit or contract test while iterating.
- Run integration tests against migrated PostgreSQL and real filesystem artifact bytes.
- Use deterministic providers for ordinary CI; gate live providers separately.
- Use Playwright only for actual browser behavior, including keyboard, accessibility, viewport, motion, console, network, and screenshot state.
- Run chaos and recovery tests at the process/provider boundary being claimed.
- Run
pnpm checkbefore integration.
The workbench browser gate compares deterministic light and dark screenshots with the committed
baselines in apps/web/visual-baselines. Regenerate them only after reviewing an intentional visual
change: run the gate once with --update-visual-baselines, inspect both PNGs, then rerun without the
flag so the comparison itself is the saved proof. A missing baseline or a difference above the
committed threshold fails the gate.
That gate drives the production artifact through loading, empty, success, retryable failures,
offline/reconnect, settings ambiguity and conflict, invalid deep links, command palette, contextual
inspector, Research activity sheet, and the structured @ reference composer. It checks keyboard
navigation and focus return, 44px coarse-pointer targets, 320px reflow, dark appearance, forced
colors, and reduced motion. The zoom case changes Chrome's actual default zoom to 200%, verifies the
resulting CSS layout viewport and responsive shell, then restores the browser setting; a device-scale
override is not accepted as zoom evidence. Every exercised state must have no unexpected console or
network errors and no automated accessibility violations.
Static presentation tests keep Hugeicons as the workbench's single general-purpose icon set and reject scale transforms in interface controls. Motion evidence checks the computed styles of panels, tooltips, the composer, disclosures, sheets, and navigator labels under reduced motion rather than assuming a media query is sufficient.
Verify
Inspect what each test asserts. A green command is insufficient if its fixtures never exercise the named requirement. Save exact commands, environment, results, and honest limits in execution evidence.
Recover
When a test fails, preserve the first failure, reproduce narrowly, and fix the owning path. Do not weaken a gate, skip the case, or declare a delegate's report to be proof.