feat(adapter): make parity-lit — contract + visual parity (WHYNOT-WP-0002 T08)
Render every <wn-*> in a real browser (Playwright, --no-sandbox; reuses an external static server when present) and write the adapter-contract parity result to adapters/lit/parity/_parity.json: - Contract parity: element must upgrade + carry no attribute-mismatch vs IR (computed statically via scaffold.componentDrift, avoiding runtime type-coercion false positives). prop-missing is a coverage note, not a failure. - Visual parity: render smoke (non-empty + positive box) + per-component screenshot artifact (gitignored). Pixel-exact regression stays with the Playwright baseline suite; IR exemplars are gallery cards, not single-component baselines, so they are the human reference, not an auto pixel gate. - Result: 10 components, contractFail=0 visualFail=0, PipelineStrip skipped (wn-pipeline-strip rename drift). Exit 4 on failure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
3
Makefile
3
Makefile
@@ -34,6 +34,9 @@ ir: ## Extract the technology-neutral IR (ir/) from the designbook mirror. One-w
|
||||
adapt-lit: ## Project the IR onto the Lit stack: regen tokens (full gen), scaffold + drift (T07).
|
||||
$(NODE) adapters/lit/adapt.mjs
|
||||
|
||||
parity-lit: ## Confirm Lit elements honour the IR contract + render (browser). Exit 4 on parity failure.
|
||||
$(NODE) adapters/lit/parity.mjs
|
||||
|
||||
recent-changes: ## Regenerate RecentChanges.md (alias of the reporter; --range supported).
|
||||
$(NODE) scripts/designbook-sync.mjs $(ARGS)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user