Skip to content

backlog: workflow runs can exit green having written nothing — Stage 1 triage has no verify step, and Stage 2 posted nothing on both #680 and #676 #682

Description

@bess-product-owner

What happened

On 2026-08-22 three workflow runs exited with the agent step green while writing nothing to their issue — no comment, no label. The pipeline's only signal that "nobody has analyzed this" is indistinguishable from "the analysis ran and failed silently".

  1. Stage 1 triage on backlog: a stale Awaiting field hides a qualifying tier-1 bug from the autonomous Stage 2 carve-out, so it never gets analyzed #681 (19:43:41Z, success): wrote nothing. issue-triage.yml has no verification step, so a triage run that does nothing is invisible — it cannot fail red.
  2. Stage 2 on Late switching #680 (run 32594498204, 19:42Z): the claude-code-action step succeeded; the Stage 2 analyze exits success, charges $0.33–1.58, and posts nothing — 2 of 6 runs silently produced no comment or label #646 verify step then failed — Comments posted since 2026-08-22T19:42:23Z: 0, labels unchanged (bug, bot-analyzed, ready-for-analysis).
  3. Stage 2 on bug: Strategic Intent headline overflows card when curtailed (Storing Solar — Curtailed (No Export)) #676 (run 32598998170, 21:14Z, triggered by @claude-bot analyze): the agent step succeeded; verify failed — 0 comments, labels unchanged (bug).

Expected vs actual

Root cause

  1. Stage 1 (issue-triage.yml) has no if: always() verification step, unlike issue-analyze.yml's Stage 2 analyze exits success, charges $0.33–1.58, and posts nothing — 2 of 6 runs silently produced no comment or label #646 step. A no-op triage exits success identically to a correct one.
  2. Stage 2's agent still does not run gh issue comment. The Stage 2 analyze exits success, charges $0.33–1.58, and posts nothing — 2 of 6 runs silently produced no comment or label #646 fix added a gate, not a fix for the agent behavior. Both runs' agent step reported success with no reachable output — the agent describes the publish step instead of performing it, or exits before it. The verify step cannot tell us which, because it only counts what reached the issue.

Proposed fix (options)

  1. Add the Stage 2 analyze exits success, charges $0.33–1.58, and posts nothing — 2 of 6 runs silently produced no comment or label #646-style verification step to issue-triage.yml: assert a label was applied (and the confirmation comment, for a bug with a debug log), fail the run otherwise. This closes the Stage 1 gap directly.
  2. For Stage 2, root-cause why the claude-code-action agent reports success without running gh issue comment — a turn cap, a silent model error the action swallows, or the cat > /tmp/analysis.md && gh issue comment --body-file sequence being unreached. Per Stage 2 analyze exits success, charges $0.33–1.58, and posts nothing — 2 of 6 runs silently produced no comment or label #646, the verify step must keep asserting and never repair; the fix is to make the agent actually publish.
  3. At minimum, ensure a red verify run is never read as "nobody has run analyze yet" — the Stage 2 analyze exits success, charges $0.33–1.58, and posts nothing — 2 of 6 runs silently produced no comment or label #646 motivation — so the backlog pass can see the failure and act.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions