diff --git a/README.md b/README.md index b1197a4..ae3b493 100644 --- a/README.md +++ b/README.md @@ -144,8 +144,13 @@ finders with a Gap noted; it never fails the review. ### 4. Config -Set `pr_reviewer.repos` (the managed allowlist — the gate runs *before* any GitHub call, -so an unlisted repo never triggers a lookup on your credentials) and `github.write: true`. +Set `github.write: true`. `pr_reviewer.repos` is optional: **empty means review any repo +the GitHub App installation covers** — installing the App on a repo is already an +explicit, revocable, audited grant, so an empty list isn't "review nothing," it's +"GitHub's installation picker is the only gate" (pr-reviewer-plugin#115). Set `repos` +only when you want to review a *subset* of the installed repos; when set, it's checked +*before* any GitHub call, so an unlisted repo never triggers a lookup on your +credentials. Everything operator-tunable reads **config first, env as fallback**, and resolves **live** — editing `repos` or flipping a kill switch takes effect without a restart. See the diff --git a/protoagent.bundle.yaml b/protoagent.bundle.yaml index 742ed21..0c1f632 100644 --- a/protoagent.bundle.yaml +++ b/protoagent.bundle.yaml @@ -45,9 +45,12 @@ config: default_repo: "" repos: [] # The reviewer machinery (ADR 0078 Phase C). SHADOW by default: every verdict is a - # COMMENT review. repos = the managed allowlist (webhook + sweep scope) — empty - # until the operator names them. webhook_secret is a SECRET (set via Settings; it - # lands in the untracked secrets.yaml overlay). + # COMMENT review. repos = an OPTIONAL narrowing allowlist (webhook + sweep scope) — + # EMPTY means "whatever the GitHub App installation covers", not "review nothing". + # GitHub's own installation repo-picker is the real gate; set `repos` only to + # restrict review to a subset of the installed repos (pr-reviewer-plugin#115). + # webhook_secret is a SECRET (set via Settings; it lands in the untracked + # secrets.yaml overlay). pr_reviewer: repos: [] shadow_mode: true