Dashboard › institutional-transition-lab › Distillation
5003e4a5-355d-4b15-b51a-c4946ffe7df2["lore_tm_v1_Qx96kD7zvLLu-aKLuILiRGVDHw8SYrhdAcojPonaZYM","lore_tm_v1_dAxwabKmdQo0fm8MpUf4hCDzjtY1QDZudnzKRIbKfCw","lore_tm_v1_sFJlZ0oKRhumoX175GwrzctsmgBFc9WjyeCwln3xg7w","lore_tm_v1_MODAHdADVSUWODxbybICxofT8BndAo0EOcuHv-40pCg","lore_tm_v1_00gFTYA1e8vNLxQ_uOM3-x2fQCPmcOiTMcxOiMH6CaI","lore_tm_v1_yny0V7GLkEQc7C6fZyLttn9QBoCuhE82jMxGTFOZvC0","lore_tm_v1_fK5L2MtUSWa_Y2Wqms9tSvSkNUqJ4r06SX3j0twS5fA","lore_tm_v1_Oynsr-gPzIOXKrDTCXFfMTvfbBhDiEgPx-mtN8-Tzw8","lore_tm_v1_EOkS-x7jOtRj_WywRWz9UtIQxK_8SyWtMGmRlMGbTWw","lore_tm_v1_6LjOQGqw1zpD4Sb9OOWaq-_Ch5rkKMwRCmpE3y2XOJI","lore_tm_v1_y02dkOVc0SgaTIYtbWa8KDjygPHcgpDJkznKXk_KqQs","lore_tm_v1_O79IV8Dsz4d8cVAXwBrvvyyp-T1A-Fl7GkRfcYA-0tw","lore_tm_v1_zHTJPgBEzc0BXHc4ceoNVizBRhpi18skxiduMWnwQeM","lore_tm_v1_BQqRTYWtI5pofmNYhBt4TdKkiGK4PIVuzFNlXkHw3oc","lore_tm_v1_boPI-CkF3bBff8gR3f1eQnX2aU8VN5jFfQl-dms21eM","lore_tm_v1_pV84uEj7L-Tgax1ovOYrwbeBBrvswwJz1pd9PfGW1z8","lore_tm_v1_A4HMVEQBnA6m0F68qrisyW47NjJL7bfm6usUkPaGZvQ","lore_tm_v1_xj9oRjq3mKVpy0enVcg1VMzxTBZWkG2gVF63GqWLK6w","lore_tm_v1_wcHy41md4p-AvH0TBhxN1ii9RfOQZ7vY65qPnd_aqNU","lore_tm_v1_PnPWQ2tjR9KfvLg7XD-popN3OAhgQXnZl2CvaUppJXI","lore_tm_v1_t6K-JbhV2Fpsp-N2N_X1kujpSEWxnq6YG03b0wx2EmM","lore_tm_v1_jPWZfRrhkqPG5pjILTgeaCa2IcdVN1AeDaEtMihREIY"]
Date: Sep 9, 2026
/tmp permissions as drwxrwxrwt (world-writable with sticky bit), owned by root:root./tmp/opencode/governance_security_probe.py; the probe was deleted at 02:29._parse_json_object rejects NaN with ValueError: non-finite JSON number: NaN, duplicate keys with ValueError: duplicate JSON key: x, and non-object JSON with ValueError: non_object_json must be an object.postcheck_hardlink_race left input='frozen' and output='report', while postcheck_parent_redirect produced input='report'._write_failure_reports() wrote closed-gate JSON successfully, then raised OSError: [Errno 5] synthetic second-write failure while writing Markdown, leaving JSON as {"canonicalization_gate":"closed","schema_version":1,"validation_errors":["bad input"]} but Markdown as stale content STALE OPEN./home/byk/Code/institutional-transition-lab/src/institution_lab/governance_adjudication.py lines 1β255. Resource limits 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.canonical_sha256() serializes with sort_keys=True, separators=(",", ":"), and allow_nan=False; _parse_json_object() uses _reject_duplicate_keys via object_pairs_hook and _reject_non_finite_number via parse_constant, then requires the parsed value to be a dict._read_regular_file() opens inputs with os.O_RDONLY | os.O_NONBLOCK | O_NOFOLLOW when available, validates stat.S_ISREG, enforces a byte limit using both st_size and a bounded read(max_bytes + 1), and wraps open failures as ValueError._verify_input_payloads() validates all frozen pins and byte hashes, limits ZIP member count and declared expanded size, rejects duplicate raw info.filename values, verifies required members documents.json and v1.2-adjudication-package.json byte-for-byte against durable files, parses the same captured document/coding/schema bytes, and checks canonical documents_sha256.NaN continued to be rejected.ValueError: input file exceeds 3 bytes, a symlink rejected with ValueError: cannot open input as a regular file, and a directory rejected as raw IsADirectoryError: [Errno 21] Is a directory: 4 rather than the normalized ValueError.documents.json member are rejected. A same-byte verification probe returned documents={'documents': []} and coding={'records': [], 'summary': {}}./home/byk/Code/institutional-transition-lab/src/institution_lab/governance_adjudication.py lines 810β946. _validate_output_paths() checks every output against every input and checks the two outputs against each other using _paths_alias(), which uses Path.samefile() when possible and otherwise compares resolve(strict=False) values._atomic_write() creates a temporary file in the destination parent using tempfile.mkstemp, writes and flushes the payload, calls os.fsync(), then installs it with os.replace(); on failure it suppresses FileNotFoundError while unlinking the temporary file._write_failure_reports() performs two separate atomic writes in order: JSON at lines 878 and Markdown at line 879. This ordering explains the probeβs mixed closed-JSON/stale-Markdown state if the second write fails.main() validates output aliases once before reading or validating inputs, then reads all inputs, invokes _verify_input_payloads(), validates schema and adjudication, and writes JSON and Markdown separately. Exceptions during input/validation invoke _write_failure_reports() and are re-raised; ordinary validation errors close the gate, write both reports, then raise ValueError("adjudication validation failed:\n" + ...)./home/byk/Code/institutional-transition-lab/tests/test_governance_adjudication.py verify: the committed frozen manifest equals FROZEN_INPUT_PINS; fragments/opentofu-a2.json passes validate_adjudication_fragment() but cannot satisfy the full-envelope schema; malformed fragment record_id values fail closed with both record_id and known subset errors; and a resolved valid record opens the gate with decision_counts={"accept": 1}, class_counts={"no_event": 1}, no unresolved IDs, reviewer opencode-gpt-5.6-sol-primary, and graph basis luna_a._write_pinned_cli_inputs() constructs pinned adjudication, manifest, documents, coding package, artifact, protocol, coding schema, adjudication schema, and two output paths; its artifact embeds documents.json and v1.2-adjudication-package.json. _run_cli() passes all ten paths as CLI flags to governance_adjudication.main().test_institutional_class_and_edge_status_must_agree rejects three incompatible class/status pairs: effective_institutional_change with proposed, announced_institutional_change with effective, and proposal_only with effective; each must emit an error containing does not permit edge status and close the gate.google/gemini-3.7-flash cannot adjudicate or assist because Gemini is restricted to event triage; every record must include a reviewer with role source_adjudicator; reviewer_ids must be unique nonempty strings; and malformed reviewer IDs must produce validation errors rather than crash manual validation.workflow_run_id and artifact_id; reject a self-consistent substitute for every field in FROZEN_INPUT_PINS; reject changed durable file bytes via documents_file_sha256; and reject files whose bytes differ from corresponding members in the pinned artifact.verify_input_manifest, same-byte CLI validation, non-finite canonical hashing, committed frozen-manifest verification, and partial-fragment validation in /home/byk/Code/institutional-transition-lab/tests/test_governance_adjudication.py.schema/governance-adjudication-v1.schema.json: positive integers for workflow_run_id and artifact_id, inclusive 0β1 number bounds for confidence, and a nonnegative integer bound for patch_unavailable_count.??), confirming the temporary security-probe work did not modify them.cases/review/oss-governance-adjudication-v1.inputs.json; it contains exactly the 9 frozen input pins and is 11 lines long.