Dashboard › institutional-transition-lab › Distillation
d16cdcdd-ca48-4114-96b2-f9a953293776["lore_tm_v1_VW6_ES2gORLvzv7ShdlJxCCPHbWMXDErTZbvX4Lxtxg","lore_tm_v1_JNvUSTU7bXxuNwitSCI6YJ8mwJGthwq9tX6M8rXQ3u4","lore_tm_v1_8fLgebGRePUjPfEl_-my6VRcJN5DZ9JjBKY1uy9eJQU","lore_tm_v1_ls2CVuVfbUrmeYYhFX2b6Jzu6MDiZcNPrj0Jd5gBkEQ","lore_tm_v1_XNyoY0L1w1BHEDw15q3Nk9CCNsd6RYU7qXI4w6M_eQc","lore_tm_v1_-jEZdGF27QiYG5j0fG1sfxNHsE7bGmacZQbFCLTmboQ","lore_tm_v1_Ecv422iY0yb5jDNuno-n2zoXJNcbAQ2sEwvLDqehupA"]
Date: Sep 9, 2026
pyproject.toml and uv.lock; untracked paths .lore.md, AGENTS.md, cases/review/oss-governance-adjudication-v1.inputs.json, cases/review/oss-governance-adjudication-v1/, schema/governance-adjudication-v1.schema.json, src/institution_lab/governance_adjudication.py, and tests/test_governance_adjudication.py.3 0o600 0x0 0./home/byk/Code/institutional-transition-lab/src/institution_lab/governance_adjudication.py: import zipfile, FROZEN_INPUT_PINS, its validation loop, ZIP opening and inspection calls, and zipfile.BadZipFile handling.src/institution_lab/governance_adjudication.py defines DECISIONS = {"accept", "revise", "reject", "abstain"}, INSTITUTIONAL_CLASSES = {"effective_institutional_change", "announced_institutional_change", "proposal_only"}, REVIEWER_TYPES = {"human", "llm", "human_llm_assisted"}, REVIEWER_ROLES = {"source_adjudicator", "evidence_auditor", "synthesizer"}, and RESPONSE_SOURCES = {"luna_a", "luna_b", "terra_advisory"}.CLAIM_FIELDS contains record_class, event_kind, title, announced_on, effective_on, affected_scope, and body_patch_relation.file_sha256(path) hashes bytes returned by _read_regular_file(path, max_bytes=MAX_ARTIFACT_BYTES)._duplicates(values) uses Counter and returns values occurring more than once._source_index(document) indexes valid string source_id/text pairs from document["sources"] and adds record_metadata, a compact sorted JSON serialization of record_id, source_url, published_on, publisher, and source_type./home/byk/Code/institutional-transition-lab/tests/test_governance_adjudication.py, spanning import/setup, archive creation, mismatch testing, duplicate-member testing, excessive-member-count testing, and committed artifact verification.test_input_manifest_rejects_self_consistent_substitute first constructs the manifest as {**FROZEN_INPUT_PINS, "adjudication_schema_sha256": "5" * 64}, then mutates the parameterized field to value + 1 for integers or "f" * 64 for strings before expecting an error matching frozen issue #4 input: {field}.test_committed_partial_fragment_validates_but_cannot_be_the_full_envelope loads cases/review/oss-governance-adjudication-v1/fragments/opentofu-a2.json, cases/review/oss-governance-adjudication-v1/documents.json, cases/review/oss-governance-adjudication-v1/v1.2-coding-package.json, and schema/governance-adjudication-v1.schema.json; it requires validate_adjudication_fragment(fragment, documents, coding_package, schema) == [] while also requiring validate_against_schema(fragment, schema) to report full-envelope schema errors.