Skip to content

[bug-hunter] Compiled fixer workflows require ready_to_make_pr but do not expose that tool #1802

Closed as not planned

Description

@github-actions

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

  1. Run this new repro script:
bash /tmp/gh-aw/agent/repro-ready-to-make-pr-mismatch.sh
  1. The script runs make compile, verifies compiler warnings for ignored safe-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:2 defines safe-inputs.
  • make compile emits 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:449 requires ready_to_make_pr.
  • .github/workflows/gh-aw-small-problem-fixer.lock.yml:340 tool list omits ready_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.allowed list 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

  1. github-actions commented on Aug 18, 2026

    @github-actions
    ContributorAuthor

    This issue was automatically closed because it expired on 2026-08-18T11:35:01.144Z.

    Closed by Workflow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions