Skip to content

fix(pr-review): per-agent skip + no self-triggered shadow runs#3

Merged
WeekendSuperhero merged 1 commit into
mainfrom
fix/per-agent-skip-and-quiet-labels
Jul 17, 2026
Merged

fix(pr-review): per-agent skip + no self-triggered shadow runs#3
WeekendSuperhero merged 1 commit into
mainfrom
fix/per-agent-skip-and-quiet-labels

Conversation

@WeekendSuperhero

Copy link
Copy Markdown
Contributor

Two fixes from the first live rounds of the review loop:

1. Per-agent skip (stop burning sessions on already-approved agents)

The same-SHA skip was all-or-nothing, so a press re-ran all agents even when security/tests had already cleared the exact head SHA. Now each agent skips individually when its sticky marker covers the head SHA and its positive label still stands — the verdict is read from the labels, no Jules session spent.

  • failed/errored agents at this SHA do re-run → a press doubles as a re-roll of open verdicts
  • all agents positive at the current SHA → whole press no-ops
  • muse:force re-runs everyone; removing an agent's positive label by hand forces just that agent
  • finalize counts skipped agents as positive for the muse:approved rollup, labels untouched

2. No self-triggered shadow runs

muse:reviewing was added with the app token, whose labeled event spawns a new caller run — its jobs skip, but that newer (skipped) run replaced the live round in the PR checks view. All label writes now use github.token, whose events never trigger workflows.

Verification

  • bash -n all run blocks · actionlint clean
  • Skip-decision fixture: never-reviewed → run, current+positive → skip, current+failed → re-run
  • Live: on a PR with security:clear at head, press muse:review → only the non-clear agents spin sessions; PR checks keep showing the live round

Two field reports from the first live rounds:

1. A press re-ran ALL agents even when some had already cleared the
   exact head SHA — the same-SHA skip was all-or-nothing. Now each
   agent is skipped individually when its sticky marker covers the head
   SHA AND its positive label still stands (the verdict is read from
   the labels; no session spent). Agents that failed or errored at this
   SHA still re-run, so a press doubles as a re-roll of open verdicts;
   all-positive at the current SHA no-ops the whole press. muse:force
   re-runs everyone; hand-removing a positive label forces that agent.
   finalize counts skipped agents as positive for the muse:approved
   rollup and leaves their labels untouched.

2. Adding muse:reviewing used the app token, whose labeled event spawns
   a new run of the caller workflow — its jobs skip, but the newer
   (skipped) run replaced the live round in the PR checks view. All
   label writes now use github.token, whose events never trigger
   workflows: no more shadow runs mid-round.
@WeekendSuperhero
WeekendSuperhero merged commit efb124f into main Jul 17, 2026
3 checks passed
@WeekendSuperhero
WeekendSuperhero deleted the fix/per-agent-skip-and-quiet-labels branch July 17, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant