Quay read commands emit deterministic JSON on stdout. Write-command failures emit JSON on stderr.
quay task list
quay task list --state queued
quay task list --state queued --state running
quay task list --repo myrepo
quay task list --external-ref ENG-1234Output is a JSON array ordered by creation time and task id. Rows include:
task_idrepo_idbase_branchstateexternal_refbranch_nameattempts_consumedretry_budgetbudget_exhaustedcreated_atupdated_at
quay task get <task_id>Output includes the task-list fields plus:
pr_numberpr_urlhead_shabase_shacurrent_attemptrecent_events
recent_events is limited to the latest 20 events.
quay task events <task_id>Output is the full append-only task event log, oldest first.
Get the latest artifact of a kind:
quay artifact get <task_id> brief
quay artifact get <task_id> blocker
quay artifact get <task_id> session_logGet an artifact for a specific attempt:
quay artifact get <task_id> brief --attempt 2Print only the artifact path:
quay artifact get <task_id> final_prompt --pathWithout --path, Quay streams raw artifact bytes to stdout. This preserves
binary and invalid UTF-8 artifacts such as malformed_signal.
| Kind | Meaning |
|---|---|
ticket_snapshot |
Snapshot of source ticket/context. Enqueue writes the first task-level row; task resnapshot can append a newer task-level snapshot after the live ticket changes. |
task_objective |
Canonical task brief reused by later code-worker and reviewer prompts. Enqueue writes the first task-level row; task resnapshot can append a newer task-level objective. |
brief |
Per-attempt composed prompt body: a structured <quay-task-objective> block pointing at the current task-level task_objective artifact, a <quay-current-attempt-guidance> block (initial instruction, retry/respawn template, or orchestrator-submitted brief), and an optional <quay-diagnostics> block (CI excerpt, review comments, conflict slice, etc.). The current task objective lives in task_objective, not here. |
final_prompt |
Code-worker attempts: worker preamble plus the attempt's composed brief. Review attempts: static reviewer protocol, reviewer guidance, then the review brief. |
session_log |
Captured tmux output. |
usage |
JSON usage envelope captured per attempt. .quay-usage.json is stored verbatim when present; otherwise Codex --json JSONL in .quay-tool-trace.log can synthesize normalized model/token totals. |
tool_trace |
Raw tool-call/debug stream or Codex JSONL from .quay-tool-trace.log, captured per attempt with a 4 MiB tail. |
blocker |
Valid .quay-blocked.md written by a worker. |
adopted_pr_ready_for_review |
Valid .quay-ready-for-review.json written by an adopted PR worker to report that the PR already satisfies the requested work and should return to normal PR polling/review without a new commit. |
malformed_signal |
Invalid blocker signal bytes. |
goal_report |
Valid .quay-goal-report.json captured from a goal-mode worker. |
malformed_goal_report |
Invalid goal report bytes captured for bounded protocol repair. |
goal_evidence |
File, URL, artifact-reference, or note evidence cited by a goal report. |
goal_evidence_manifest |
Manifest linking each cited evidence entry to its captured artifact or validation error. |
goal_completion_audit |
Durable audit decision for a complete goal report, including reasons and follow-up feedback. |
ci_failure_excerpt |
CI failure details captured from GitHub checks. |
review_comments |
Snapshot of posted review body and inline comments. Used for review respawns and synthetic review forensics. |
review_blocker |
Reviewer blocker, review-context-drift diagnostic, or infrastructure-failure diagnostic. |
conflict_slice |
Snapshot of merge-conflict observation. |
slack_escalation_post |
Human question body recorded by escalate-human. |
slack_reply |
Human Slack reply recorded by the orchestrator, or by legacy tick ingestion. |
last_failure |
Would-be retry brief when retry budget is exhausted, or a terminal worker-auth preflight diagnostic after the one fresh-auth retry also fails. |
Tick isolates per-task failures. When one task fails during a tick, Quay records
a tick_error event and continues processing other tasks. A later successful
tick path clears the task's tick_error field.
Worker GitHub auth preflight failures are not tick_error: they are classified
as worker_auth_invalid, retried once after spawn_retry_next_eligible_at with
freshly resolved credentials, then surfaced through an awaiting-next-brief
handoff if the retry also fails. Spawn/reviewer infrastructure failures record
their latest operator-facing reason in tasks.spawn_failure_reason.