ADR 0078 is Accepted and everything is built; stage-1 (the ≥2-repo / ≥2-week three-way shadow report) starts when these operator calls are made:
1. Vera's GitHub identity — required
The dry run proved it twice: GitHub 422s a review APPROVE from the PR author's own token, and the self-review guard drops same-identity PRs by design. The reviewer must run under an identity that does not author PRs in the managed repos — a dedicated machine account PAT or (better, matching Quinn) a GitHub App. The ADR deferred this to Phase D; it's now the blocking decision.
2. Shadow repos — required
3. Where Vera runs — required
Then
Data accrues automatically (telemetry + posted COMMENT verdicts). The report comes from GET /api/plugins/pr-reviewer/eval + eval.three_way_rows (us vs Quinn's verdicts vs CodeRabbit threads per PR), with Quinn's own metrics (99.4% completion, 44.7s median) as the floor. Stage-2 (formal layer) and stage-3 (per-repo promotion handover / retirement) stay data-earned per-repo decisions.
Housekeeping
🤖 Generated with Claude Code
ADR 0078 is Accepted and everything is built; stage-1 (the ≥2-repo / ≥2-week three-way shadow report) starts when these operator calls are made:
1. Vera's GitHub identity — required
The dry run proved it twice: GitHub 422s a review APPROVE from the PR author's own token, and the self-review guard drops same-identity PRs by design. The reviewer must run under an identity that does not author PRs in the managed repos — a dedicated machine account PAT or (better, matching Quinn) a GitHub App. The ADR deferred this to Phase D; it's now the blocking decision.
protovera, mirroring@protoquinn)gh auth/ token in the instance env for theghCLI + git clones2. Shadow repos — required
protoLabsAI/protoAgent,protoLabsAI/projectBoard-plugin) and setpr_reviewer.reposhttps://<host>/plugins/pr-reviewer/webhook, JSON, secret →pr_reviewer.webhook_secret(Settings; it lands in the secrets overlay)3. Where Vera runs — required
model.api_keyin config orOPENAI_API_KEYinprotoagent.envboth work now, the plugin falls back to host config)python -m server plugin install https://github.com/protoLabsAI/qaEngineer, enable[workflows, github, pr-reviewer], keepshadow_mode: true,promotion_owner: falsegit,gh(as Vera),clawpatch(npm i -g @protolabsai/protopatch)Then
Data accrues automatically (telemetry + posted COMMENT verdicts). The report comes from
GET /api/plugins/pr-reviewer/eval+eval.three_way_rows(us vs Quinn's verdicts vs CodeRabbit threads per PR), with Quinn's own metrics (99.4% completion, 44.7s median) as the floor. Stage-2 (formal layer) and stage-3 (per-repo promotion handover / retirement) stay data-earned per-repo decisions.Housekeeping
mabry1985/qa-dryrun(private scratch repo from the acceptance run; token here lacked admin scope)🤖 Generated with Claude Code