9f21d5ae8fccdb8fd86e962f1d9412800a404384
Add ScoutEngine.deliver_pending(user_id, ws) that queries status='queued' rows, fetches metadata via the registered connector, sends scout_proposal WS frames, and flips status to 'delivered'. Add ack_proposal(proposal_id) that flips 'delivered' -> 'acked' (idempotent). Wire both into device_ws.py: deliver_pending fires as a background task after device_hello + register; scout_proposal_ack frames dispatch to ack_proposal in the message loop. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
DEV
Run in DEV with command:
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload --log-config logging.conf
Description
Languages
Python
99.4%
Dockerfile
0.4%
Mako
0.2%