diff --git a/recognization/docs/research/2026-09-28-recognition-architecture/DECISION.md b/recognization/docs/research/2026-09-28-recognition-architecture/DECISION.md index edc0916..56bf196 100644 --- a/recognization/docs/research/2026-09-28-recognition-architecture/DECISION.md +++ b/recognization/docs/research/2026-09-28-recognition-architecture/DECISION.md @@ -815,6 +815,11 @@ against 20). Live: 62% at 93% against 56% at 84% (3 against 7). The lane adds 16 pp and 6 pp of coverage while *raising* precision, against E-3's +5 pp bar. It is not a veto-only lane. +Re-measured 2026-09-29 with the calibrated accept lines: 66% at 95% precision +with text, 55% at 81% without (2 false accepts against 8). The lane still adds +11 pp of coverage while raising precision by 14 pp, so the answer is unchanged +and the margin is wider than the audit's. + **E-2 answered.** `LocalLane` is RootSIFT-only; ORB and BRISK survive only in the `matcher` baseline lane, so there is nothing to drop from the shipped path. diff --git a/recognization/eval/labels/README.md b/recognization/eval/labels/README.md index 7188af0..a2bee5d 100644 --- a/recognization/eval/labels/README.md +++ b/recognization/eval/labels/README.md @@ -30,9 +30,10 @@ complete; every scorer drops them before computing a rate. The evaluators read in-catalog across 12 SKUs, 45 `unknown`. 26 labels changed from v1, and three more changed on 2026-09-29: facings #46-48 were `unknown` with the note "possibly what stock.csv calls l12", and the l12 reconciliation settled it, so -they now carry `sku_l12`. It is a copy of -`docs/research/2026-09-28-recognition-architecture/evidence/image6_v2.json`; -edit the evidence copy and re-copy, so the two cannot drift. +they now carry `sku_l12`. This file is the single copy: the evidence directory +used to hold a duplicate (`image6_v2.json`) and it was removed on 2026-09-29 +after `cmp` showed the two byte-identical, because a copy that nothing reads is +a copy that drifts. ## Schema check @@ -50,4 +51,4 @@ are absent rather than guessed. Tier-2 labels must add both. `confidence` is the labeler's own certainty for that row; `labeler` names the person or pass that produced it, because Tier 2 is double-labelled and a disagreement has to be traceable to a pass. Tier 1 -(`image6_v2.json`) is dev-only and its numbers never ship, so it stays as it is. +(`image6.json`) is dev-only and its numbers never ship, so it stays as it is.