"You can't watch the form 24/7. The Watcher does. This is the document that explains it."
The Carrot Watcher is the sovereign-side console at /carrot-watcher. Every supplier that fills the public intake at /carrot-intake arrives here in real time. The page polls the database every 10 seconds and surfaces new submissions with a flash animation so they can't be missed.
It is the operator's eye on the front door of The Carrot. Without it the public intake would be a one-way drop-box. With it, every submission is a tracked obligation — grabbed, contacted, kit-sent, completed, archived.
/carrot-watcher. The unread badge in the header pulses orange if anything is waiting.Status (New · Review · Action · Complete) · Source (Website · QR · API) · free-text search across name/email/material. Filters are debounced 300ms and update without page reload.
The right-side panel polls /api/carrot/watcher/log every 8 seconds and shows the last 50 events: form submissions, grabs, kits sent, status changes, notes. Nothing happens silently.
| Endpoint | Method | Purpose |
|---|---|---|
/api/carrot/watcher/list | GET | Filterable submission list + counter stats |
/api/carrot/watcher/get/<id> | GET | Single submission + H.BLUE insights |
/api/carrot/watcher/grab/<id> | POST | Assign to current admin · status → review |
/api/carrot/watcher/status/<id> | POST | Set status (new / review / action / complete) |
/api/carrot/watcher/send-kit/<id> | POST | Queue Carrot Kit email · stamps kit_sent_at |
/api/carrot/watcher/note/<id> | POST | Append a note to the audit trail |
/api/carrot/watcher/delete/<id> | POST | Remove (sovereign only) |
/api/carrot/watcher/log | GET | Last 50 H.BLUE events for the sidebar |
/api/carrot/watcher/seed | POST | Insert demo rows for testing |
op_ledger via the carrot-submission webhook so the audit trail survives the page./dprn-console) — the watcher is the upstream of the vault./ws/carrot-stream for sub-second arrival animation.