# Using the judge panel — practical guide How to actually drive the gateway: the panel, the templates, and how to budget realistically when you feed it a whole repo. All examples assume: ```bash URL=https://.hf.space # your deployed Space TOK= # bearer token (see SECURITY.md to create/rotate) ``` Every route except `/health` needs `-H "Authorization: Bearer $TOK"`. **Frontier judges are slow** — prefer `"async": true` and poll `/api/jobs/:id`. --- ## 1. The panel — `POST /api/panel` One input → fanned out to a diverse panel (different model families AND providers, so the opinions are uncorrelated) → merged. One judge being down never fails the request. ```bash # async (recommended): submit, get a job_id, poll JID=$(curl -sS -X POST "$URL/api/panel" -H "Authorization: Bearer $TOK" \ -H 'Content-Type: application/json' -d '{ "input": "Review this rollout plan: ", "role": "critiquer", "effort": "high", "privacy": "strict", "async": true }' | jq -r .job_id) # poll every ~2s until meta.complete; show each judge as it lands curl -sS "$URL/api/jobs/$JID" -H "Authorization: Bearer $TOK" | jq '.merged, .meta' ``` **Roles** (`role`): `critiquer` (default), `verifier` (PASS/FAIL vote), `generator` (alternatives), `transformer` (rewrite), `parser`/`planner` (to JSON). Or pass `"system"` for a fully custom prompt (overrides `role`). **Knobs that matter:** - `effort`: `low`=1 judge/½ tokens · `med`=3 · `high`=5/1.5× · `max`=all/2×. Controls fan-out width, per-judge token budget, and timeout. - `privacy`: `strict` (default — never routes to a training/logging host), `fallback` (safe first, unsafe only if needed), `off`. See PRIVACY.md. - `panel`: `["kimi-k2.6","glm-5.1",...]` to override the default judges. Names come from `GET /api/roster` (logical models) or physical `provider/model` slots. - `reasoning: true` deep-thinks; `research: true` adds a web ReAct loop (needs egress). - `merge`: `dedupe` (consensus-tagged) · `vote` · `concat` · `none`. **Reading the result:** lead with `merged`. In dedupe mode, bullets tagged `(flagged by N judges)` are the strongest signal — independent judges agreeing. A partial panel (some judges `error`/429) is by design, not a failure. --- ## 2. Whole-repo review — the `files` form Instead of `input`, send the codebase and the panel reviews it in one pass. Each judge gets the pack **fitted to its own context window**, and reports `coverage` (what it actually saw). ```bash # build {path: content} for your source files, then: curl -sS -X POST "$URL/api/panel" -H "Authorization: Bearer $TOK" \ -H 'Content-Type: application/json' -d @- <`. - Privacy modes + every off-switch: `PRIVACY.md`. Auth/token setup: `SECURITY.md`. - The `/critique` Claude Code skill wraps all of this — see `.claude/skills/critique/`.