Imported from perbostudios/perbo (
packages/review/AGENTS.md). Install upstream withnpx skills add perbostudios/perbo --skill review. Copyright stays with the author.
Working in packages/review
The reviewer: what reaches it, how it judges, and what it may never see. The repository-wide rules are in the root AGENTS.md; these bind work here. README.md says what each file owns, and PROMPTS.md catalogues every prompt version.
- A change to the reviewer carries its regression-suite run (D-010). A pull request that changes
src/prompt.ts,src/blocking.ts, or the default model or provider carries a summary of a regression-suite run in its body, with theunstated_regressionrow first beside the two hard bars; that row is theunstated_regressionline of the Recall by class table in the run'sreport.md, and the page names the corpus the run must use. The reviewing run treats a missing summary as blocking..github/workflows/build.ymlruns the live suite for any change under this package, a wider net, because a path filter cannot see which change moved the default model. - The reviewer's inputs do not grow. It receives the approved plan, the change set, the check results and the files it selects itself.
ReviewInputhas no field for the executor's transcript, narrative or summary, and nothing may add one. There is one instruction position, the system prompt; everything else arrives as data inside<perbo:… trust="user|repo">blocks (ADR-0023). - Nothing a model returns becomes an action parameter. An ESLint rule bans process execution everywhere in this package except the two provider transports,
src/provider-cli.tsandsrc/provider-codex-cli.ts. - Three tests here judge the reviewer, and a pull request does not change them:
test/blocking.test.ts,test/remediation.test.tsandtest/decision-order.test.ts, named in.github/protected-paths.json. The prompt and the code are deliberately not on that list: changing them is the contribution this repository invites, held honest by the score above. - The blocking matrix has no confidence arithmetic. A hard gate is a
switchover named rows, and model confidence is never a multiplicand in one;test/blocking.test.tsgreps this package's source for a*besideconfidenceorseverity. src/repo.tswithholds a materialized secret (.env*,*.pem,secrets/**) and repository-supplied agent configuration from every model call (ADR-0030); both stay visible in the file listing, so a change that ships a hostile hook is still reportable.
pnpm check --filter @perbo/review