• v0.6.0 e2c358c90a

    v0.6.0 - Visual Label Capture
    Some checks failed
    CI / Frontend (Vue) (push) Waiting to run
    CI / Backend (Python) (push) Waiting to run
    Mirror / mirror (push) Has been cancelled
    Release / release (push) Has been cancelled
    Stable

    pyr0ball released this 2026-04-25 08:46:44 -07:00 | 52 commits to main since this release

    kiwi v0.6.0

    New: Visual Label Capture (kiwi#79)

    When a barcode scan returns no product from Open Food Facts, paid-tier users see a capture offer instead of the generic manual-entry prompt.

    Flow:

    1. Scan unknown barcode -> offer card: calm copy, no urgency
    2. Tap Capture label -> camera opens on nutrition panel
    3. Vision model extracts name, brand, serving size, nutrition, ingredients, allergens
    4. Review form with amber highlights on low-confidence fields
    5. Save stores product in captured_products cache; future scans resolve locally

    Technical highlights:

    • Migrations 036-038: captured_products table, source CHECK constraints updated
    • Service: app/services/label_capture.py (stub-tolerant VisionRouter, KIWI_LABEL_CAPTURE_MOCK bypass)
    • Endpoints: POST /scan/label-capture, POST /scan/label-confirm
    • needs_visual_capture: bool added to BarcodeScanResult
    • Tier gate: visual_label_capture requires paid tier (free tier sees needs_manual_entry)
    • 42 new tests, 369 total passing
    Downloads