Record Cs Draft Attempt Failed
tools/rooster_worker/worker.py calls this after a Goose turn on a CS-draft ticket produces no draft -- a timeout, a non-zero goose run exit, or a clean exit that left the ticket still on GET /cs/tickets/pending (he read it and correctly wrote nothing). NEVER called on a successful turn.
This is the durable, cross-restart half of the fix for a live production bug: the worker's own in-memory poison tracking (WorkerState) dies every time the rooster Railway service redeploys, so a ticket he cannot answer (e.g. marketing mail with no repliable text) sat permanently at the front of the oldest-first queue and re-cost three Goose runs on every restart before any real customer was reached. See agent_draft.record_draft_attempt_failed (the write) and agent_draft.tickets_awaiting_draft (the read this changes) for the full contract, in particular why no separate "un-decline" endpoint exists: a new inbound customer message re-arms the ticket on its own.
Gated on the SAME rooster:cs:draft grant as every other CS-drafting route -- recording that a turn was attempted is part of the same drafting capability, not a new one. This route can only ever suppress re-offering a ticket to Rooster; it has no power to mark a ticket spam or closed, which stays a human (Frederick) decision made elsewhere.
Request
- Base URL: https://api.pigeonly.com (the document declares no server; this is the origin it was published from)
- URL: https://api.pigeonly.com/api/rooster/cs/tickets/{ticket_id}/draft-attempt-failed
- Auth: none declared
Path parameters
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.