# Judge spawn prompts Load when dispatching Track B or Track C judges. Substitute: - `REPO` = target repository root - `RUN_DIR` = `$REPO/.harness-eval/runs/` - `MODEL_ID` = allowlisted non-fast model id used for this judge (required in output headers) --- # Track B — Redundancy Score table header (required by `merge_agreement.py`): ```markdown | ID | Cost | Class | Evidence | Confidence | Trim suggestion | ``` Allowed Class values: `REDUNDANT-CODE`, `REDUNDANT-GENERAL`, `KEEP-POLICY`, `KEEP-CAVEAT`, `KEEP-ROUTING`, `KEEP-COMPRESSED`, `UNCLEAR`. Hard rubric: cost ≥ 2 → never REDUNDANT-*. README out of scope. Default KEEP/UNCLEAR when unsure. Score every ID in `claims.md` including `P00x`. ## Judge1 prompt (Track B) ``` You are Judge1 for a stack-agnostic harness redundancy audit. Score EVERY claim row in: /claims.md Follow the rubric in that file exactly. Rules: - Verify rediscovery against the live repo. Do not assume a stack beyond what exists. - README is OUT OF SCOPE — never cite README as evidence. - Hard rule: cost ≥ 2 → never REDUNDANT-*. - Default KEEP/UNCLEAR when unsure. - Score ALL IDs including P00x (you do not know which are plants). - You MAY read /inventory.json. Do NOT read trap-key.json or claims.jsonl. Write ONLY to: /05-redundancy-j1.md Start with: # Redundancy Judge1 > run: > model: Then a short counts summary, then the full table covering every ID from claims.md. ``` ## Judge2 prompt (Track B, blind) ``` You are Judge2 (BLIND second scorer) for a stack-agnostic harness redundancy audit. Score EVERY claim row in: /claims.md Follow the rubric in that file exactly. Hard blind constraints — do NOT read: - trap-key.json - claims.jsonl - 05-redundancy-j1.md - 07-agreement.md - any prior harness-eval agreement/redundancy reports outside this claims.md + inventory.json Rules: - Verify rediscovery against the live repo. No stack assumptions. - README out of scope — never cite it. - cost ≥ 2 → never REDUNDANT-*. - Default KEEP/UNCLEAR when unsure. - Score ALL IDs including P00x. Write ONLY to: /06-blind-scores.md Start with: # Blind scores Judge2 > run: > model: Then counts summary, then the full table. ``` --- # Track C — Usefulness Score **surfaces** in `/surfaces.md` (not claims.md). Required table header (parsed by `merge_usefulness.py`): ```markdown | ID | Overall | Keep-core | Slim | Overlap cites | Evidence | Confidence | ``` Allowed Overall values: `KEEP-CORE`, `MIXED`, `SLIM`, `ROUTING-ONLY`, `UNCLEAR`. Section tags inside Keep-core / Slim cells: `BEHAVIOR-CHANGING`, `REPO-DEMONSTRATED`, `THEORY`, `OVERLAP`, `ROUTING-ONLY`. **Keep-core / Slim cells must be actionable** (especially when Overall is MIXED): name the concrete sections, patterns, modules, or checklist items to keep vs cut (e.g. `KEEP: ApiErrors concern + error envelope`; `CUT: long BoardsController fences`). Vague cells block Mixed apply. Merge copies these cells into `11-mixed-apply.md`. **Model sensitivity:** Your prior about “general knowledge” affects THEORY vs BEHAVIOR-CHANGING. Prefer UNCLEAR over SLIM when the call is mostly your prior. Always put `model: ` in the header. ## Usefulness Judge1 prompt ``` You are Usefulness Judge1 for a stack-agnostic harness audit (Track C). Score EVERY surface in: /surfaces.md Read the rubric at the top of that file. For each surface, open the real file on disk when the deck preview is truncated. If the path does not exist on disk, score from the fenced body only. Question: if this surface were deleted, and an agent could still list the repo and open 1–2 canonical examples — and any other harness surface that mandates loading this path still runs — would behavior change? Rules: - Evidence-or-zero. Cite harness paths and/or example code paths. - README out of scope — never cite it. - OVERLAP must cite another harness surface path. - REPO-DEMONSTRATED must cite a concrete example file in the Evidence / Overlap columns of the score table only. Do not recommend adding that path into the harness surface as a `See …` replacement when trimming. - If another harness skill/doc hard-loads this path as source of truth or required Phase-0/load reading, prefer KEEP-CORE or MIXED (keep the checklist body) over SLIM — do not assume seed inventory is the full consumer set; search skill trees when unsure. - Default UNCLEAR when unsure (especially when relying on model general knowledge). - Score ALL IDs including S9xx (you do not know which are plants). - Do NOT read usefulness-trap-key.json, surfaces.json, 09-usefulness-j2.md, or 10-usefulness-agreement.md. - You MAY read inventory.json and other harness files for overlap checks. - A merge-time fan-in gate also blocks Slim apply when mandate citers exist; still score honestly. - For MIXED rows, Keep-core and Slim cells must name what to preserve vs remove so merge can build `11-mixed-apply.md`. Write ONLY to: /08-usefulness-j1.md Start with: # Usefulness Judge1 > run: > model: Then a counts summary by Overall class, then the full table covering every surface ID. ``` ## Usefulness Judge2 prompt (blind) ``` You are Usefulness Judge2 (BLIND) for a stack-agnostic harness audit (Track C). Score EVERY surface in: /surfaces.md Read the rubric at the top of that file. Open real files when previews are truncated; if a path is missing on disk, score from the fenced body only. Hard blind constraints — do NOT read: - usefulness-trap-key.json - surfaces.json - 08-usefulness-j1.md - 10-usefulness-agreement.md - Track B score/agreement files (05/06/07) for deciding usefulness classes Rules: - Same counterfactual and evidence rules as Judge1 (including hard-load / SoT consumers outside a seeded inventory). - README out of scope. - Default UNCLEAR when unsure. - Score ALL IDs including S9xx. - Record your model id. - For MIXED rows, Keep-core and Slim cells must be actionable (named keep vs cut) like Judge1. Write ONLY to: /09-usefulness-j2.md Start with: # Usefulness Judge2 (blind) > run: > model: Then counts summary, then the full table. ```