-
Notifications
You must be signed in to change notification settings - Fork 341
workflow_dispatch targeted issue binding ignored — agent never reads bound issue, emits noop, workflow succeeds #21501
Description
Context
Observed on 2026-03-17 while retesting a repo-assist workflow compiled with gh-aw v0.60.0. A targeted workflow_dispatch with issue_number=7 produced the correct activation prompt binding, but the agent never read issue #7. Instead, it queried unrelated issues (#14, #9, #11, #13), concluded the repository had been "reset or cleaned," emitted a single noop, and the workflow finished success.
The same repo and workflow on v0.59.0 did follow issue #7 and reached the create_pull_request path in run 23211258497, so this looks like a regression rather than a repo configuration problem.
The run is public and the activation logs show the full prompt.
Problem
The activation prompt correctly contains:
If
7is non-empty, this run was dispatched for a specific issue and is bound to issue#7.
Treat issue#7as the only candidate for Task 1 in this run.
But the agent's execution path was:
- Activation bound the run to issue
#7 - Called
issue_readfor#14,#9,#11,#13 - Never called
issue_readfor#7 - Concluded: "It appears this repository has been reset or cleaned. There are no open issues, no open PRs, and no implementation code."
- Emitted
noop
The framework constructed the correct prompt, but in this run the bound issue was never read before a noop was accepted. When the agent ignores the binding and exits via noop, the workflow reports success even though the targeted work was never attempted.
Location
The targeted dispatch binding is constructed in the activation prompt step. The observed failure is that a noop was accepted even though the bound issue was never read.
Relevant areas (not pinned to exact lines since the prompt construction spans multiple files):
- Activation prompt template: targeted issue dispatch instructions
- Agent execution path: selected unrelated issues instead of the bound issue
noophandling / post-agent validation: accepted a noop after the bound issue was skipped
Reproduction
- Create a repository with a
repo-assistworkflow compiled withgh-aw v0.60.0 - Ensure the repo has an open issue
#7withpipeline+infralabels - Run
workflow_dispatchwithissue_number=7 - Observe that the activation prompt correctly binds to issue
#7 - Observe whether the agent actually reads issue
#7 - In the failing case, the agent reads unrelated issues instead, emits
noop, and the workflow concludessuccess
In the observed failing run, stale references to other issue numbers were present in memory/history, but this report does not depend on proving that memory is the root cause. The key failure is that the bound issue was not read before noop was accepted.
Expected behavior
When issue_number is provided via workflow_dispatch:
- The agent should read issue
#7before making any decisions about the run - If the agent emits
noopwithout having read the bound issue, the workflow should reject thenoopor flag it as a validation failure - A targeted dispatch run should not conclude
successwhen the bound issue was never read
Evidence
v0.60.0 run (regression): 23214643269
- Branch:
codex/gh-aw-v060-retest - Activation prompt:
"If 7 is non-empty, this run was dispatched for a specific issue and is bound to issue #7." - Agent
issue_readcalls:#14,#9,#11,#13— no#7 - Agent reasoning:
"It appears this repository has been reset or cleaned" safe_outputssummary:Total messages: 1, Successful: 0, Failed: 0, Skipped (standalone step): 1- Noop comment posted to issue #17 (
[aw] No-Op Runs) - Issue
#7unchanged, no PRs created
v0.59.0 run (working): 23211258497
- Branch:
codex/gh-aw-v059-retest - Same repo, same workflow, same issue
#7 - Agent followed issue
#7and reachedcreate_pull_request(failed on protected files, but the binding was honored)
Proposed fix
Add a runtime validation when targeted dispatch is active and the agent emits noop:
- After the agent step completes, check the MCP gateway logs or agent step summary for
issue_readcalls - If
issue_numberwas provided and the agent never calledissue_readfor that issue number, reject thenoopwith a clear error:"Targeted dispatch bound to issue #N but the agent never read issue #N" - This turns a silent success-with-no-work into a visible failure that can be triaged
Alternatively, strengthen the activation path so the bound issue is harder to skip — for example, inject the bound issue's title and body directly into the prompt context rather than relying entirely on the agent to fetch it.
Environment
- Regression run:
v0.60.0, run 23214643269 - Working run:
v0.59.0, run 23211258497 - Repo:
samuelkahessay/team-standup-tracker