You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Reviewer: a moving v0 release tag so callers track releases without pinning to main #494
Repos that use the advisory reviewer have two bad options today:
Pin a release (advisory-review-agent.yml@v0.3.0, reviewer_ref: v0.3.0), as examples/review.yml recommends. Outerloop ships a release or rc every few days (v0.3.0rc1 on 10-03, rc2 on 10-04, v0.3.0 on 10-05), so a pin goes stale within days, and every caller has to be bumped by hand. Those bumps also have to keep uses: and reviewer_ref in step: per the input's description, a reviewer_ref older than the workflow can silently stop posting.
Track main, which examples/review.yml says never to do ("this job hands your reviewer key to the workflow, so never point it at a moving branch"). Anyone who can push to main then runs code that holds every caller's reviewer key.
Current callers (agentic-learning-ai-lab, 2026-10-08)
@v1, which does not exist, so every run fails before starting; agentic-lab#24 pins v0.3.0
unset
So 8 of 10 run on the moving branch the docs warn against, one is pinned to a SHA that never updates, and one was broken.
Proposal: a moving major tag, v0
The usual GitHub Actions convention: callers use advisory-review-agent.yml@v0 with reviewer_ref: v0, and each release moves v0.
release.yml: on a final-release tag push (v0.X.Y, not rc), move v0 to that commit (git tag -f v0 && git push -f origin v0). Release candidates never move it.
Protect the tags: a tag ruleset on v* so only the release process (or admins) can create, move or delete them. That keeps the main property of a pin: the code that receives callers' keys changes only when a release is cut, not on any push to main.
Create v0 at v0.3.0 now.
Docs:examples/review.yml, docs/install.md and docs/reviewer.md recommend @v0 + reviewer_ref: v0, and say why: they track releases automatically, the workflow and reviewer always move together, and the ref is never a branch. Pinning an exact release or SHA stays documented for callers who want to bump by hand.
Change the default: consider making reviewer_ref default to the workflow's own release rather than main, so a caller that leaves it unset is not silently on the moving branch.
Callers: switch the ten repos above to @v0 / reviewer_ref: v0 (separate PRs in each repo, after v0 exists).
Trade-off: a broken release reaches every caller at once. Recovery is to move v0 back to the previous release. Release candidates are where a bad change should be caught.
Not covered
Major-version bumps: at 1.0, callers move to @v1 deliberately, since a major release may break them.
Step 3 done: v0 now points at the v0.3.0 commit (4269877). Callers can use advisory-review-agent.yml@v0 with reviewer_ref: v0. Steps 1-2 (move v0 on each final release, tag ruleset on v*) and the docs/caller changes are still open.
Decision: external callers (the docs and examples) recommend @v0 with reviewer_ref: v0 (#495). The lab's own repos stay on @main, so they get reviewer fixes as soon as they merge; no caller-switch PRs for them. The one broken caller (agentic-lab on the nonexistent @v1) is covered by agentic-lab#24.
Activity
renmengye commentedon Oct 8, 2026
Step 3 done:
v0now points at the v0.3.0 commit (4269877). Callers can useadvisory-review-agent.yml@v0withreviewer_ref: v0. Steps 1-2 (movev0on each final release, tag ruleset onv*) and the docs/caller changes are still open.renmengye commentedon Oct 8, 2026
Decision: external callers (the docs and examples) recommend
@v0withreviewer_ref: v0(#495). The lab's own repos stay on@main, so they get reviewer fixes as soon as they merge; no caller-switch PRs for them. The one broken caller (agentic-lab on the nonexistent@v1) is covered by agentic-lab#24.