What happened
PR #32 (problem-cognitive-debt) was opened by a human contributor on 2026-03-18 and closed without merging on 2026-05-14. The branch name does not follow the agent/{issue}-{slug} pattern. No triage, code, review, or fix workflow runs were dispatched in fullsend-ai/.fullsend for this PR. The only workflow run was fullsend.yaml run 25871472428, triggered by the pull_request_target close event, which correctly skipped all agent dispatch jobs but still dispatched a retro. The retro agent then ran, consumed tokens, and found nothing to analyze.
What could go better
The retro dispatch should not fire on PRs where no agent participated. This retro run consumed tokens and compute time with no useful output — there was no agent workflow graph to trace, no agent decisions to evaluate, and no agent-generated code to review. Confidence: high. The evidence is unambiguous — zero agent runs were associated with this PR, and the branch naming clearly indicates human authorship. This pattern likely recurs on any human-authored PR that gets closed or merged in repos with the fullsend workflow installed.
Proposed change
Add a condition to the dispatch-retro job in fullsend.yaml that checks for agent involvement before dispatching. Possible heuristics (use one or combine):
- Branch name check: Only dispatch retro if the head branch matches
agent/* pattern.
- Actor check: Only dispatch if at least one commit was authored by the agent bot account.
- Workflow run check: Only dispatch if there were prior triage/code/review/fix dispatches for the same PR.
Option 1 (branch name) is the simplest and cheapest — it requires no API calls and can be evaluated in the job's if: condition. Example: if: startsWith(github.head_ref, 'agent/'). Options 2 and 3 are more robust but require additional API calls in a setup step.
Validation criteria
After the change, closing or merging a human-authored PR (branch not matching agent/*) should not trigger a retro dispatch. Verify by: (1) closing a test PR with a non-agent branch name and confirming the dispatch-retro job shows as skipped, and (2) closing a PR with an agent/* branch and confirming the retro still dispatches normally. Monitor for 2 weeks to ensure no false negatives (agent PRs that should get retros but don't).
Generated by retro agent from #32
What happened
PR #32 (
problem-cognitive-debt) was opened by a human contributor on 2026-03-18 and closed without merging on 2026-05-14. The branch name does not follow theagent/{issue}-{slug}pattern. No triage, code, review, or fix workflow runs were dispatched infullsend-ai/.fullsendfor this PR. The only workflow run was fullsend.yaml run 25871472428, triggered by thepull_request_targetclose event, which correctly skipped all agent dispatch jobs but still dispatched a retro. The retro agent then ran, consumed tokens, and found nothing to analyze.What could go better
The retro dispatch should not fire on PRs where no agent participated. This retro run consumed tokens and compute time with no useful output — there was no agent workflow graph to trace, no agent decisions to evaluate, and no agent-generated code to review. Confidence: high. The evidence is unambiguous — zero agent runs were associated with this PR, and the branch naming clearly indicates human authorship. This pattern likely recurs on any human-authored PR that gets closed or merged in repos with the fullsend workflow installed.
Proposed change
Add a condition to the
dispatch-retrojob infullsend.yamlthat checks for agent involvement before dispatching. Possible heuristics (use one or combine):agent/*pattern.Option 1 (branch name) is the simplest and cheapest — it requires no API calls and can be evaluated in the job's
if:condition. Example:if: startsWith(github.head_ref, 'agent/'). Options 2 and 3 are more robust but require additional API calls in a setup step.Validation criteria
After the change, closing or merging a human-authored PR (branch not matching
agent/*) should not trigger a retro dispatch. Verify by: (1) closing a test PR with a non-agent branch name and confirming thedispatch-retrojob shows as skipped, and (2) closing a PR with anagent/*branch and confirming the retro still dispatches normally. Monitor for 2 weeks to ensure no false negatives (agent PRs that should get retros but don't).Generated by retro agent from #32