Dashboard › institutional-transition-lab › Distillation
6159abac-41a4-4efe-acc2-85bbf278d146["lore_tm_v1_Plc9UAxA5sudo_p1M1zHX3OJnCnATqgpZOshEe_RNq8","lore_tm_v1_UeJob1YMWgRnKKUb2XBRRzpydzxWhqxxHCMW1O-BcvE"]
Date: Sep 9, 2026
src/institution_lab/governance_adjudication.py and tests/test_governance_adjudication.py; explicitly instructed not to edit files.ZipExtFile clipping; truncated streams whose decoded payload and CRC still match; and normalized decompressor exceptions.100644, DEFLATE compression, and data descriptors.src/institution_lab/governance_adjudication.py currently imports io, stat, and zipfile; archive limits are 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._verify_input_payloads() at src/institution_lab/governance_adjudication.py:157-217, particularly lines 179-208: it opens zipfile.ZipFile(io.BytesIO(artifact)), gets archive.infolist(), limits member count, detects duplicates using decoded info.filename, trusts the sum of declared info.file_size, retrieves documents.json and v1.2-adjudication-package.json with archive.getinfo(), trusts declared per-member info.file_size, reads each through archive.open(info).read(MAX_ARCHIVE_MEMBER_BYTES + 1), compares bytes with durable files, and normalizes only zipfile.BadZipFile to ValueError("artifact is not a valid ZIP archive").documents.json → documents and v1.2-adjudication-package.json → coding_package.artifact member count exceeds limit, artifact member is not unique: {member_name}, artifact expanded size exceeds limit, artifact member missing: {member_name}, artifact member exceeds size limit: {member_name}, artifact member mismatch: {member_name}, and artifact is not a valid ZIP archive._verify_input_payloads() through both verify_input_manifest() at lines 220-239 and main() at lines 916-924, with _read_regular_file(..., max_bytes=MAX_ARTIFACT_BYTES) enforcing the 32 MiB raw artifact cap before ZIP validation._read_regular_file() at src/institution_lab/governance_adjudication.py:94-109 opens with os.O_RDONLY | os.O_NONBLOCK | getattr(os, "O_NOFOLLOW", 0), verifies stat.S_ISREG, checks declared size, and performs a max_bytes + 1 read.src/institution_lab/governance_adjudication.py in full (946 lines); no content from tests/test_governance_adjudication.py was included in the observed material.