GitHub Ticket Runner
Run one ticket with consistent execution and reporting behavior.
Input
- Ticket number and link.
- Acceptance criteria, DoD, and test plan from the issue body.
- Assigned dependency preconditions.
- Constraint: Do not begin coding until the ticket is dependency-unblocked.
Output
- Ticket-level execution trail in comments.
- PR and verification evidence linked to the issue.
- Ticket closed with complete closure notes.
Process
Phase 1: Claim and Start
- Confirm all dependency tickets are closed.
- Add a comment:
STARTED by <agent> | ETA: <time>. - Confirm scope and non-scope directly from the issue body.
- Create a branch using the format:
codex/[issue-#]-[short-name].
Phase 2: Execute and Validate
- Implement only what is required by AC and DoD.
- Run required tests and capture outcomes.
- If blocked for more than 15 minutes, add:
BLOCKED | reason: ... | waiting_on: #....
Phase 3: Close with Evidence
- Open PR linked with closure keyword (
Closes #<ticket>). - Post closure comment with PR link, tests, and key outcomes.
- Close issue only after merge and evidence is posted.
- LOCAL TRIAGE RULE: If you were working on a local fallback ticket (
.agent/issues/ERR-001.md), instead of closing a GitHub issue, you MUST edit the file and change the YAML frontmatter fromstatus: activetostatus: ready_to_prune. This signals the Knowledge Gardener to clean it up.
Completeness Checklist
- □
STARTEDcomment exists. - □ AC + DoD + tests are explicitly addressed.
- □
DONEevidence comment exists with PR and results.
Rules
- ALWAYS use explicit
STARTED,BLOCKED, andDONEoperational comments. - ALWAYS attach test evidence in the issue before closure.
- NEVER close a ticket without merged PR linkage.
- NEVER scope-creep outside the issue contract without a documented change.