Human Adjudication Decision Contract
schemas/human-reliability/adjudication-decision-schema.json defines the handoff from the frozen #85 queue to the ingestion and validation work in #87. A schema-valid example is available at docs/reliability/adjudication/adjudication-decision-template.json.
Submission and queue identity
One submission belongs to exactly one case, cohort version, source language, and task layer. queue_snapshot binds the decisions to the queue’s logical path, SHA-256 digest, queue version, schema version, generator version and hash, code revision, and freeze timestamp. Queue ranks are deliberately absent from decision identity: queue_id and disagreement_id remain stable if a later queue version changes priority order.
The adjudicator uses a pseudonymous identifier and an explicit authorization record. Independence, source-language qualification, and conflict management are mandatory. A primary coder may participate in a panel when the conflict is managed, but cannot be the sole adjudicator for that cohort.
Decision statuses
Each queue item supports four statuses:
accepted: resolves the study disagreement to an explicit adjudicated value based on the left coder, right coder, reference, or a separately reasoned new value;rejected: rejects a proposed change, retains the current reference, records no change, or rejects the item as adjudicable within scope; it records no new adjudicated value or correction candidate;deferred: postpones the decision pending named follow-up work; andunresolved: records that the available evidence does not support a bounded resolution and names the required next action.
Accepted and rejected decisions require a numeric confidence from 0 through 1. Deferred and unresolved decisions keep confidence and adjudicated value null, use no_resolution, and require at least one follow-up action and owner role. Every status requires a rationale and at least one auditable evidence record.
Codebook and claim consequences
codebook_need separates no change, clarification, revision, training updates, and unresolved guidance. Non-none states name affected sections; a none state cannot quietly request re-coding.
Affected claims are recorded individually with no_change, review_required, or hold_pending_resolution, while broader affected-claim dimensions remain a separate controlled list. Adjudication does not silently edit a claim, report, or publication artifact.
Correction candidates are not promotion
An accepted adjudicated value resolves the reliability study only. It does not become an accepted corpus value automatically.
A decision may separately mark a correction_candidate and identify the canonical artifact, target ID, field, current value, proposed value, rationale, and stable candidate ID. Every candidate is fixed to:
promotion_status: pending_separate_authorization;promotion_id: null; anddirect_write_permitted: false.
The schema has no canonical-write, reference-update, or accepted-artifact field. Deferred and unresolved decisions cannot emit a ready candidate. Promotion requires the later protected-path workflow and audit record; neither #86 nor #87 authorizes it.
Storage boundary
Decision submissions may repeat source-derived evidence notes and therefore inherit the queue/cohort rights and storage policy. Local-only adjudication submissions and correction candidates stay inside the gitignored local human-reliability subtree.