Skip to content

[codex] fix agent-team manual workflow_dispatch inputs#69

Merged
verkyyi merged 2 commits into
mainfrom
fix/issue-55-dispatch-inputs
Apr 23, 2026
Merged

[codex] fix agent-team manual workflow_dispatch inputs#69
verkyyi merged 2 commits into
mainfrom
fix/issue-55-dispatch-inputs

Conversation

@verkyyi
Copy link
Copy Markdown
Owner

@verkyyi verkyyi commented Apr 23, 2026

Closes #55

What changed

This fixes the agent-team manual workflow_dispatch path so downstream prompts read dispatch inputs using gh-aw's documented markdown expression form instead of relying on bare inputs.* prose.

The planner, implementer, and reviewer prompts now fail loudly when required dispatch inputs are missing instead of inferring the target issue from labels or recent activity. The implementer prompt was also hardened so an optional pr_number that arrives blank or as a raw ${{ github.event.inputs.pr_number }} literal is treated as not set on first-pass runs.

Root cause

Manual dispatches were succeeding at the workflow layer, but the runtime prompt body was not consuming workflow_dispatch inputs in the documented form. That left the implementer and reviewer vulnerable to missing or unresolved values, and older runs only appeared to work because the agent could infer context from repository state.

Impact

Manual redispatch for planner, implementer, and reviewer is now deterministic. If dispatch inputs are missing, the run stops with an explicit blocked state instead of guessing. If pr_number is intentionally omitted on a first implementer pass, the prompt now clearly tells the agent to create a new branch/PR rather than treating the unresolved template token as meaningful input.

Validation

  • ./tests/test-invariants.sh
  • Manual planner dispatch verified on verkyyi/agent-team-playground on April 23, 2026
  • Manual implementer dispatch verified on verkyyi/agent-team-playground on April 23, 2026
  • Manual reviewer dispatch verified on verkyyi/agent-team-playground on April 23, 2026
  • Implementer activation prompt verified on playground to show the new optional pr_number handling guidance

Notes

Playground verification used temporary workflow installation and canary issues/PRs, and the playground repo was restored to baseline afterward.

@verkyyi verkyyi marked this pull request as ready for review April 23, 2026 10:33
@verkyyi verkyyi merged commit d688265 into main Apr 23, 2026
4 checks passed
@verkyyi verkyyi deleted the fix/issue-55-dispatch-inputs branch April 23, 2026 10:33
github-actions Bot added a commit that referenced this pull request Apr 23, 2026
…dening

PR #69 added an explicit required-input contract to the planner,
implementer, and reviewer agents, and hardened the implementer's
optional pr_number handling. Update catalog/agent-team/README.md to
reflect the exact fail-loud protocol, the two-branch recovery path
(input-propagation failure vs. generic block), and the pr_number
unresolved-literal treatment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request Apr 24, 2026
… section

PR #69 added loud-failure guards when workflow_dispatch inputs are missing
or unresolved. Users now need concrete gh workflow run commands to re-dispatch
a stuck stage — the previous docs mentioned manual dispatch was possible but
gave no commands. Add explicit commands for each role and a Troubleshooting
section covering the three most common stuck-pipeline scenarios.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request Apr 25, 2026
Two documentation fixes surfaced by the #69 dispatch-inputs hardening:

1. README.md uninstall section: `state:in-progress` → `agent-team:reviewed`.
   The install skill, E2E tests, and reviewer workflow all use
   `agent-team:reviewed` as the 7th label. `state:in-progress` never
   existed in the pipeline.

2. catalog/agent-team/README.md: expand "Retrying a blocked task" to
   cover mid-pipeline re-dispatch after a
   `workflow_dispatch inputs were not propagated` block (the new fail-loud
   behavior added in #69). Old text only described restarting from spec.
   New text adds explicit `gh workflow run` commands for planner/
   implementer/reviewer with all required inputs. Also updates the
   "Input propagation" gotcha entry to explain the error, label it
   expected behavior (not a bug), and cross-reference the recovery steps.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request Apr 27, 2026
The "Input propagation" bullet previously said only "must fail loudly"
without describing the actual behavior introduced in #69. Expand it to
show the two-path failure logic (issue_number present vs missing), the
exact error message, the recovery command, and a separate bullet
explaining the implementer's optional pr_number semantics.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request Apr 28, 2026
…examples

- README.md uninstall section listed `state:in-progress` which doesn't
  exist; the correct label created by the install skill is
  `agent-team:reviewed`. Fixes the stale label name.

- catalog/agent-team/README.md step 4 now includes concrete
  `gh workflow run` commands for re-dispatching each agent role manually.
  Each workflow reads inputs via `${{ github.event.inputs.* }}` (fixed in
  PR #69); the examples make the correct `-f` flags explicit so users can
  retry a stuck stage without guessing the input names.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request May 1, 2026
PR #69 hardened all three dispatch-receiving agents (planner, implementer,
reviewer) to fail loudly when workflow_dispatch inputs are missing or arrive
as unresolved template literals. The catalog README was updated in that PR,
but the install-agent-team SKILL.md still listed escape hatches without
mentioning the input contract.

Add a "Manual re-dispatch" bullet to the step-8 install summary and extend
the user-journey escape-hatch line to include the required --field flags and
the fail-loud behaviour, so users reading only the skill file get the full
picture before attempting a manual gh workflow run.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request May 4, 2026
Add a per-role input reference table to the "Kicking off a task"
section so users know exactly which inputs are required vs optional
when manually re-dispatching planner, implementer, or reviewer.

Document the exact blocked-state error message and how to recover
from a `state:blocked` caused by missing dispatch inputs (as
opposed to a human-added block), since the recovery path differs.

Expand the "Input propagation" gotcha to include the failure
message and cross-reference the new table.

Follows the behavioral fix in #69 (fail loud on missing
workflow_dispatch inputs, harden optional implementer pr_number).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request May 5, 2026
- catalog/agent-team/README.md: add `pr_number` lifecycle section to the
  handoff model (blank on first impl → creates PR; reviewer passes it back
  on kickback → implementer pushes to existing branch). Expand "Input
  propagation" gotcha with the exact error message, unresolved-literal
  detection, and the optional-by-design note for pr_number.
- CONTRIBUTING.md: replace "no automated test harness" with the actual
  tiered test strategy (tier-2 invariants, tier-1 skill tests, tier-3 E2E)
  and clear guidance on when to run each tier.

Follows PR #69 (fix agent-team dispatch-input hardening).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request May 8, 2026
…overy

Expand the "Input propagation" gotcha bullet to describe the exact
failure mode introduced by PR #69: agents check for unresolved
${{ github.event.inputs.* }} literals (not just empty strings), post
a specific 🛑 error comment when inputs are missing, and surface the
recovery path.

Add a new Troubleshooting section with concrete gh workflow run
commands for manually re-dispatching a stalled planner, implementer,
or reviewer, and a note explaining how the implementer distinguishes
a first-attempt blank pr_number from a kickback real PR number.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request May 11, 2026
- README.md: fix incorrect 7th label in uninstall section
  (`state:in-progress` → `agent-team:reviewed`); expand to explicit
  per-label `gh label delete` commands for clarity
- catalog/agent-team/README.md: expand "Input propagation" gotcha to
  document the fail-loud behavior added in #69 — unresolved template
  literal detection, issue_number-missing vs. present handling, and the
  pr_number blank/literal treatment for first-dispatch vs. kickback
- CONTRIBUTING.md: fix "seven dogfooded workflows" → six (three agentic
  + three CI), and clarify that only the agentic workflows are gh-aw
  managed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
github-actions Bot added a commit that referenced this pull request May 12, 2026
…umber hardening

Mirrors the fixes from #69 (fail loud on missing dispatch inputs, harden
optional implementer pr_number) in the user-facing README:

- Expand the "Input propagation" gotcha to describe the two failure modes
  (state:blocked comment when issue_number is present; missing_data /
  report_incomplete when it is absent) and call out that unresolved
  template literals are treated the same as missing values.
- Add a "pr_number handling" gotcha documenting that blank *or* unresolved
  literal → new branch, not an update to an existing PR.

Also fix a broken link in CONTRIBUTING.md: the "Publishing" section it
pointed to was removed in v0.2 and never replaced.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

agent-team: -f issue_number=... inputs not reliably propagated to implementer-agent on manual dispatch

1 participant