# examples/reviewer — the light-tier canary A **gadfly-shaped adversarial PR reviewer built on the executus core only** — no batteries, no database, no host adapters. It exists to prove that the core is sufficient for a static-binary light host (gadfly's shape), and that such a host keeps a `go.sum` free of `gorm`/`redis`/`discordgo`/`sqlite`. What it exercises, all from core: | Concern | executus core piece | |---|---| | Env-driven model fleet + tier overrides | `config.Env` + `model.Configure` | | Tier resolution + failover | `model.ParseModelForContext` | | N models × M lenses swarm | `fanout.Run` (with `PerKey` per-provider caps) | | Structured findings per cell | `model.GenerateWith[T]` | | One report section per model, worst-verdict-led | `Consolidate` (local) | ## Run ```sh REVIEWER_MODELS=fast,thinking \ ANTHROPIC_API_KEY=sk-... \ go run ./examples/reviewer -diff "$(git diff HEAD~1)" ``` Config (all optional, `REVIEWER_`-prefixed env): - `REVIEWER_MODELS` — csv of tier names / `provider/model` specs (default `fast`) - `REVIEWER_MODEL_TIER_` — override a tier's resolved spec - `REVIEWER_MAX_CONCURRENT` — total in-flight swarm cells (default 6) - `REVIEWER_PROVIDER_CONCURRENCY` — per-provider cap (default 3) ## Test `reviewer_test.go` runs the whole swarm against majordomo's fake provider (hermetic, no network) and asserts the consolidated verdicts. A `go list -deps` check in CI confirms the package pulls in no battery and no DB driver — the light-tier invariant.