BEGIN; SET ROLE work_role; CREATE TABLE IF NOT EXISTS work.agent_dispatch_queue ( dispatch_id TEXT PRIMARY KEY REFERENCES work.agent_dispatch_intents(dispatch_id), state TEXT NOT NULL, available_at_unix_millis BIGINT NOT NULL, attempts INTEGER NOT NULL DEFAULT 0, claimed_by TEXT NOT NULL DEFAULT '', updated_at_unix_millis BIGINT NOT NULL, CHECK (state IN ('QUEUED','CLAIMED','COMPLETED','FAILED')), CHECK (available_at_unix_millis > 0), CHECK (attempts >= 0), CHECK (updated_at_unix_millis > 0) ); CREATE INDEX IF NOT EXISTS agent_dispatch_queue_claim_idx ON work.agent_dispatch_queue(state, available_at_unix_millis, dispatch_id); RESET ROLE; COMMIT;