Product recognition demo for supermarket shelf images
Find a file
kiyo9w 25dbf132e7 docs: describe the mobile lane as shipped, and fix the capabilities example
Two things in API.md described a state that no longer exists.

The mobile section called the app's scan screen "a timer-driven placeholder
today" and said wiring it "is a separate lane". The app ships the real client
(`data/shelf/LiveScanClient.kt`, `platform/CameraFrames`) and ADR-002 governs
it, so the section now names what the client actually is and what it needs from
this server, including the negotiated crop lane.

The control-message table showed `{"type":"capabilities","max_crop_bytes":N}`
as the opt-in. `handle_capabilities` refuses exactly that message - it requires
`"crop": true` - so the documented example returned `BAD_MESSAGE` and left the
lane off. Verified against a running server: the corrected message answers
`capabilities_ack`, the old one answers `BAD_MESSAGE`.
2026-09-28 19:10:31 +09:00
.github/workflows chore: run the Python suite from the repository root 2026-09-28 17:26:58 +09:00
recognization docs: describe the mobile lane as shipped, and fix the capabilities example 2026-09-28 19:10:31 +09:00
.gitignore Initial commit for push folder 2026-09-18 09:13:53 +09:00