Skip to content

Operator decisions to start stage-1 shadow data collection #2

Description

@mabry1985

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.

  • Create/choose the identity (suggestion: an App like protovera, mirroring @protoquinn)
  • gh auth / token in the instance env for the gh CLI + git clones

2. Shadow repos — required

  • Pick ≥2 repos Quinn + CodeRabbit already review (e.g. protoLabsAI/protoAgent, protoLabsAI/projectBoard-plugin) and set pr_reviewer.repos
  • Add the GitHub webhook per repo: https://<host>/plugins/pr-reviewer/webhook, JSON, secret → pr_reviewer.webhook_secret (Settings; it lands in the secrets overlay)

3. Where Vera runs — required

  • A persistent instance (the local systemd unit is currently failed and has no gateway key in env — model.api_key in config or OPENAI_API_KEY in protoagent.env both work now, the plugin falls back to host config)
  • Install: python -m server plugin install https://github.com/protoLabsAI/qaEngineer, enable [workflows, github, pr-reviewer], keep shadow_mode: true, promotion_owner: false
  • Host needs: git, 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

  • Delete mabry1985/qa-dryrun (private scratch repo from the acceptance run; token here lacked admin scope)
  • pr-reviewer-plugin#1 stays as the standing draft review fixture — don't merge it
  • pr-reviewer-plugin#6 tracks the promote-retry backoff nit

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions