product-recognition-demo/recognization/data/external-eval
kiyo9w 6a45fb990d fix(catalog): enroll the current l06 package, closing F-12
The enrolled sku_l06.jpg showed the superseded 内臓脂肪ケア wrapper. The shelf
and the current retail package both read 内臓脂肪を減らす キューピーフィッテ
210g, so the reference image was of a design the store no longer sells - the
catalog was pointing at the wrong package.

F-12 was recorded as blocked on a capture because Kewpie's own site serves the
old design for that JAN. An independent retailer listing carries the current
one, and it matches the shelf facings exactly (verified by eye against a crop
of add/image6.jpg before enrolling).

Measured effect on the corrected labels: live decision 60% -> 64%, end-to-end
59% -> 62%, full-resolution decision 81% -> 83%. Suite still 307.

Also lands 12 more external-proxy images (six SKUs, two source domains each)
and their scored result. Across both external sets - 20 images - the lane is
13 correct, 7 abstain, 0 false accepts.
2026-09-29 03:22:03 +09:00
..
kewpie fix(catalog): enroll the current l06 package, closing F-12 2026-09-29 03:22:03 +09:00
l12-reconciliation test(external): score 8 independent-source images, 0 false accepts 2026-09-29 03:13:16 +09:00
other-mayo fix(catalog): enroll the current l06 package, closing F-12 2026-09-29 03:22:03 +09:00
tier3-sources test(external): score 8 independent-source images, 0 false accepts 2026-09-29 03:13:16 +09:00
README.md test(external): score 8 independent-source images, 0 false accepts 2026-09-29 03:13:16 +09:00

External evidence (2026-09-29)

Independent-source media used to stress the identity pipeline. None of this is Tier 2. DECISION.md's Tier 2 is a second labelled store visit; these are external_proxy artifacts, and every manifest here says so.

Directory What it holds
other-mayo/ 8 accepted images for sku_l04, sku_l07, sku_l09 from 6 source domains, plus the scored result
l12-reconciliation/ What sku_l12 actually is, from the shelf tag and package pixels
kewpie/ Kewpie 450 g research (the near-unknown case)
tier3-sources/ Two reusable pan clips and 11 rejected candidates for a future Tier-3 replay

Leak test

Every accepted image was template-matched against add/image6.jpg. Highest score across all 8 is 0.675 (sku_l07_1), and the 0.95+ band that identifies a crop of the evaluation photo is empty. The images are genuinely external.

Result: 8 images, 0 false accepts

Scored through the shipped LocalLaneAdapter + DecisionPolicy against stock-lopia-clean (other-mayo/eval_result.json):

Verdict Count Files
Correct accept 4 sku_l07_1, sku_l07_2, sku_l09_1, sku_l09_2
Abstain 4 all sku_l04_*
False accept 0 —

Two things this establishes that the image6 shelf cannot:

  • sku_l07 is answered with no enrolled image. Both l07 images accept through the text lane alone: sku_l07_1 reads ラッキー フヨネーズ, and sku_l07_2 reads the rear label's 製造者:丸和油脂株式会社 with 内容量:200g. The catalog row is 丸和油脂 ラッキーマヨネーズ 200g, so the manufacturer and the size together name it. This is the text lane's coverage claim - that a product with no reference image can still be named - holding on data that was not used to build it.
  • The l04 abstentions are correct behaviour, not a miss. l04 has no enrolled image either, and its reads are weak: sku_l04_2 reads only コと旨 タ 味 (all rows score 0.0), and sku_l04_4 reads the rear label with やまや garbled to まや, scoring 0.379 - below the accept line. Abstaining on a weak read is the designed outcome.

sku_l07_2 accepts with a negative local score (-0.55) on text evidence alone. That is the lane doing its job, but it is worth naming: the accept rests on two matched tokens (manufacturer + size), not on geometry.

What is still missing

No external source gives per-SKU identity for the whole catalog, and no reusable clip combines the target category with shelf-distance text resolution. The Tier-2 and Tier-3 gates in DECISION.md still need the operator's own recorded walks.