Dashboard › institutional-transition-lab › Distillation
abe14805-b2a7-4715-8e95-29e6f04a968c["lore_tm_v1_GrXSMYi0JeSZSMt-yAjf9EHtS3Ad9HPTG97ekk71J2U","lore_tm_v1_6vVdM3OAp6d4bPdyhQRzVJFlk1IqWL9aJ-UWVasB8Yg","lore_tm_v1_rwzmjkou15CkQ7Ncdea0WTnCFRbX05YvGkgPNQXEyVc"]
No files found; no files were modified./home/byk/Code/institutional-transition-lab/src/institution_lab/governance_adjudication.py lines 250-260, _source_index() retains only sources whose source_id and text are strings, then adds synthetic source record_metadata containing canonical compact JSON of record_id, source_url, published_on, publisher, and source_type.governance_adjudication.py lines 263-287 define _evidence_errors(): evidence must be an object with exactly source_id and quote, plus field for claim references; claim fields must belong to CLAIM_FIELDS; source_id and quote must be nonempty strings; the source must exist in the frozen document; and the quote must occur verbatim in the indexed source text._response_for() at lines 290-295 returns a coding response only when the named result is a dict, schema_valid is True, and response is a dict; otherwise it returns None.graph_edge_diff() at lines 298-313 canonicalizes each power-change edge with sorted compact JSON, indexes baseline and final edges by that serialization, and returns deterministically sorted added and removed set differences._validate_reviewer() at lines 316-341 requires exactly reviewer_id, reviewer_type, model, role, and assistance; IDs and assistance must be nonempty strings, types and roles must be allowlisted, human reviewers require model=None, nonhuman reviewers require a nonempty model string, and any model containing gemini case-insensitively emits Gemini is restricted to event triage._validate_record() at lines 344-372 requires record source_url to equal the frozen document URL, decision to belong to DECISIONS, and reviewer_ids to be a nonempty array of unique nonempty strings referencing known reviewers._validate_record() lines 373-400 require a nonempty rationale and a source_audit confirming inspected_before_codings is True, exact source-ID ordering from the frozen document, and exact frozen evidence_bounds. Nonempty evidence_limitations is mandatory when source text or patch selection is truncated, the files listing is incomplete, or integer patch_unavailable_count > 0.accept requires accepted_from in RESPONSE_SOURCES, a schema-valid frozen response, and final_coding exactly equal to that response; only accept may set accepted_from; accept, revise, and reject require valid dict final_coding; abstain requires null final_coding and nonempty unresolved_reason; resolved decisions require null unresolved_reason, cannot resolve to final class abstain, and reject must resolve to a non-institutional class.effective_institutional_change to set effective_on, announced_institutional_change to set announced_on, and both announced_institutional_change and proposal_only to leave effective_on null. Allowed edge statuses are respectively {effective}, {announced}, and {proposed, rejected, unclear}.claim_evidence_refs to be an array and validates every reference through _evidence_errors(..., claim=True). For institutional final classes, every non-null field in CLAIM_FIELDS must appear as a field in at least one claim reference.graph_edge_revision; resolved decisions require an object; basis must be a response source or null; accepted records require basis == accepted_from; and both added and removed must exactly equal graph_edge_diff() computed from the selected frozen baseline and final coding.validate_adjudication() at lines 512-534 requires transition_dates_excluded is True, outcome_data_used is False, object-valued inputs, equality of every sorted REQUIRED_INPUT_PINS field to verified_pins, and coding-package summary.documents_sha256 equal to canonical_sha256(documents)._validate_reviewer() to every entry, reports sorted duplicate reviewer IDs as duplicate reviewer IDs: [...], and builds ID-to-role provenance for source-adjudicator enforcement.source_adjudicator before _validate_record() is applied.validate_adjudication() summary construction at lines 609-655 computes sorted decision_counts and class_counts, lists abstaining record IDs in unresolved_record_ids, emits per-record record_id, decision, final_class, reviewer_ids, and evidence_limitations, emits graph revisions prefixed by record_id, copies reviewers to reviewer_provenance, and opens canonicalization_gate only when there are no errors and no unresolved records.validate_adjudication_fragment() lines 659-687 constructs a closed fragment schema requiring schema_version=1, design_status="performance_blinded_llm_assisted_source_adjudication", at least 1 schema-defined reviewer, and at least 1 schema-defined record, while reusing the full schemaβs $defs.record_id is non-string or not present in both frozen maps; matched records must include a source_adjudicator and then pass _validate_record().validate_against_schema() at lines 770-776 uses Draft202012Validator with FormatChecker(), sorts validation errors by instance path, and formats each as schema {path}: {message}, using <root> for an empty path.render_markdown() begins at lines 779-789 with title # OSS governance adjudication v1, displays Canonicalization gate: **{gate}**, then renders sorted summary decision counts under ## Decisions.