Skip to content

agent-team: thread spec/plan/impl run_id through dispatch inputs so reviewer's summary table is deterministic #50

@verkyyi

Description

@verkyyi

Summary

The reviewer's final pipeline-summary comment reconstructs the run table by calling gh run list --workflow=<name>.yml --limit 10 and picking the most-recent successful run per stage. This is fragile: with two concurrent agent-team issues, the reviewer will cross-wire runs from different pipelines into one summary. Even single-issue pipelines can mis-link if a stage was re-dispatched (as happened on verkyyi/agentfolio#105, where impl ran 3 times — the heuristic picks whichever completed last, not whichever led to the approved PR).

Proposal

Thread run IDs through the existing dispatch chain. Each agent passes its predecessors' IDs forward:

  • spec-agent dispatches planner with spec_run_id=${{ github.run_id }}
  • planner-agent dispatches implementer with spec_run_id passthrough + plan_run_id=${{ github.run_id }}
  • implementer-agent dispatches reviewer with spec_run_id + plan_run_id passthrough + impl_run_id=${{ github.run_id }}
  • reviewer-agent renders the summary table straight from its inputs — no gh run list lookup.

Backward-compat: if an input is missing (old dispatcher), fall back to the current heuristic and emit a warning comment.

Acceptance

  • All four .md files in catalog/agent-team/ declare / accept / pass through the run-id inputs.
  • Reviewer's <!-- agent-team:summary --> comment uses the inputs directly.
  • Concurrency test: two issues labeled agent-team at the same time produce two correct, non-crossed summary tables.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions