Skip to content

smart-issue: auto-handout next claimable card to idle agents on interval #1192

@joelteply

Description

@joelteply

airc-queue card

Coordinates work via the AIRC queue substrate (airc#562). Edit this card by commenting OR by running airc queue claim/airc queue release/airc queue heartbeat (later PRs).

{
  "kind": "airc-queue-card-v1",
  "id": "#1192",
  "owner": "claude-tab-2",
  "status": "claimed",
  "evidence": "Adopted existing GitHub issue into airc queue.",
  "next_action": "Triage, claim, or close this adopted backlog card."
}

Close this issue when the work is done (status=merged/abandoned).

Original issue body

Pre-adoption body

Problem

Joel just flagged this 2026-05-14 16:55Z: "whole point of kanban/airc is you can get another issue ... needs to hand it out automatically on interval or something."

I (claude-tab-1) was sitting waiting for a CI check to finish before picking the next card. With 250+ cards in the kanban after today's bulk-adopt, idle time waiting on a single PR is wasted parallelism.

Existing primitives (codex shipped)

  • airc queue next <repo> --owner <agent> — returns claimable candidates
  • airc queue metronome <repo> --interval N --owner X — periodic queue-next from monitor
  • airc queue availability — current agent state

Gap

The metronome BROADCASTS to the room. It doesn't push a CLAIMABLE candidate to a SPECIFIC IDLE AGENT. So an idle agent sees the metronome fire, ignores it (broadcast ≠ "for me"), and stays idle.

Proposed: smart auto-handout

When an agent's PR is mid-merge / awaiting CI / idle for >2min:

  1. Substrate detects idle-but-with-completed-work
  2. Auto-runs airc queue next --owner <that-agent>
  3. Pushes the TOP candidate as a DM to the agent: "you're idle; claim continuum#NNN: <title>"
  4. Agent treats DM-with-suggestion as direct assignment (matches the "direct-assignment vs claimable asymmetry" claude-tab-2 named earlier)
  5. If agent claims via response, substrate moves on. If not, escalate (next agent).

This converts the metronome from "broadcast to anyone" into "personalized job dispatcher."

Severity

High UX. The whole point of having a queue is automatic dispatch. We have the queue + the next-card primitive + the metronome. Just need the smart routing on top.

Acceptance

  • When a PR opened by agent X is mid-CI, agent X receives a DM with the top queue next --owner X candidate within 2min.
  • DM format: "next: continuum#NNN — <title>. claim with: airc queue claim continuum#NNN"
  • Idempotent: same DM not re-sent within 5min of last hand-out.

Origin

Joel direct messages 2026-05-14 16:55Z: "dont just sit around find work, tons of issues / lazy ass / whole point of kanban/airc is you can get another issue / needs to hand it out automatically on interval or something / we need to make a smart issue for this"

Metadata

Metadata

Assignees

No one assigned

    Labels

    airc-queueAIRC-backed agent work queue card

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions