Repository navigation
[bug-hunter] Compiled fixer workflows require ready_to_make_pr but do not expose that tool #1802
Description
Impact
Fixer workflows that can open PRs (for example gh-aw-small-problem-fixer) instruct the agent to call ready_to_make_pr before create_pull_request, but the compiled tool list does not include ready_to_make_pr. This creates an impossible instruction path: agents are told to call a tool that is unavailable, which can block or fail PR-creation flows.
Reproduction Steps
- Run this new repro script:
bash /tmp/gh-aw/agent/repro-ready-to-make-pr-mismatch.sh- The script runs
make compile, verifies compiler warnings for ignoredsafe-inputs, then verifies prompt/tool mismatch in.github/workflows/gh-aw-small-problem-fixer.lock.yml.
Expected vs Actual
Expected: If a compiled workflow prompt requires ready_to_make_pr, that tool is present in the workflow tool list/config.
Actual: ready_to_make_pr is required by prompt text but missing from the compiled tool list.
Observed output:
Checking compiler warnings...
Found safe-inputs ignored warning.
Checking compiled workflow prompt/tool consistency...
Found prompt instruction requiring ready_to_make_pr.
Tools line: Tools: add_comment, create_pull_request, missing_tool, missing_data, noop
FAIL: Prompt requires ready_to_make_pr but the compiled tools list does not include it.
Failing Test
#!/usr/bin/env bash
set -euo pipefail
repo="/home/runner/work/ai-github-actions/ai-github-actions"
workflow="$repo/.github/workflows/gh-aw-small-problem-fixer.lock.yml"
compile_log="/tmp/gh-aw/agent/compile.log"
cd "$repo"
make compile >"$compile_log" 2>&1
echo "Checking compiler warnings..."
grep -q "Ignoring unexpected frontmatter fields.*safe-output-create-pr.md: safe-inputs" "$compile_log"
echo " Found safe-inputs ignored warning."
echo "Checking compiled workflow prompt/tool consistency..."
grep -q 'Before calling `create_pull_request`, call `ready_to_make_pr` and apply its checklist\.' "$workflow"
echo " Found prompt instruction requiring ready_to_make_pr."
tools_line="$(grep -m1 'Tools:' "$workflow" || true)"
echo " Tools line: $tools_line"
if [[ "$tools_line" != *"ready_to_make_pr"* ]]; then
echo "FAIL: Prompt requires ready_to_make_pr but the compiled tools list does not include it." >&2
exit 1
fi
echo "PASS"Evidence
.github/workflows/gh-aw-fragments/safe-output-create-pr.md:2definessafe-inputs.make compileemits warnings that this frontmatter is ignored (for example/tmp/gh-aw/agent/compile.log:159:Ignoring unexpected frontmatter fields ... safe-output-create-pr.md: safe-inputs)..github/workflows/gh-aw-small-problem-fixer.lock.yml:449requiresready_to_make_pr..github/workflows/gh-aw-small-problem-fixer.lock.yml:340tool list omitsready_to_make_pr(Tools: add_comment, create_pull_request, missing_tool, missing_data, noop).
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
models.dev
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "models.dev"See Network Configuration for more information.
What is this? | From workflow: Trigger Bug Hunter
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
- expires on Aug 18, 2026, 11:35 AM UTC
Activity
github-actions commentedon Aug 18, 2026
This issue was automatically closed because it expired on 2026-08-18T11:35:01.144Z.