docs(labels): the README described the pre-correction label set

Three claims were stale: it said l12 has no facing on the shelf (facings #46-48
now carry it), that the file uses sku_l01-sku_l11, and that the set is 61
in-catalog / 48 unknown across 11 SKUs. It is 64 / 45 across 12.

The #46-48 note it pointed at as an open question is now answered, so the note
reference goes with it.
This commit is contained in:
kiyo9w 2026-09-29 03:33:16 +09:00
parent a1c69f72fe
commit 0376a74418

View file

@ -18,18 +18,20 @@ product facing, in that photo's own pixel coordinates.
| `label` | yes | Canonical SKU id (`sku_l01`), `unknown` for a facing that is not in the catalog, or `exclude` for a facing no lane can be scored on. |
| `source` | yes | How the label was decided. `v1-confirmed-visual` = the v1 label was checked against the package and kept; `visual-audit-2026-09-28` = the label was re-read from the package in the 2026-09-28 audit. |
| `v1_label` | yes | The label this row carried in v1. Kept so claims computed on v1 stay reproducible and the 26 corrections stay auditable. |
| `note` | when `label != v1_label` | Why the label changed. Also on a few unchanged rows that need a remark (e.g. `#46-48`, the tare bottles that may be what `stock.csv` calls l12). |
| `note` | when `label != v1_label` | Why the label changed. Also on a few unchanged rows that need a remark. |
| `match` | no | v1 provenance only: the field DECISION.md §3 reads as a match IoU, and as evidence that v1 labels were propagated from tag or box matching rather than read off packages. Values here are 0.0, 0.911, 1.0. No scorer reads it; it is carried through unchanged for traceability. |
`label` takes a canonical SKU id, `unknown`, or `exclude`. This file uses
`sku_l01`-`sku_l11`: l12 has no real facing on the shelf, so no row carries it.
`exclude` rows stay in the file so the facing inventory is complete; every
scorer drops them before computing a rate. The evaluators read `index`, `box`,
and `label`; the provenance fields are additive.
`sku_l01`-`sku_l12`. `exclude` rows stay in the file so the facing inventory is
complete; every scorer drops them before computing a rate. The evaluators read
`index`, `box`, and `label`; the provenance fields are additive.
`image6.json` is the corrected v2 set: 111 rows, 109 scored (2 `exclude`), 61
in-catalog across 11 SKUs, 48 `unknown`, 26 labels changed from v1. It is a copy
of `docs/research/2026-09-28-recognition-architecture/evidence/image6_v2.json`;
`image6.json` is the corrected v2 set: 111 rows, 109 scored (2 `exclude`), 64
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.
## Schema check