From a18a80a21e23088aaf5d40b9893ebf18b99122dc Mon Sep 17 00:00:00 2001 From: kiyo9w Date: Thu, 24 Sep 2026 14:12:10 +0900 Subject: [PATCH] docs: record the consistent-misread failure mode Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- recognization/docs/API.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/recognization/docs/API.md b/recognization/docs/API.md index d5ac7df..d25fd88 100644 --- a/recognization/docs/API.md +++ b/recognization/docs/API.md @@ -333,9 +333,14 @@ is matched against the catalog separately. - **Tag detection is the weak link, not the OCR.** On a shelf with ~100 facings the pass currently finds tags for a minority of them at this distance; the compliance hints say so instead of inventing violations. -- **A single read can misread a digit.** The vote needs independent reads (live mode - accumulates them across frames; stills read each band twice at different upscales), - and a dead heat stays unread rather than guessing. +- **A single read can misread a digit, and a consistent misread survives the vote.** + The vote needs independent reads (live mode accumulates them across frames; stills + read each band twice at different upscales) and a dead heat stays unread rather than + guessing, but when one wrong reading wins most frames it settles as wrong - measured + once in a 40-frame live run (`3609` for a `360` tag, 10 observations against 8). The + safeguard is downstream: a wrong tag price shows as a `mismatch` with both values and + is never applied to the product identity. Cross-checking the sale price against the + regular price and discount is the recorded next improvement. - **The demo catalog is fictional**, so tag prices legitimately disagree with it. That is shown as `mismatch` with both values; it is not an error.