@decocms/parity 0.11.2 → 0.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/).
7
7
 
8
+ ## [0.11.3](https://github.com/decocms/parity/compare/v0.11.2...v0.11.3) (2026-06-17)
9
+
10
+ ### Fixed
11
+
12
+ * **`productCard` defaults now match Deco TanStack PLPs (#102).** Live testing against `bagaggio-tanstack.deco-cx.workers.dev` showed every purchase-journey aborting at step 3 (`enter-pdp` → "no product card found, recovery exhausted"). Root cause: the Deco TanStack PLP uses `<a aria-label="view product" href="/<product>/p">` (no `/p/` subpath, no `[data-product-card]` attr) — none of the seven baked-in candidates matched. Added five new defaults covering the Deco TanStack pattern: `[data-product-list] a[aria-label='view product']`, `[data-product-list] a[href$='/p']`, `[data-product-list] a[href*='/p?']`, `a[aria-label='view product']`, plus path-suffix variants. Journey on bagaggio now reaches step 6 (add-to-cart) where it surfaces a real bug — variant selection — instead of bailing at step 3.
13
+
14
+ ### Changed
15
+
16
+ * **Default tier for selector-related features back to Sonnet.** PR #66 defaulted selector-discovery / step-recovery / plp-matching / pdp-matching to Haiku 4.5 for cost savings. Live testing showed Sonnet is the safer default for structural-reasoning calls — Haiku-discovered selectors didn't always match on real sites and Haiku-recovery couldn't find alternatives. `search-terms` (pure classification) stays on Haiku. Users who want the previous cheap behavior can opt in with `--llm-tier-default haiku`.
17
+
8
18
  ## [0.11.2](https://github.com/decocms/parity/compare/v0.11.1...v0.11.2) (2026-06-17)
9
19
 
10
20
  ### Added
package/README.md CHANGED
@@ -68,7 +68,7 @@ Three providers, auto-detected in this order — **none required** if you have t
68
68
  2. `OPENROUTER_API_KEY` — OpenRouter
69
69
  3. **Local `claude` CLI** — uses [`@anthropic-ai/claude-agent-sdk`](https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk); goes through your existing Claude plan. No env vars needed
70
70
 
71
- Force with `--llm <anthropic|openrouter|claude-code|none|auto>`. Override per-feature with `--llm-model selector-discovery=claude-haiku-4-5,visual-diff=claude-opus-4-7`. Default tiers: Haiku for short tasks (selector discovery, classification), Sonnet for vision/aggregation, Opus for `explain`.
71
+ Force with `--llm <anthropic|openrouter|claude-code|none|auto>`. Override per-feature with `--llm-model visual-diff=claude-opus-4-7,explain=claude-opus-4-7`, or flatten everything to one tier with `--llm-tier-default <haiku|sonnet|opus>`. Default tiers: **Sonnet** for selector discovery / recovery / matching / vision / aggregation (the structural-reasoning calls), **Haiku** for short copy-list classification (`search-terms`), **Opus** for `explain`. Cost-conscious? Try `--llm-tier-default haiku` and bump features back to Sonnet selectively if you hit selector misses.
72
72
 
73
73
  Without any provider, the CLI still runs and outputs raw check results — only the LLM-tagged tabs (Visual Diff, LLM Prompt) hide themselves and a banner explains why.
74
74
 
package/dist/cli.js CHANGED
@@ -84,11 +84,11 @@ var init_models = __esm(() => {
84
84
  "explain"
85
85
  ];
86
86
  DEFAULT_FEATURE_TIER = {
87
- "selector-discovery": "haiku",
88
- "step-recovery": "haiku",
87
+ "selector-discovery": "sonnet",
88
+ "step-recovery": "sonnet",
89
89
  "search-terms": "haiku",
90
- "plp-matching": "haiku",
91
- "pdp-matching": "haiku",
90
+ "plp-matching": "sonnet",
91
+ "pdp-matching": "sonnet",
92
92
  "section-understanding": "sonnet",
93
93
  "visual-diff": "sonnet",
94
94
  "issue-aggregation": "sonnet",
@@ -11876,8 +11876,14 @@ var DEFAULT_SELECTORS = {
11876
11876
  "[data-deco='view-product'] a",
11877
11877
  "[data-testid='product-card'] a",
11878
11878
  ".product-card a",
11879
+ "[data-product-list] a[aria-label='view product']",
11880
+ "[data-product-list] a[href$='/p']",
11881
+ "[data-product-list] a[href*='/p?']",
11882
+ "a[aria-label='view product']",
11879
11883
  "article a[href*='/p/']",
11880
- "a[href*='/products/']"
11884
+ "a[href*='/products/']",
11885
+ "main a[href$='/p']",
11886
+ "main a[href*='/p?']"
11881
11887
  ],
11882
11888
  buyButton: [
11883
11889
  "button:has-text('Comprar')",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decocms/parity",
3
- "version": "0.11.2",
3
+ "version": "0.11.3",
4
4
  "description": "E2E parity validator for site migrations. Compares prod vs cand and reports UI, functional, SEO, visual, and Web Vitals deltas with an LLM-ranked HTML report.",
5
5
  "type": "module",
6
6
  "license": "MIT",