Dashboard › institutional-transition-lab › Distillation
68eb1196-d8b5-408d-8e87-f18e94ee29a3["lore_tm_v1_OIkwxp-aIz_lalarfGd-zJLDfwTqcnspwProirWJRLg","lore_tm_v1_ygUKwcR7TesKYDpKjXCDkdZcerrpOdpeqwjm8zid0xU","lore_tm_v1_tb9reAGTK009ykNPFD5Li5Rd3nakAL9zLeZohOJM5gA","lore_tm_v1_VWiK9uJHxLwHYgnQNGVRlkvtpLRibcd8vLrVaV5ZPXw","lore_tm_v1_yNGobPyxe0n5GvEontnCqCc7jS1Af8j-0xH480vKADs"]
/home/byk/Code/institutional-transition-lab/src/institution_lab/governance_adjudication.py lines 1–658, including frozen-input verification, evidence grounding, reviewer and record validation, graph-edge diffing, summary generation, and canonicalization-gate logic.governance_adjudication.py defines DECISIONS = {"accept", "revise", "reject", "abstain"}, institutional classes effective_institutional_change, announced_institutional_change, and proposal_only; reviewer types human, llm, and human_llm_assisted; reviewer roles source_adjudicator, evidence_auditor, and synthesizer; and response sources luna_a, luna_b, and terra_advisory.FROZEN_INPUT_PINS fixes workflow_run_id: 33063470968, artifact_id: 9642983578, and exact hashes: artifact_sha256: 1f6be91fcd98e43e99d82d5f274536f6c23616e7e6c711e26324a2cc4b06ef06, documents_sha256: d70f7f795847968339a645b6dbd6d4428af6bd6044de44fa2602d4c4343b0ee9, documents_file_sha256: 2a62ab05687982c112a29f6126227c26c3ff8defc89ca64662753aaf85c3c0ce, coding_package_file_sha256: 14644759f53071adfe1173d4e25bb01931b8c1591fa8a48295dbd0556a754769, protocol_sha256: 06d4b3407677fe7fb23046f70164a366db06638e8a29af3daf7661f00d565933, coding_schema_sha256: bfc735a7d8602d1f236a88c2d23b195f0600a8bae86fb8c8936afe7883a41b8e, and adjudication_schema_sha256: 6181f5cb60a0462f83be00be301763daa89f11581e68ee1c46a84e8bf4e5be31.governance_adjudication.py are MAX_INPUT_BYTES = 16 * 1024 * 1024, MAX_ARTIFACT_BYTES = 32 * 1024 * 1024, MAX_ARCHIVE_MEMBERS = 128, MAX_ARCHIVE_MEMBER_BYTES = 16 * 1024 * 1024, and MAX_ARCHIVE_EXPANDED_BYTES = 64 * 1024 * 1024._read_regular_file() opens inputs with os.O_RDONLY | os.O_NONBLOCK | O_NOFOLLOW where supported, rejects non-regular files, and checks size both through fstat() and a bounded read. JSON parsing rejects duplicate keys via _reject_duplicate_keys() and non-finite constants via _reject_non_finite_number()._verify_input_payloads() requires exact frozen manifest identity, verifies byte-level hashes for the artifact and durable files, limits ZIP member count and expanded/member sizes, rejects duplicate ZIP member names, requires unique documents.json and v1.2-adjudication-package.json members byte-identical to durable files, verifies canonical documents_sha256, and returns VerifiedInputBundle._source_index() indexes each valid document source by source_id and adds synthetic source record_metadata, serialized from record_id, source_url, published_on, publisher, and source_type._evidence_errors() requires evidence references to contain exactly source_id and quote, plus field for claim references; validates claim fields against CLAIM_FIELDS; requires non-empty strings; requires the source to exist; and grounds evidence using literal substring membership, quote in sources[source_id].graph_edge_diff() canonicalizes each power-change edge with sorted compact JSON, deduplicates edges by canonical key through dictionaries, and emits deterministically sorted added and removed lists._validate_reviewer() requires exactly reviewer_id, reviewer_type, model, role, and assistance; human reviewers must have null model, non-human reviewers must name a model, and any model string containing case-insensitive "gemini" is rejected with "Gemini is restricted to event triage"._validate_record() validates source URL identity, decision membership, non-empty unique known reviewer IDs, rationale, exact source-audit source IDs/evidence bounds, explicit evidence_limitations for bounded evidence, accepted-response equality, validate_response() results, unresolved/resolved-field consistency, institutional date/class constraints, class-specific power-change statuses, claim evidence, and graph-edge revision derivation.source_text_truncated is True, files_listing_complete is False, patch_selection_truncated is True, or integer patch_unavailable_count > 0._validate_record() are: effective_institutional_change → {"effective"}, announced_institutional_change → {"announced"}, and proposal_only → {"proposed", "rejected", "unclear"}._validate_record() only checks that every non-null field among record_class, event_kind, title, announced_on, effective_on, affected_scope, and body_patch_relation appears in the set of claim-reference field values; grounding errors for the references are accumulated separately.validate_adjudication() requires transition_dates_excluded is True and outcome_data_used is False, compares every required input pin with verified_pins, verifies the coding package’s canonical document hash, validates reviewers, rejects duplicate reviewer IDs, and requires each adjudication record to list at least one reviewer whose mapped role is source_adjudicator.validate_adjudication() requires adjudication and coding record IDs to match frozen document IDs exactly once and in order. It then indexes document and coding rows with dictionary comprehensions keyed by row["record_id"].record_count, sorted decision_counts, sorted class_counts, unresolved_record_ids, per-record decisions, graph-edge revisions, reviewer provenance, and canonicalization_gate, which is "closed" if there are any errors or unresolved abstentions and otherwise "open"./home/byk/Code/institutional-transition-lab/cases/review/oss-governance-adjudication-v1/fragments/, including valkey-31-33.json, terraform-c.json, opentofu-10-18.json, valkey-34-35.json, opentofu-pr-1650.json, opentofu-a1.json, and opentofu-a2.json; these contain combinations of source_adjudicator, accepted_from, claim_evidence_refs, and graph_edge_revision, including null revisions and at least two reject decisions./home/byk/Code/institutional-transition-lab/cases/review/oss-governance-adjudication-v1/documents.json, including an OpenTofu TSC/RFC patch, an OpenTofu contributing-guide patch, and a Valkey Samples Repository RFC discussing its governance model and contribution framework./home/byk/Code/institutional-transition-lab/schema/governance-adjudication-v1.schema.json enumerates reviewer roles at line 80 and adjudication decisions accept, revise, reject, and abstain at line 245; required record fields around lines 233–236 include record_id, source_url, decision, accepted_from, reviewer_ids, claim_evidence_refs, final_coding, and graph_edge_revision.schema/governance-adjudication-v1.schema.json, src/institution_lab/governance_adjudication.py, and tests/test_governance_adjudication.py.announced_on, effective_on, change_status, evidence_limitations, and unresolved_reason, primarily in tests/test_governance_adjudication.py, plus related fixtures in tests/test_llm_event_probe.py, tests/test_llm_candidate_triage.py, and tests/test_governance_coding.py.