Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
441f63a
implement(documenter): R1 single-body submission + E2 pr-context stag…
Jul 3, 2026
c2279b6
implement(coder): R8(a) versioned structured finding schema + validator
Jul 3, 2026
6a85827
implement(tester): unit tests for R8(a) finding schema/validator (tas…
Jul 3, 2026
107e956
implement(tester): unit tests for R8(a) finding schema/validator (tas…
Jul 3, 2026
8826894
Persist BRC history for slice-1 (#2548)
Jul 3, 2026
c02da14
slice-1: prettier fixes + changeset
jwbron Jul 3, 2026
b119a01
slice-1: drop BRC history artifacts from slice PR
jwbron Jul 3, 2026
b9508a6
review: address slice-1 feedback (empty body, lib distribution, comme…
jwbron Jul 6, 2026
123a10f
review: drop lib install step; scripts run via npx tsx
jwbron Jul 7, 2026
e637ece
implement(coder): R8(b) computed verdict + R8(c) Conventional-Comment…
Jul 3, 2026
8819339
implement(tester): R8(b)/R2 verdict truth-table + R8(c) rendering sna…
Jul 3, 2026
545e711
implement(tester): prettier-format task-2-4 test files (lint gate)
Jul 3, 2026
40efb53
implement(coder): prettier 2.6.2 lint fixes for slice-2 + finding-sch…
Jul 3, 2026
f618d2a
Persist BRC history for slice-2 (#2548)
Jul 3, 2026
6058d86
slice-2: changeset
jwbron Jul 3, 2026
da5b450
slice-2: drop BRC history artifacts from slice PR
jwbron Jul 3, 2026
0950bf2
review: address slice-2 feedback (verdict precedence, hold UX, empty …
jwbron Jul 6, 2026
6cfe3e3
implement(documenter): wire deterministic router into Step 3; drop re…
Jul 3, 2026
7959787
implement(documenter): fix router invocation path to lib/router.ts (r…
Jul 3, 2026
d96789d
implement(coder): R10 deterministic router + tier-scaled budget (slic…
Jul 3, 2026
3f919f3
implement(tester): R10 router unit tests — classification, lens, tier…
Jul 3, 2026
f3130ec
implement(coder): router CLI entrypoint + routing.json serialization …
Jul 3, 2026
a6984f1
Persist BRC history for slice-3 (#2548)
Jul 3, 2026
c41a812
implement(tester): cover router v2 serialization + CLI (toRoutingJson…
Jul 3, 2026
cb8d714
slice-3: replace satisfies with prettier-2-compatible check, changeset
jwbron Jul 3, 2026
29f2b6f
slice-3: drop BRC history artifacts from slice PR
jwbron Jul 3, 2026
abdf46c
review: address slice-3 feedback (consumer-owned routing config)
jwbron Jul 6, 2026
06cbb2e
review: last-match-wins tier precedence; move ROUTING format doc to R…
jwbron Jul 7, 2026
06ac3ee
implement(documenter): E1/E3/E5/E6/E7/R3b reliability prompt edits (s…
Jul 3, 2026
5bb941d
Persist BRC history for slice-4 (#2548)
Jul 3, 2026
a21b4ce
slice-4: changeset
jwbron Jul 3, 2026
fdf05d2
slice-4: drop BRC history artifacts from slice PR
jwbron Jul 3, 2026
798016b
review: address slice-4 feedback (steering text, touched-lines scoping)
jwbron Jul 6, 2026
238a355
implement(documenter): R9 bounded-investigation instructions for revi…
Jul 3, 2026
e5d1fd2
implement(coder): R9 per-finding investigation tool-call cap (slice-5)
Jul 3, 2026
8074db2
implement(tester): R9 per-finding tool-call cap tests (task-5-3)
Jul 3, 2026
a01c756
implement(tester): cover check() refusal previews (per-finding + run-…
Jul 3, 2026
1340a42
slice-5: prettier fix + changeset
jwbron Jul 3, 2026
7599eea
review: address slice-5 feedback (wire the investigation cap to its c…
jwbron Jul 6, 2026
3f01827
review: investigation-cap call sites run via npx tsx
jwbron Jul 7, 2026
4e62371
implement(documenter): slice-6 roster framework — always-on reviewers…
Jul 3, 2026
8d21077
Persist BRC history for slice-6 (#2548)
Jul 3, 2026
481198d
slice-6: changeset
jwbron Jul 3, 2026
33de326
slice-6: drop BRC history artifacts from slice PR
jwbron Jul 3, 2026
46228e0
review: rework slice-6 roster to opt-in (no new default cost)
jwbron Jul 6, 2026
8f8cb7c
review: genericize orchestrator (uniform findings contract, roster de…
jwbron Jul 7, 2026
ad4bede
slice-7: eleven specialist lenses (rebased onto genericized orchestra…
jwbron Jul 7, 2026
3e484a6
implement(coder): slice-9 — smoke benchmark (corpus + no-post runner …
Jul 3, 2026
f4160f2
implement(tester): slice-9 smoke.test.ts — vitest CI gate over the sm…
Jul 3, 2026
6eb3bf8
Persist BRC history for slice-9 (#2548)
Jul 3, 2026
54c36e2
slice-9: prettier fixes + changeset
jwbron Jul 3, 2026
cc4b30b
slice-9: drop BRC history artifacts from slice PR
jwbron Jul 3, 2026
53d0d9a
review: drop planning identifiers from the smoke benchmark (slice-9)
jwbron Jul 6, 2026
35216aa
review: drop low-value smoke corpus size test
jwbron Jul 7, 2026
72db740
Merge remote-tracking branch 'origin/main' into egg/pipeline-dcdad92d…
jwbron Jul 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/review-smoke-benchmark.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"review": minor
---

Add the smoke benchmark: a 13-case tagged subset of the eval corpus (incident repros, adversarial-injection PRs, known-clean PRs) in the shared dataset format, a no-post runner that replays cases through the real deterministic review path (router, labels, scope filter, verdict, render) with zero GitHub writes, and a vitest gate (`workflows/review/eval/smoke.test.ts`) that asserts each case's computed verdict against its expected block. A dedicated CI entry point is staged at `.github-staging/review-smoke.yml` pending a human `git mv` into `.github/workflows/`.
40 changes: 40 additions & 0 deletions .github-staging/review-smoke.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Review smoke benchmark (R5, task-9-4)
#
# STAGED FILE — NOT YET ACTIVE. It lives under `.github-staging/` because no
# producer role in this pipeline may push to `.github/` directly (gateway phase
# restriction, #2508). A human must move it into place for it to run:
#
# git mv .github-staging/review-smoke.yml .github/workflows/review-smoke.yml
#
# (See the PR body's "Pre-merge obligations" note.) Until then the smoke set is
# still enforced by the repo-wide `pnpm run test` gate in node-ci.yml, which runs
# the same vitest suite; this dedicated entry point just makes the smoke gate
# explicit and independently visible on every PR, and does not assume the
# existing CI wiring.
#
# It runs the slice-9 smoke benchmark: the tagged smoke subset of the eval corpus
# replayed through the no-post runner (workflows/review/eval/runner.ts), which
# exercises the real deterministic review path (router -> labels -> scope filter
# -> verdict -> render) and performs NO GitHub write. The vitest gate lives with
# the eval harness (workflows/review/eval/) and asserts each smoke case's computed
# verdict against its `expected` block.

name: Review Smoke

on:
pull_request:
paths:
- "workflows/review/**"
- ".github/workflows/review-smoke.yml"

jobs:
smoke:
name: PR-reviewer smoke benchmark
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
- uses: ./actions/shared-node-cache
# Run only the review eval harness (loader + no-post runner + smoke cases).
# `--run` forces a single non-watch run; the path filter scopes vitest to
# the smoke gate so this job stays fast and focused.
- run: pnpm run test --run workflows/review/eval
Loading
Loading