From ffe55de5c318de48edab49b90638c7cadd9ff6dc Mon Sep 17 00:00:00 2001 From: GitHub CI Date: Wed, 22 Jul 2026 21:00:20 -0700 Subject: [PATCH 1/3] =?UTF-8?q?chore(deps):=20pin=20pr-reviewer-plugin=20v?= =?UTF-8?q?0.9.0=20=E2=80=94=20hold=20the=20block=20on=20an=20unexplained?= =?UTF-8?q?=20clearance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v0.9.0 (pr-reviewer-plugin#27, issue #26). A zero-finding PASS is the highest-consequence verdict the panel posts: it dismisses our own standing REQUEST_CHANGES and clears the promotion path. On protoAgent#2141 the panel confirmed a major on one head, returned PASS with zero findings on the next with the code unchanged, the block lifted, and the defect merged 44 seconds later (protoAgent#2143, since fixed by #2164). A miss can't be caught the way a hallucination can — there's no claim to re-ground, and `findings=0` reads identically whether the code is clean or nobody looked. So the rule is structural: a blocker/major that DISAPPEARS without being fixed, carried, or refuted is unproven, not resolved, and the block stays up. The verdict still posts and names the dropped finding. The escape hatch matters as much as the rule: the FIRST clean PASS after a blocker/major holds, a SECOND consecutive one lifts — two independent draws finding nothing is evidence, one is a coin flip. Off switch: PR_REVIEWER_HOLD_UNEXPLAINED_CLEARANCE=false. Also gitignores data/review-eval/ — the hand-grounded findings dataset from the dogfood, kept local until it's worth moving to the protolabs node (protoLab#24). Labels and claim text only, no secrets. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 4 ++++ Dockerfile | 2 +- protoagent.bundle.yaml | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 02bd849..1236d40 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ .DS_Store .proto/ + +# Hand-grounded review-findings dataset — local until it's big enough to move to +# protolabs (see protoLab tracking issue). Contains no secrets, just labels + claims. +data/review-eval/ diff --git a/Dockerfile b/Dockerfile index 68321f7..b2d23d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,7 +31,7 @@ ARG GITHUB_PLUGIN_REF=v0.3.0 RUN git clone --depth 1 --branch "${GITHUB_PLUGIN_REF}" \ https://github.com/protoLabsAI/github-plugin.git /opt/protoagent/plugins/github \ && rm -rf /opt/protoagent/plugins/github/.git -ARG PR_REVIEWER_PLUGIN_REF=v0.8.0 +ARG PR_REVIEWER_PLUGIN_REF=v0.9.0 RUN git clone --depth 1 --branch "${PR_REVIEWER_PLUGIN_REF}" \ https://github.com/protoLabsAI/pr-reviewer-plugin.git /opt/protoagent/plugins/pr-reviewer \ && rm -rf /opt/protoagent/plugins/pr-reviewer/.git diff --git a/protoagent.bundle.yaml b/protoagent.bundle.yaml index 7c2b51d..70396ac 100644 --- a/protoagent.bundle.yaml +++ b/protoagent.bundle.yaml @@ -30,7 +30,7 @@ verified_against: 0.106.0 plugins: - { id: workflows, builtin: true } # the recipe engine (code-review panels run through it) - { id: github, url: https://github.com/protoLabsAI/github-plugin, ref: v0.3.0 } - - { id: pr-reviewer, url: https://github.com/protoLabsAI/pr-reviewer-plugin, ref: v0.8.0 } + - { id: pr-reviewer, url: https://github.com/protoLabsAI/pr-reviewer-plugin, ref: v0.9.0 } enabled: [workflows, github, pr-reviewer] # suggested turn-on list (applied to plugins.enabled) From 19e425442d6aa621f9de4df52cd2c7b8dc2ff0cf Mon Sep 17 00:00:00 2001 From: GitHub CI Date: Wed, 22 Jul 2026 22:02:10 -0700 Subject: [PATCH 2/3] =?UTF-8?q?chore(deps):=20pin=20pr-reviewer-plugin=20v?= =?UTF-8?q?0.12.0=20=E2=80=94=20grounding=20+=20dispositions=20+=20fan-out?= =?UTF-8?q?=20width?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Supersedes the v0.9.0 pin on this branch. v0.10.0 evidence grounding (a finding quoting absent code is downgraded to uncertain and can't carry a FAIL), v0.11.0 prior-finding dispositions (a confirmed blocker/major must be accounted for at any verdict), v0.12.0 panel fan-out width + per-step timings. NOTE the fan-out width (max_concurrency: 5 in the recipe) is a NO-OP until the base moves: it needs protoAgent#2168, which landed after the v0.107.0 tag, and this bundle pins protoagent 0.106.0. The grounding and disposition work has no such dependency and takes effect on this pin alone. Co-Authored-By: Claude Opus 4.8 (1M context) --- Dockerfile | 2 +- protoagent.bundle.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b2d23d0..3d236c4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,7 +31,7 @@ ARG GITHUB_PLUGIN_REF=v0.3.0 RUN git clone --depth 1 --branch "${GITHUB_PLUGIN_REF}" \ https://github.com/protoLabsAI/github-plugin.git /opt/protoagent/plugins/github \ && rm -rf /opt/protoagent/plugins/github/.git -ARG PR_REVIEWER_PLUGIN_REF=v0.9.0 +ARG PR_REVIEWER_PLUGIN_REF=v0.12.0 RUN git clone --depth 1 --branch "${PR_REVIEWER_PLUGIN_REF}" \ https://github.com/protoLabsAI/pr-reviewer-plugin.git /opt/protoagent/plugins/pr-reviewer \ && rm -rf /opt/protoagent/plugins/pr-reviewer/.git diff --git a/protoagent.bundle.yaml b/protoagent.bundle.yaml index 70396ac..f6c2423 100644 --- a/protoagent.bundle.yaml +++ b/protoagent.bundle.yaml @@ -30,7 +30,7 @@ verified_against: 0.106.0 plugins: - { id: workflows, builtin: true } # the recipe engine (code-review panels run through it) - { id: github, url: https://github.com/protoLabsAI/github-plugin, ref: v0.3.0 } - - { id: pr-reviewer, url: https://github.com/protoLabsAI/pr-reviewer-plugin, ref: v0.9.0 } + - { id: pr-reviewer, url: https://github.com/protoLabsAI/pr-reviewer-plugin, ref: v0.12.0 } enabled: [workflows, github, pr-reviewer] # suggested turn-on list (applied to plugins.enabled) From 1ece1e164b5f7c5da0b9e2f9bfcab871866d9496 Mon Sep 17 00:00:00 2001 From: GitHub CI Date: Wed, 22 Jul 2026 22:23:08 -0700 Subject: [PATCH 3/3] chore(deps): pin pr-reviewer-plugin v0.14.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds v0.13.0 (a promoted WARN carries its findings + the marker gains findings=N), v0.13.1 (hermetic webhook test), v0.14.0 (dispatcher config resolved LIVE — editing repos or flipping shadow_mode/kill switches through Settings now takes effect without a restart, issue #11) on top of the v0.12.0 grounding + dispositions work. The fan-out width remains a no-op until the base moves off protoagent 0.106.0 (needs protoAgent#2168, which landed after the v0.107.0 tag). Co-Authored-By: Claude Opus 4.8 (1M context) --- Dockerfile | 2 +- protoagent.bundle.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3d236c4..ec7b8f4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,7 +31,7 @@ ARG GITHUB_PLUGIN_REF=v0.3.0 RUN git clone --depth 1 --branch "${GITHUB_PLUGIN_REF}" \ https://github.com/protoLabsAI/github-plugin.git /opt/protoagent/plugins/github \ && rm -rf /opt/protoagent/plugins/github/.git -ARG PR_REVIEWER_PLUGIN_REF=v0.12.0 +ARG PR_REVIEWER_PLUGIN_REF=v0.14.0 RUN git clone --depth 1 --branch "${PR_REVIEWER_PLUGIN_REF}" \ https://github.com/protoLabsAI/pr-reviewer-plugin.git /opt/protoagent/plugins/pr-reviewer \ && rm -rf /opt/protoagent/plugins/pr-reviewer/.git diff --git a/protoagent.bundle.yaml b/protoagent.bundle.yaml index f6c2423..48f31d4 100644 --- a/protoagent.bundle.yaml +++ b/protoagent.bundle.yaml @@ -30,7 +30,7 @@ verified_against: 0.106.0 plugins: - { id: workflows, builtin: true } # the recipe engine (code-review panels run through it) - { id: github, url: https://github.com/protoLabsAI/github-plugin, ref: v0.3.0 } - - { id: pr-reviewer, url: https://github.com/protoLabsAI/pr-reviewer-plugin, ref: v0.12.0 } + - { id: pr-reviewer, url: https://github.com/protoLabsAI/pr-reviewer-plugin, ref: v0.14.0 } enabled: [workflows, github, pr-reviewer] # suggested turn-on list (applied to plugins.enabled)