<!-- DOCS_JUDGE_ADAPTER_MAPPING:generic-contract -->
# Judge adapter mapping

Canonical HTML: https://spoolis.com/docs/judge-adapter-mapping. This page is also available in machine-readable Markdown.

Map evaluator, CI, test, and review outputs into the generic Spoolis judge adapter contract.

## The generic contract

binaryJudge accepts `{ pass }` or `{ units: [{ id, pass }] }`. scoredJudge accepts `{ quality, consensus }` or `{ units: [{ id, quality, consensus }] }`, with both scores from 0 through 100. The agreement declares the score thresholds and schema ID. Unit IDs must be nonempty and unique.

Spoolis derives pass, fail, or uncertain and binds the normalized result to the evaluator identity, condition reference, agreement hash, evidence root, observation time, and proof.

## Map existing judges

Braintrust, LangSmith, custom CI, deterministic test suites, human review, and marketplace evaluators all map through the same binary, scored, or per-unit shapes. The adapter translates the provider result; it does not make a provider schema part of the Outcome.

## Proof requirements

proof_requirement is declared, hashed_ref, or signed. Declared proof records `{ kind: "declared" }`. Hashed reference proof requires a reference and SHA-256 digest. Signed proof requires a signature reference and declared public key material. Missing or invalid required proof becomes uncertain or fail according to policy, never acceptance.

## Adapter boundary

Spoolis proves which declared judge produced the normalized result and what it was bound to. It does not prove that the judge was substantively correct.
