plugin-review
| Placement | runtime (out-of-process over gRPC) |
| Source | github.com/opencharly/plugin-review/candy/plugin-review |
| Version | 2026.263.2100 |
| Candy | plugin-review |
This plugin is not listed in charly/charly.yml’s compiled_plugins:. It is not part of the shipped binary: charly builds and loads it out-of-process over gRPC when a plan references one of its words (the coexist path).
Providers
Section titled “Providers”The reserved words this plugin serves:
review— command class
What it does
Section titled “What it does”The OpenCharly PR-review engine (command:review): it assembles the
COMPLETE PR context (the body, EVERY changed file’s full unified diff,
the commits, and the comment thread — newest comments whole, with any
oversize thread summarised) into ONE message and makes ONE model call —
no tool loop, no plan executor, no runtime prompt file. The prompt is
EMBEDDED (prompt.md); every model-behaviour knob is an AI_REVIEW_* env
var declared below and consumed by config.go (FromEnv), so an operator
sets everything from a GitHub Actions variable without a rebuild. A
deterministic Verdict: PASS|BLOCK line, ONE PR comment, and
$GITHUB_OUTPUT compatibility (response/success/verdict).
Parameter schema
Section titled “Parameter schema”The CUE schema below is the authoritative grammar for this plugin’s input. It is the same single source that generates the plugin’s Go parameter types and answers the runtime Describe RPC, so this page cannot disagree with either.
schema/review.cue
Section titled “schema/review.cue”// plugin-review's OWN self-contained CUE schema — the SINGLE SOURCE for this plugin's// served declaration surface (there is no schema-less plugin: every plugin ships a// non-empty schema over Describe).//// SELF-CONTAINED and PACKAGE-LESS: it references no base def and carries no package// clause, so it compiles STANDALONE — the property the SDK's serve-side compile needs// and the property that lets the host splice `base ++ plugin` at the load gate// (registerPluginUnitSchema); a self-contained schema that will not splice is a LOUD// load failure.//// NO GO CONSUMER: the plugin declares no typed `plugin_input` (its authored input is// its pass-through CLI grammar), so this schema generates NO `params` package and has// NO `cue exp gengotypes` artifact — it is the SERVED documentation/config surface,// not a code-generation source.//// It DOCUMENTS the `command: review` contract. The `AI_REVIEW_*` configuration// surface is declared in `charly.yml`'s `env_accept:` list (its single source) and// consumed by `config.go` (`FromEnv`).#ReviewPlugin: { // The command word the plugin serves. command: "review"
// What the command does, in one line (the public-docs surface). contract: string & !=""
}See also the candy reference for this candy’s install surface.