Dashboard › institutional-transition-lab › Distillation
5f7d43c0-0340-4672-8097-013a41707905["lore_tm_v1_k8GBzhs9qIebCu4pDB4SyhC4sylSH3bWdfCT__XwNII","lore_tm_v1_PQjqp-Izr2FHjVra69gP5J0dyfUIYfNk4t4fqePJyqA","lore_tm_v1_T4hpiA_Xsjx57iVnNXaKP1LCRCaj4lieLraypdXzt1M","lore_tm_v1_mTs7v_SmcS6ri-tKghLxeWAHgMuZFGkIZecF-7VBj1E","lore_tm_v1_KsFfULvOJhs0C1S1ezJYz9tjoaS9D70so-y2Zcs-Dy8","lore_tm_v1_vt2Z7OvB03C4T2P4i5zLfGbK5dfTNOFyJdPyA3pa5EY","lore_tm_v1_HTpDh5CQSHZdvmsNCkE6xwBNwrg4T7hAmgvzf1aKlmE","lore_tm_v1_nJwwf-s0NZBafS5tZAfT0HXUCL4ughsfW-G-eUPZFTg","lore_tm_v1_7TYqtjciCsEXeE84C2lKn0le16IL5dW9F99G0Ca2xjQ","lore_tm_v1_HOT_ZQnFvUzV6DROknEZSJK-x3xm4Ul-5QcihLRquYM","lore_tm_v1_QUodq2t07pSeSk8jLrfLfoYvk0_p_CUQKHVlp_OqlNc","lore_tm_v1_eeov4ds3O2XpWANY3iZgOGp-uUMiHCW0KmE8Cro2PYo","lore_tm_v1_eAouSYBnaQpnVYms_iCTT4IZbec9dMB8Ge515_kbxGw","lore_tm_v1_9ZyJlDdm0txmkrqphH7yGxVmD055voL9RXOaOvk1xwc","lore_tm_v1_BdSC5J3FVSv8Nr6fTGD6Hd3QsC9pbA1SwqFFnPSCuG0","lore_tm_v1_DnrTZHHpw4OhRATDmQhH3z9ceotW-PEuI9bVVk5VdA8","lore_tm_v1_F2teapacltRYQVXrzy1fI321Bt_VQ3cWU1nnODtr5bw","lore_tm_v1_tOz2D1IM7M1_AXCuAp1MFlWWcHccuTW7CizoGJuoi9c","lore_tm_v1_rPpvMYneZaGIrqwj2KF_70WVyJVD5YhfLAbmZ964jLA","lore_tm_v1_uzNIs5frIhoLN2m81dwbbncPuRWomrH5Wksz3VFi9Fo","lore_tm_v1__hZTuOIHLzIGn87PKO7nL4TqmDqwHWZsHnDxa_I1xm4","lore_tm_v1_BxmuWCTXiXHiwREmIQWKrEG5EIzIH14U3gfi73X-dvg","lore_tm_v1__i8vMQ4FEcCgJn17jgeY1Qszl8WZli17QeRznj8kf0Y","lore_tm_v1_4EncdzAl1MuNaSQMu_NKTlgYbStOgLdmltDPo9YVVKU","lore_tm_v1_VPXYP-1Lr1_S09FquaRrZDx-2CrChhmTX_XuqidJI0E","lore_tm_v1_oYzc_jEpUIagAKcwRs3D5XtlTdr4r3x3SX8XoebZBGI","lore_tm_v1_KD0sAhwdd63y1iG4nyCoCNb8wSXdjDp6tbfGECYC1Rk","lore_tm_v1_tNCjmwlVRimBMyEVqb5LgW8hXodVSLuYpSpNwSdfr2I","lore_tm_v1_ioaKhf_TyyOs4FMymvNogTV7Xo22KuF0qsd6FXbuMsM","lore_tm_v1_wgBkmPO0dnq21htmSF0Vly5ewXyy3cCt1YBFpKG2yo0","lore_tm_v1_bJWtvRNRj1nNR0IexO4pvpztFw0WcVLx0wpgtWHFdPM"]
Date: Sep 9, 2026
/home/byk/Code/institutional-transition-lab.src/institution_lab/governance_adjudication.py functions/constants concerning canonical_sha256, file_sha256, verify_input_manifest, FROZEN_INPUT_PINS, REQUIRED_INPUT_PINS, ZIP member verification, and CLI input-path trust; schema/governance-adjudication-v1.schema.json only where it governs input pins; tests/test_governance_adjudication.py only tests of those areas; and cases/review/oss-governance-adjudication-v1.inputs.json.file:line evidence, PASS/CONCERN/MUST-FIX classifications, deterministic regression proposals for every defect, commands run, and an ending of exactly MERGE or DO-NOT-MERGE; if blocked, the report had to begin BLOCKED with the exact tool/error.git status --short showed all four reviewed files as untracked: ?? cases/review/oss-governance-adjudication-v1.inputs.json, ?? schema/governance-adjudication-v1.schema.json, ?? src/institution_lab/governance_adjudication.py, and ?? tests/test_governance_adjudication.py; scoped git diff produced no output because there was no tracked diff.16 passed, 28 deselected in 0.11s.artifact_hash_matches=true, member_count=19, duplicate_names=[], encrypted_member_count=0, and total_uncompressed_bytes=1993647; selected ZIP metadata was documents.json β [445940, 120892, 8, 3503999] and v1.2-adjudication-package.json β [156038, 14335, 8, 208541662].duplicate_manifest_key_accepted=true, duplicate_zip_member_accepted=true, preloaded_values_can_differ_from_verified_files=true, and malformed required-key-list input raised AttributeError.10.885106382978723.9122, artifact 423046, coding package 156038, coding schema 2593, documents 445940, manifest 723, and protocol 1668 bytes.jsonschema.exceptions._WrappedReferencingError: PointerToNowhere: '/$defs/sha256' does not exist because the isolated schema omitted the root $defs; this was a harness error rather than a repository defect.0, boolean ID 1, extra property 1, missing property 1, and uppercase hash 1.cli_exited_successfully=true, summary_gate="open", and downstream validator spies received forged coding package, forged documents, and forged schema objects.NaN, canonical_sha256 accepted a non-finite number, and object-key ordering was stable.main() parses documents, coding package, and adjudication schema at src/institution_lab/governance_adjudication.py:721-725; verify_input_manifest() reopens those paths for hashing/ZIP comparison at :93-118; downstream validation receives the earlier parsed objects at :735-740. A writable file, swapped symlink, or FIFO can supply forged bytes on the first read and pinned bytes during verification.governance_adjudication.py:404-410; the in-memory documents hash is compared only with the in-memory coding-package summary at :411-414, not verified_pins["documents_sha256"]; and the in-memory coding package and schema are never tied to their verified raw bytes.test_cli_never_uses_preverification_bytes: make each path return forged bytes before verification and pinned bytes afterward, then require rejection or require downstream use only of objects parsed from pinned bytes. Recommended implementation: read each input once into immutable bytes, hash and parse those same bytes, open the artifact with ZipFile(BytesIO(artifact_bytes)), and return verified parsed values for downstream use.Path values at governance_adjudication.py:710-719, and outputs are written at :746-747 without path/inode alias checks; --summary-json can name or hard-link to documents, protocol, schema, manifest, or artifact, allowing successful validation followed by destruction of a frozen input.governance_adjudication.py:722 uses default json.loads(), silently accepting duplicate object keys, while verify_input_manifest() assumes a dictionary at :84-89.REQUIRED_INPUT_PINS reaches .get() and raises AttributeError; (2) a manifest with two artifact_sha256 keysβfirst forged and last pinnedβis accepted because json.loads() keeps the final value. The malformed-shape crash can leave an earlier successful summary untouched, while duplicate keys create conflicting provenance across parsers.open output. Recommended parsing security-critical JSON with duplicate-key and non-finite-number rejection and checking isinstance(manifest, dict) before set().FROZEN_INPUT_PINS at governance_adjudication.py:35-49 and cases/review/oss-governance-adjudication-v1.inputs.json:2-10 repeat the same locally reviewed assertions; tests do not independently bind workflow run 33063470968 and artifact 9642983578 to the pinned artifact hash.archive.read(member_name) at governance_adjudication.py:104-115 is used without first enforcing unique names. A synthetic ZIP containing two different documents.json members passed when Python selected the member matching the durable file.10.89; its fixed artifact hash prevents this ambiguity while paths remain stable.ValueError; require every expected member exactly once and reject normalized-name collisions before reading member data.file_sha256() reads until EOF at governance_adjudication.py:66-71, the CLI loads complete JSON files at :721-725, and archive.read() allocates complete ZIP members at :111; FIFOs can block indefinitely and oversized files can consume unbounded time/memory before hash rejection.canonical_sha256() at governance_adjudication.py:61-63 uses default json.dumps(), which accepts and emits NaN and infinities despite strict JSON forbidding them; the current documentsβ pinned raw-file hash mitigates substitution.allow_nan=False, reject non-finite constants during parsing, preserve a key-order-stability test, and add rejection tests for NaN, positive infinity, and negative infinity.governance_adjudication.py:84-85.governance_adjudication.py:90-92.governance_adjudication.py:93-103.governance_adjudication.py:104-115; no ZIP extraction is performed, so traversal entries are not written.governance_adjudication.py:95 and :116-118, subject to the CLI race in MUST-FIX finding 1.schema/governance-adjudication-v1.schema.json:39-68 requires exactly nine input pins, positive integer IDs, lowercase 64-character hashes, and no additional properties; corrected schema probes rejected missing, extra, uppercase-hash, and boolean-ID inputs.tests/test_governance_adjudication.py:689-705 verifies the committed frozen bundle against the current artifact successfully.tests/test_governance_adjudication.py:564-582.test_every_input_pin_is_reverified at tests/test_governance_adjudication.py:547-554 changes only artifact_sha256 despite its broad name.tests/test_governance_adjudication.py:596-639.documents.json at tests/test_governance_adjudication.py:642-686.git status --short and git diff; narrow pytest selection; artifact hash, ZIP metadata, path-type, compression, and ambiguity probes; synthetic duplicate-manifest, malformed-manifest, duplicate-ZIP, stale-preload, and direct CLI-substitution probes; input-pin schema probes; and canonicalization probes for key order and non-finite numbers./tmp/opencode; excluded governance source records, codings, outcomes, dates, reports, detector output, and active review scopes were not inspected.src/institution_lab/governance_adjudication.py β 0c873db5c8a2394150fa35d96694317f6cb2e847bc41919e1ca82992b86e57c0; schema/governance-adjudication-v1.schema.json β 6181f5cb60a0462f83be00be301763daa89f11581e68ee1c46a84e8bf4e5be31; tests/test_governance_adjudication.py β 56e1c751ea148495f913995e01f77a2f98ef7cf0d4e86e35a0bae21586f87b1e; cases/review/oss-governance-adjudication-v1.inputs.json β ac47cff1f6a937f932d34f12e86e79d01dc79db21799ec20fa84a2db89454355.DO-NOT-MERGE.