58ba021de1
Adds VERIFICATION.md + scripts/verify_ui.mjs, a Playwright-driven check of the full user journey against the deployed SPA: page loads clean, Leaflet map renders, a real DOM upload (.sub + GPS) returns a device match, and the capture store increments. Grounded in real element IDs and live endpoints. In-sandbox this session covered the code-correctness layers (L1-substance parse->match->category, L3 save/load round-trip, L4 BinRAW + per-device catalog category regressions). The runtime/transport layers still require a live listening server and must be run from a normal shell: - L0 docker compose up --build, container healthy - L1 HTTP curl/jq /health + static assets 200 - L2 Playwright browser journey (scripts/verify_ui.mjs) - L3 restart container up->down->up, capture count unchanged (volume) Also ignores trained model binaries (models/*.onnx, *.pt) and the verify-shots/ screenshot output. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>