Dashboard › institutional-transition-lab › Distillation
9dd50056-f279-44d3-9f60-6be6faf11aeb["lore_tm_v1_KsdW2AHLA5rWTGs_S7Hl3Qqumk_5hFmtlZ-O8hfOzUo","lore_tm_v1_jZdjadZSBNWbPk9j8eAaVPHDeUQHwggQ-LesaW7mt6M","lore_tm_v1_uipSFmVjJRJc3xjoFvto3d60zfBcMEDrpEpMD_W1Wnc"]
schema/governance-adjudication-v1.schema.json is JSON Schema draft 2020-12, titled Performance-blinded governance adjudication v1, with $id https://institutional-transition-lab.local/schema/governance-adjudication-v1.schema.json; its root object disallows additional properties and requires schema_version, adjudication_id, design_status, transition_dates_excluded, outcome_data_used, inputs, reviewers, and records.schema/governance-adjudication-v1.schema.json are schema_version: 1, design_status: "performance_blinded_llm_assisted_source_adjudication", transition_dates_excluded: true, and outcome_data_used: false; adjudication_id must be non-empty, while reviewers and records must each contain at least 1 item.schema/governance-adjudication-v1.schema.json disallows additional properties and requires reviewer_id, reviewer_type, model, role, and assistance; reviewer_id and assistance must be non-empty strings, and model may be a non-empty string or null.schema/governance-adjudication-v1.schema.json disallows additional properties and requires exactly record_id, source_url, decision, accepted_from, reviewer_ids, rationale, evidence_limitations, unresolved_reason, claim_evidence_refs, final_coding, and graph_edge_revision. source_url must be a URI; reviewer_ids must be a non-empty unique string array; rationale must be non-empty; evidence_limitations and unresolved_reason may be non-empty strings or null; and final_coding plus graph_edge_revision may each be their defined object or null.edge_revision in schema/governance-adjudication-v1.schema.json disallows additional properties and requires basis, added, and removed; basis permits luna_a, luna_b, terra_advisory, or null, while added and removed are arrays of complete power_change objects.src/institution_lab/governance_adjudication.py; other matches appeared in src/institution_lab/llm_triage_compare.py and src/institution_lab/llm_event_probe.py._validate_record logic in src/institution_lab/governance_adjudication.py lines 220β250 validates that decision belongs to DECISIONS; reviewer_ids is non-empty, contains only non-empty unique strings, and references known reviewers; and rationale is non-empty. For decision == "accept", accepted_from must be in RESPONSE_SOURCES, the named frozen response must be valid, and final_coding must equal it exactly; every non-accept decision requires accepted_from: null.src/institution_lab/governance_adjudication.py lines 252β273 requires accept, revise, and reject decisions to provide dictionary-valued final_coding that passes validate_response(final_coding, document). An abstain requires final_coding: null and a non-empty unresolved_reason; resolved decisions require unresolved_reason: null. A reject cannot resolve to a record_class in INSTITUTIONAL_CLASSES.src/institution_lab/governance_adjudication.py lines 275β291 validates every claim_evidence_refs item with _evidence_errors(..., claim=True). When final_coding.record_class belongs to INSTITUTIONAL_CLASSES, every non-null field in CLAIM_FIELDS must have a corresponding claim evidence reference or validation emits "{prefix}: {field} is not grounded".src/institution_lab/governance_adjudication.py lines 293β310 requires graph_edge_revision: null for abstain and a dictionary for every resolved decision. Its basis must be a response source or None; an accepted recordβs basis must equal accepted_from; and added and removed must exactly equal graph_edge_diff(baseline, final_coding), otherwise validation reports that the respective revision array βis not derived.βvalidate_adjudication() in src/institution_lab/governance_adjudication.py lines 314β331 accepts adjudication, documents, coding_package, and keyword-only verified_pins, returning tuple[list[str], dict[str, Any]]. It enforces transition_dates_excluded is True, outcome_data_used is False, requires inputs to be an object, and compares every sorted member of REQUIRED_INPUT_PINS against verified_pins.