E2E tests (Playwright, Cypress) assert scenarios you code after the fact. /lamina-verify walks the live build as personas against the resolved graph knowledge and surfaces gaps in product findings.
You want to know when to verify with Lamina vs encode invariants in Playwright.
E2E tests pass on happy path but edge gates were never scenarios.
AI agent shipped UI before you wrote test files.
Context
Testing and verification are adjacent. Developers hear verify and think QA replacement. Lamina verify is contract-driven exploration on the live build during development. E2E is assertion-driven regression in CI. Anti-testing framing would mislead; this page clarifies sequencing.
Common situations
Concrete cases from AI-shipping workflows. Each shows what the alternative handles and where validated graph knowledge and verification evidence help.
First implementation of partner onboarding
Situation
No Playwright tests yet. Agent finished UI. You need to know if submit gate works before investing in test authoring.
What E2E tests does
You would manually click-test or write E2E from scratch based on assumptions.
What Lamina adds
/lamina-verify walks partner persona against GraphVersion, outputs product findings for agent.
Takeaway
Verify before you codify scenarios.
Stable checkout, CI regression suite exists
Situation
Playwright covers hold expiry and email gate. Feature unchanged except copy tweak.
What E2E tests does
Run existing E2E in CI.
What Lamina adds
Optional re-verify if contract changed; otherwise tests suffice.
Takeaway
Mature E2E reduces need for repeat verify.
E2E happy path only
Situation
Tests cover login and booking success. Pay-before-verify bug ships because no scenario asserted it.
Independent Persona Missions with runtime evidence
Repo and stack fit
Any project with test runner
CLI plus portable skills in any repo and stack
Best when
Locked behavior, CI regression
Discovering gaps after AI implementation
When you don't need Lamina
Comprehensive E2E already covers feature
You only need regression CI
Compose with Lamina?
Encode invariants after behavior settles
Verify first → fix → then Playwright
Workflow
Lamina vs E2E tests: recommended workflow
Step
E2E tests
Lamina
1
N/A until behavior exists
/lamina-design
2
N/A
Implement from GraphVersion projection
3
Draft test scenarios
/lamina-verify → product findings
4
Playwright in CI
Re-verify if contract changes
When to use which
Lamina vs E2E tests: when to use each
Situation
E2E tests
Lamina
New AI-built feature, no tests
Manual QA or write tests blind
Verify against contract
Regression on stable feature
E2E in CI
Optional
Contract changed
Update tests
Re-verify before updating tests
Worked example
Inventory hold with countdown. Playwright could assert hold expiry if you wrote the scenario. Lamina verify found pay-before-verify from the contract before tests existed. Teams then encoded the invariant in CI.
No. It finds behavior gaps early. Encode stable invariants in Playwright after behavior settles.
Verify uses personas, not selectors. How is that different?
independent Persona Missions follow product rules from GraphVersion. E2E asserts DOM and URLs you coded. Complementary.
Can verify run in CI?
Primary value is during development on staging. E2E remains the CI regression layer.
Comparisons map stack layers, durable outputs, and provenance-marked legacy examples. Updated when major tools change positioning.
More comparisons
Install Lamina with your agent.
Copy the repository-matched prompt. Your agent installs the standalone CLI, adds every Lamina skill for your active agent, configures supported passive rules, checks the setup, and tells you when to start a fresh session with /lamina-init.
Skills work across coding agents. Passive setup currently supports Codex, Claude Code, and Cursor.
Cursor
Claude Code
Codex
Gemini
Pi
and more
Install manually on macOS/Linux4 shell commands
Run these in your project, then start a fresh agent session. On Windows, use the PowerShell installer in the copied agent prompt.
curl -fsSL https://github.com/aryaniyaps/lamina/releases/latest/download/install.sh | sh
npx skills add aryaniyaps/lamina --skill '*' -a <active-agent> -y