No content changes: git diff --ignore-all-space over these files is empty. The churn came from editing on Windows against a repo checked out with LF.
21000126 NEW FIESTA CHICK RENDANG W RICE 320GR (PAC)__WhatsApp Image 2026-07-08 at 13.33.16 (1).jpeg
Product-scan validation images — live intake (staging)
This folder is the live-intake / staging area for the product-scan
validation set. It's still where the /manual-label-scan page saves new
photo drops, and still what real-world photos get dropped into by hand — but
it is no longer what the accuracy harness scores. That's
../product-test-images-fixed/ (a frozen, sequentially-renamed snapshot) —
see that folder's README for why the split exists.
Workflow (adding a new SKU or photo):
- Drop a photo here directly (flat, no subfolders — a filename with no
/is what marks an image as "validation" instead of "training"). - Label it via the
/manual-label-scanpage (correctno_sku,nama_item,expiry_dateby hand — don't just accept the AI-scan prefill, that would make the ground truth equal to the model's own prediction). - Re-run
node scripts/freeze-validation-set.mjsfrombackend/to promote the new photo intoproduct-test-images-fixed/(renamed to<index> <no_sku>.<ext>) so it actually gets scored on the nextaccuracy-check-scan.mtsrun.
This is not where new training photos go. To improve the classifier
itself (DINOv2 index / YOLO fine-tune), add photos to
pfm-web-app/public/produk-pfm/foto-kemasan-v2/<SKU folder>/ instead, then
reindex/retrain per docs/scan-product.md's "Model artifacts & retraining"
section.