price · 80% confidence in this cause
The value did not change. Where it was read from did.
div.product > div.price-stack > span.pricev1price still reads the correct value and no longer reads it from the same place: div.product > div.pricing > span.price -> div.product > div.price-stack > span.price. Nothing is wrong with the data yet.
Each run judged as it arrived. A marked row is one where the judges disagreed.
| Run | Completed | Value | Extraction | Cause | Plan |
|---|---|---|---|---|---|
| 2026-08-14 | ok3/3 | unverified | drifted | element-relocated | v1 |
| 2026-08-13 | ok3/3 | unverified | trusted | healthy | v1 |
| 2026-08-12 | ok3/3 | unverified | trusted | healthy |
Repair now, while the value is still right. The agreement today is luck: extraction has already moved, and the wrong number usually arrives a redesign later. This is the cheapest moment this problem will ever be fixed at.
| Selector | Confidence | Reads | Why the evidence supports it |
|---|---|---|---|
| [data-testid="product-price"] | 95% | “₹899” | Captured on the page during the run being diagnosed, holding "₹899". It is a test id, which exists to be depended on and survives restyling. |
Every candidate above was observed on the page. A model may pick from recorded evidence; it may never add to it.
| v1 |
The evidence the verdicts above were derived from. Signals implying everything is fine are not listed.
thin-historyavailability has 2 prior value(s), below the 3 needed to call a value normal.
silent-restructureprice still reads the same value, and no longer reads it the same way: path div.product > div.pricing > span.price -> div.product > div.price-stack > span.price.
Repair the plan before the values diverge. The value agreeing today is luck, not health: the extraction has already moved, and the wrong number usually arrives a redesign later.
thin-historyprice has 2 prior value(s), below the 3 needed to call a value normal.
thin-historyproduct_name has 2 prior value(s), below the 3 needed to call a value normal.