# Recognition data Everything the identity work needs to be reproducible: sourced packshots, evaluation runs, and the audits that produced them. Nothing here is ephemeral; a run that matters is written here, not to a temp directory. ## `packshots/source/` Front packshots as downloaded, before enrollment. `ATTRIBUTION.json` records the source URL, the product as printed, and the manufacturer for each. `ocr-reads.json` holds the OCR text each image produced, so a name/OCR refusal can be re-checked without re-running Vision. `rebuild_catalog.py` reads this directory and writes a catalog: .venv/bin/python code/rebuild_catalog.py --source data/packshots/source \ --output stock-lopia-clean --csv stock-lopia/stock.csv --min-views 1 --replace ## `evaluations/` One directory per session. Each holds the raw artifacts a claim was computed from, so a number in DECISION.md can be traced back to the run that produced it. | Directory | Contents | |---|---| | `stream/` | WebSocket track dumps from `stream_client.py`, scored by `score_stream.py`. | | `still/` | `/v1/recognize` responses for the still-image path. | | `catalog-audit/` | `rebuild_catalog.py --json` reports. | | `scratch/` | Intermediate images (rotations, crops) kept because they document a finding. | Scoring a stream dump: .venv/bin/python code/score_stream.py data/evaluations//stream/.json \ --labels eval/labels/image6.json --stock-dir stock-lopia-clean