Dashboard › institutional-transition-lab › Distillation
f3fcea47-4e4c-44aa-ac08-86eb562d6648["lore_tm_v1_MUJA7G942KZyhPPvsI9CJYmF9cRwKg24Jt5og2E9mWQ","lore_tm_v1_KPhRpcsVJJdk006vtQ11hP0s1oZ0lS1h1jYzzpRzzF8","lore_tm_v1_0-n6zQEDM-kEy439TS95CnsbJhFHYwI6RIzJ-2Z0Tpg","lore_tm_v1_0HkkI3Ty0NxjeSKivbMIOcYPa0BXCSO8IvQriumsdn8","lore_tm_v1_NrpiqNo9bCfcyxNlncaiFOI1Zw1KMZuRFYjEHOiL_cY","lore_tm_v1_5WyLsDXGfCr4mcilvZovynyMNhomkSdQ774rV7SyYbc","lore_tm_v1_6liuGnPMEUA8hqeX3XkOQnoUjfogz52B2WgMl7_ncXM","lore_tm_v1_VyRACvm2elfLJduKrIfefRDwr3C6fSpM1ZNHOAWCQUo","lore_tm_v1_vOSWFTojD71gUeGjSFAf3zs_PFHDG03LT7M8v6gy5C8","lore_tm_v1_KsVQ-0KlE9lv3e3J2UGQkx7D_HqOQEUF5JNYwBPINB8","lore_tm_v1_sUtbnfNC31kL-C4hcecLm18h8x0Ud032t8vChhciqus","lore_tm_v1_BCzypBTxFUlmtV_OUpm2bvJ4vpg5ZP39JkzNf-FU3U0","lore_tm_v1_V7czkHP9uFg8jkV5TFV6L5U6ajOtmUp0u97wsXMbPI8","lore_tm_v1_UPQEXeAv1LYH1Zcd52rKsYHcLJEwbrq3TE9i--jDM6w","lore_tm_v1_mbI8y6irPrUz0wkpnvjHZOVp8K_3xABaFfAh0kPN_18","lore_tm_v1_CjvB8sylfuryj2COqdGyJtcRREyBBDArbH2561kicZg","lore_tm_v1_y4_Yke_rn-LqhGUukMjLU6OOrAsdk_KtF6TGvQy2cls","lore_tm_v1_LowNqayHwjK3RNBskYrDqTVHYOCZ5qF79ZMcFQnL6w0","lore_tm_v1_WUFOqIxs5mNfnwdM-2sVLVtPDI07Te57fMpdaNUI6V0","lore_tm_v1_ujlplWNy8QbDv9zW0T9MZCG77adqPVGz22NrOhF5op4","lore_tm_v1_6neELMxZEHXhYWmNT_4ghhNWOdbQYDe-SyIcrRqfTLc","lore_tm_v1_yOsdqyg4INc3TeNVkwzyQQtXCDHY6ftZuSRJ2vWcpSc","lore_tm_v1_gDvKWOB2bfTiDx2OoGEGzwnlvwBQEQt6qWmPIqScCGQ","lore_tm_v1_dEs9YTod_dKtUIgOKqKievD3ppZD6KWsejDs3dZp7I4","lore_tm_v1_USC_IDPdVWcQAcr20OrHYoP8RNLENKuKDVIhn3iYvoU","lore_tm_v1_8n0EsOP5LGwNgju3Ga5QGxffDcFmQMHYBf9pe7wjg-Q","lore_tm_v1_Cawjb1Ec10Kxg9lbuwuGqJ843JOgUAnk3wNlslD1pZM","lore_tm_v1_JbKYIlKZm9-bL92eIH-MkXbysigCneEgtCwui9qdGJ0","lore_tm_v1_P4UvxpzcOsn9H4B-6iE6AxVpsdW9ODnUvc2XefBhFm4","lore_tm_v1_-xHJv8eVO5UvGaMuoNx6kHRnRVooNpRUMIiSD6a_z3A","lore_tm_v1_PSFQUFGioO__Mkf2Pn5MzlQJ5qCsJfa1gvRXHDN2FIY","lore_tm_v1_YfhvlCuspJ6oOHiouaM4gnaRnWV88m1r_NNO3FmEFa0","lore_tm_v1_EQm0s2uiNjSDtSaminVxlhyu1XqSn0hwPz4uMJRJa0Y","lore_tm_v1_SjF_a6Bl7LOAAer_SXldywAhzEYG5M7sV8NhnhsJvyA","lore_tm_v1_L-Lh9V2UrHZAKsL3ceKUVlSBLwuo5xHq48IbjJPr-NU","lore_tm_v1_fZIXhqVIZ4RsD2AznocO4SxovDOCCuXVMmtjT-tv_Tg","lore_tm_v1_umfQs2TrjnujKqnvR0y-72bxqiotdHLoJT75iCRFLPA","lore_tm_v1_tk3Mz8HMV-5r9MlUw8HUhbUlK9L54yCm4UvO19M7SPc","lore_tm_v1_DQX4xlmPG96ZN_kt2eC1S_eq8gz1XeTKFWaF8YNBK1I","lore_tm_v1_ARUb3VfvfonDYKvToFuNw_9C5OTqOnLRQUEJ1nbPs4c","lore_tm_v1_BbJKyJmz0bQtMK22R2gfvlf3e116FBkvkIhh6jxeZIE","lore_tm_v1_JjsChTZR3-QkKSv7vZmDMHWZHRBaj9w6QjcHnyDWXnA","lore_tm_v1_rr1dTDTdyrOiefvF71MLSH5N3iaeJa73L2O2UXijMEI","lore_tm_v1_Xh3oZQjdH2uNRpOjb-_eS2bEGjhS9-W5c9nFeeqzLTU","lore_tm_v1_LzJUZ-1iW6YkG4iQmNlZhJnIpRrX0Rjf6kTNIcKRkVI","lore_tm_v1_I-Bc7hggK6Kyi-2H06VM_plF42NRrQKmufPSfKcfZdA","lore_tm_v1_T3H4hTVDOB_08NAGFGdpy6xEt1LBbF6cUfB5lAPmDAI","lore_tm_v1_svkUVbEyWsUse56Vim5SbQheh-I2ccPCG51V1j1QaAk","lore_tm_v1_CgT7ufSTPYUP2BgOry5mXxd9xh8ptCsrGm4abfc3oFQ","lore_tm_v1_DulDLq6pGFnkO6r86o7-GZkcOvRb0lthB4hJQex_pLk","lore_tm_v1_WeeFTqmILbrn1iEGkTq9CzUbKI-MpF4Gf0dh8GzOBM8","lore_tm_v1_Qbz1iPKRB7a8jV3VnmW-xhUSmbEV8L9AaeT545d-ruA","lore_tm_v1_elrAwRglpuIsatWCiCkH10aUPTj7g62vzKEwuP0wMCM","lore_tm_v1_-sjWdKBzQbKv7X43oqb-_Uw610TsPXfLo9a198flD8E","lore_tm_v1_BajeAjM3-wc4SvfHbqHFUuBFoXPKk0TUHTpjDTQ0DA4","lore_tm_v1_ZVRSmzL-jyai07qyEt7MSY3bVmnn-_ZfJavnROxrjVk","lore_tm_v1_LPvB0JQAWOIgxAcr9KSrHVAUa3DnTQyl76_dxTeY1B0","lore_tm_v1_CvE9VOx_E_rNbS4D1QCyjiaWXrJS9qyMR-Mpyw_wz2g","lore_tm_v1_OIkwxp-aIz_lalarfGd-zJLDfwTqcnspwProirWJRLg","lore_tm_v1_ygUKwcR7TesKYDpKjXCDkdZcerrpOdpeqwjm8zid0xU","lore_tm_v1_tb9reAGTK009ykNPFD5Li5Rd3nakAL9zLeZohOJM5gA","lore_tm_v1_VWiK9uJHxLwHYgnQNGVRlkvtpLRibcd8vLrVaV5ZPXw","lore_tm_v1_yNGobPyxe0n5GvEontnCqCc7jS1Af8j-0xH480vKADs","lore_tm_v1_eqAg_m4ESYDosns_i_UC0wnuz2KOgxfPzI8By-1CAKM","lore_tm_v1_3yY5Yym-5A0I4bsU3mSy2aD5zt1hQvxW30Q37RLsyyc","lore_tm_v1_Ro4BVd7tN9PTux8hrKDJXWu7wayi-0A2EvY3FpH4VwI","lore_tm_v1_uH0KxaIpPl43-om1XwbfEgmSPxW3qFLv-uC-6orqd4M","lore_tm_v1_mMYKXfLxfiPNlqjpLBpfEF4FIvqLRNVJx8PHfuqqMrQ","lore_tm_v1_-ysiOszfWIfP85B076cNAxfFxOcj9SicmD18wz6PRDg","lore_tm_v1_hPk9FcgnJcj1hTxG-Q-2_JUnm_Aux0ozTONVEM_a4cs","lore_tm_v1_sJ8ebQvvryMmvra2OgxtVvrRmWr_hAotQQqxOySAIbs","lore_tm_v1_OeZKG62vBSeX6Oxk5J7e3SstACXtDJ38afoc51XFB2c","lore_tm_v1_9AkMiZ4MhzIrfq_SSBlsbJKQkzcdAbZ289BdgFgRDvg","lore_tm_v1_w12w8uluxeIpu3opMi04i3GnWzUkpK-s_YX7vzsqqW8","lore_tm_v1_WZ6CFTKL0Omam9M-V8zv1z66nlnFjBjkAT0HZAMj-WY","lore_tm_v1_ZcJ7VWF_5nJXPmzKhkcQWwpJzSaW7dSvGTbmARpZdtk","lore_tm_v1_i7eFws8VvdooWR5fh98MMyt7mNiNudInmZGEReFcoRY","lore_tm_v1_XnyFB5EAlBzw6lCHdjx6MoYk6URejKCExH8fTWce9RM","lore_tm_v1_z8VpJJvrwVNPSMVRxathRsgDnVzeipxdeF2T694r04Q","lore_tm_v1_Mo9D1dhQo-VSENdaxtJR1GqBgAAETOskVLirudKx2Oc","lore_tm_v1_-1hN-r_f17UOFysJ7hhYUQ9MlZxvHJum8pdlEoQWHHQ","lore_tm_v1_s4D0bgkNmqdPNssHmN_eEn9Hzrjf-IS2YbqPxvrXY6Y","lore_tm_v1_yu4OBOIzSuX4hAzhhAn_iRRjzzzaVzFVfvqRUSB0RwA","lore_tm_v1_BNeOUEJMMo-HYAj826NJYt0IK66yZtu9TSGb_lw7mUk","lore_tm_v1_iJA8r6tbvE3FJW5uWuvc9xUkNuxZyFPCR0BQd7jospM","lore_tm_v1_lwxzLj-pgQaeeyTTWC3Its9-tpOMrQo8a2LNIEUHWIs","lore_tm_v1_to4njJMJmmxprPQZicaZEWtPQZkMvHV12VGWow05rUY","lore_tm_v1_EaHjrPjdlO8VOWQDs_h-E5WRaED3uRWGc6Tob_QSHw0","lore_tm_v1_tby05nbs58uyLxAfoRSDZElKak4maWBADRrgSQJ_X3E","lore_tm_v1_dpsDHz4Brf3cjrvyFHreLeaGiv_NX9_zoLBXPVGwKgk","lore_tm_v1_6rCIJle8gxu7FOyENT7OSlknQ1jTnHaLiaWOI2i2TQk","lore_tm_v1_HDWthj6BHrENVv43dGX1KZpEVDc-27ywFSLHJpPS_LQ","lore_tm_v1_GrXSMYi0JeSZSMt-yAjf9EHtS3Ad9HPTG97ekk71J2U","lore_tm_v1_6vVdM3OAp6d4bPdyhQRzVJFlk1IqWL9aJ-UWVasB8Yg","lore_tm_v1_rwzmjkou15CkQ7Ncdea0WTnCFRbX05YvGkgPNQXEyVc","lore_tm_v1_ViXcYd0WIEZXxnulRoZ6T15wBO-KwNe3-5RancWjB8Q","lore_tm_v1_id8IarviMvxPgeGA2ducsSugJe7mc1bc27wP47uChmw","lore_tm_v1_9Jhp6paNHC3-2kzToON_VXLQQTCJmpfEk_fWRQr7LV0","lore_tm_v1_ZBp2QkrEmXLfEmLn6aRucZds-9lRjwNkM8qZwtp_uAY","lore_tm_v1_ZnTZMo2YxN0OeB0bgEKki23U3csBC380AGgShD25KD8","lore_tm_v1_jKnNV0WOMqceHUTBKIz6omI0r-decPbmlNASovahO98","lore_tm_v1_48JtHPoFLRDyAyLveYaRACMlLkg25NXJLuJBmlEYOgk","lore_tm_v1_fIyDcBNzT4TUMiq2hsH8N4zqEexso1HL73hIPRNJ85A","lore_tm_v1_lPaRD4d7_7TR8amN9fffZGfnlqYvwHO_ba58yQwH09E","lore_tm_v1_J7-m_mV6AEmszTCEn6r1vOIHFcvPard3SqCoESxOog8","lore_tm_v1_nOVMhsRTSWarhNp315aSJwLaIkzi4s7OvxdeAUKzrIY","lore_tm_v1_r10nNJ9o1U-wFiAvS6dMJJTsQWe04RLbMGH3dOGn6wg","lore_tm_v1_EMzWC7wznqZkkK_HwPMozhBMHQcqB1crqF3ttipIPPI","lore_tm_v1_gbOA0yXTBAXMRDdjbcUGcVmwQMQPptL8Ow-nTakqRRQ","lore_tm_v1_tVwmwzjw5xBmBGzi8k0rwjtB7sdGfoVP43EmFjDojZ0","lore_tm_v1_6SE0s4NPj8Y-t3ffT4_xgDVizdkytn1g6QY8lJrGa8g","lore_tm_v1_FCkH67rHa4DObrubObHQQv6XJl2tHJSOmzGwpwVSxh8","lore_tm_v1_9u2nR0V5aFfI6bjPR8ZEMzUnrBVPftEWHAise_I7MMw","lore_tm_v1_vSDAcniRlRSRXbYWoCR1hWRXCM3wiAScmRtiu77NIMs","lore_tm_v1_R1rxOfjnhI_6zg74YaoqSbOKNmiKvLiYKoIhIoFMw3U","lore_tm_v1_5_loWEs2K_JiVOS1CEP5BU38HUweIS5I_iv32PKLmR0","lore_tm_v1_Bxi4yIBpnWyw7lAHQ-2WnzwEWq4QJXVLlOWIuL-32AA","lore_tm_v1_XYKYkCbi52Tde9-Cox2yppHloB67mWFw2aqdE26Z-YU","lore_tm_v1_rAOroAu6cu-1NVBVxUM43YNOW9hZWUH9LEfPYLZgQUw","lore_tm_v1_s076fgz7dLGusiXXCNKFMsLFBFwWj8htl5FONRCFg_k","lore_tm_v1_exhcG2Hn-isND_iBOx5C-46lAwbQpCIqyX_UOEViPqU","lore_tm_v1_-M6-WRy1ZwKeppn9Dq8dnYtVrOpgE-1qUu8P7s8nkhA","lore_tm_v1_iif-moRpawbAa8CxQzbfF05zHVOHC7ONHWSbAxbGWbY","lore_tm_v1_PX3x72ZYJli5tslmwNWbOo6vchnTjBTjmZ_vkrYpWoI","lore_tm_v1_kdP-rzBLXta5TVjOf-UbnPsDYpim7-QrxgEOy5vYb_k","lore_tm_v1_bgNG7LIWlM5C0mZCelwwHCaLdtduh4Kh5mgCzyb-6kQ","lore_tm_v1_W69kO23xCFbtixIUBIT3btEBEON4k9Hl2V7zamyyH9E","lore_tm_v1_pzmWnTbHTmDpiWsLPYHXevd8Mt0qjB3oWB_H5tTy6vo","lore_tm_v1_iEqGo7kL9_nfM6KC0fSogb_BrVW2BJmet3uypHCrsXc","lore_tm_v1_cwFUMODqXgdrK5-1hu5BZEZjDMg7PHdZ7y33oxZhD28"]
/home/byk/Code/institutional-transition-lab, restricted by the user to record and fragment semantic validation in current uncommitted code/tests.file:line evidence, PASS/CONCERN/MUST-FIX classifications, deterministic regression proposals for every defect, all commands run, and an exact final line of either MERGE or DO-NOT-MERGE. If blocked, the report must begin BLOCKED and identify the exact tool/error.src/institution_lab/governance_adjudication.py, especially _source_index, _evidence_errors, _response_for, graph_edge_diff, _validate_reviewer, _validate_record, validate_adjudication, validate_adjudication_fragment, validate_against_schema, summary derivation, and canonicalization-gate derivation.schema/governance-adjudication-v1.schema.json except input-pin definitions, and semantic/fragment/gate tests in tests/test_governance_adjudication.py.record_id values reaching Counter or dictionary-key operations.coding_package["summary"] being present but null, causing .get() dereferences.pyproject.toml, uv.lock..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, tests/test_governance_adjudication.py.pyproject.toml | 5 ++++-, uv.lock | 4 ++++).git status views at 00:25 and 02:44 showed exactly the 3 untracked scoped files: schema/governance-adjudication-v1.schema.json, src/institution_lab/governance_adjudication.py, and tests/test_governance_adjudication.py.cases/review/oss-governance-adjudication-v1/.python failed with /usr/bin/bash: line 1: python: command not found. A working test run had nevertheless already completed through the environment’s available Python/pytest entry point.validate_against_schema(), andvalidate_adjudication() / validate_adjudication_fragment().
This distinguishes:TypeError/AttributeError from unchecked container assumptions._validate_record() counts every dictionary claim reference’s declared field before considering whether _evidence_errors() accepted or grounded it. However, the same ungrounded reference generates a validation error, so the tested payload’s gate remained closed. Treat as a possible clarity/diagnostic concern, not a demonstrated acceptance bypass.rationale and blank reviewer assistance are caught by JSON Schema (minLength: 1) but not by the probed manual path in that matrix. Since the intended full CLI combines both validators, this is not presently a gate-opening defect, though direct semantic API behavior may merit a concern depending on its contract.reviewer_ids and one malformed fragment adjudication record_id, but not unhashable record IDs in frozen documents/coding-package rows or null coding-package summaries.Malformed record IDs can crash full and fragment validators
_duplicates(values) at src/institution_lab/governance_adjudication.py:242-244 directly constructs Counter(values), assuming all values are hashable.src/institution_lab/governance_adjudication.py:556-606.documents_by_id and coding_by_id dictionary comprehensions use raw row["record_id"] values as keys.src/institution_lab/governance_adjudication.py:688-767.full_unhashable_adjudication_id → TypeError: unhashable type: 'dict', with 2 schema errors also present.full_unhashable_document_id → TypeError: unhashable type: 'dict', with 1 schema error.full_unhashable_coding_id → TypeError: unhashable type: 'dict', with 1 schema error.fragment_unhashable_coding_id → TypeError: unhashable type: 'dict'.fragment_unhashable_document_id → TypeError: unhashable type: 'dict'.unhashable_ids_full → TypeError: unhashable type: 'dict'.tests/test_governance_adjudication.py:613-631 verifies malformed per-record reviewer ID {"invalid": "reviewer"} returns reviewer_ids must contain non-empty strings.record_id to {"invalid": "record ID"} and expects both a record_id schema error and a known subset error without crashing.documents.documents, coding_package.records, and adjudication.records; assert no exception, an explicit string-ID/alignment error, and canonicalization_gate == "closed"._duplicates, constructing sets, comparing order, or building maps.Null coding-package summary crashes full and fragment validators
coding_package.get("summary", {}).get("documents_sha256") near src/institution_lab/governance_adjudication.py:512-534.src/institution_lab/governance_adjudication.py:688-731.None bypasses the {} default, so the second .get() raises.full_summary_null → AttributeError: 'NoneType' object has no attribute 'get', with 1 schema error also present.fragment_summary_null → the same AttributeError.none_package_summary crashed with TypeError: 'NoneType' object does not support item assignment; that earlier harness failure was less precise than the later direct AttributeError probe.coding_package["summary"] = None for both full and fragment calls.coding package summary must be an object or frozen coding package documents_sha256 mismatch.summary = coding_package.get("summary"); if not isinstance(summary, dict): ...._evidence_errors() at src/institution_lab/governance_adjudication.py:263-287 validates exact keys, allowed claim field, non-empty source/quote, source existence, and literal substring grounding._validate_record() around lines 473-489 validates each claim reference, then constructs field coverage from every dictionary reference rather than only references with zero evidence errors.ungrounded_required_claim at 04:46 emitted record example-1.claim_evidence_refs[2].quote is not grounded in source body; runtime gate remained closed. The payload also had 1 schema error.blank_rationale and blank_reviewer returned [].blank_rationale and blank_reviewer_assistance left the runtime gate open with no runtime errors, but each produced 1 schema error._validate_record() and _validate_reviewer() are intended to use non-empty-string checks; exact probe construction should be verified before alleging runtime drift. The schema definitely requires minLength: 1.duplicate_source_id probe returned no errors at 02:12.documents_sha256 was not recomputed and emitted input pin mismatch: documents_sha256; the payload had 2 schema errors.none_edge at 02:12 returned exactly:
record example-1: power_changes[0] has missing or unexpected keysrecord example-1: non-institutional records must not contain power_changesrecord example-1: graph_edge_revision.added is not derivednone_baseline_edge returned:
record example-1: accepted coding does not equal luna_arecord example-1: graph_edge_revision.removed is not derived_duplicates: 242–244_source_index: 247–260_evidence_errors: 263–287_response_for: 290–295_edge_key / graph_edge_diff: 298–313_validate_reviewer: 316–341_validate_record: 344–508validate_adjudication: 512–655validate_adjudication_fragment: 659–767validate_against_schema: 770–776render_markdown: 779–825_atomic_write: 844–856main() follows these helpers._source_index() indexes only sources whose source_id and text are strings, then adds synthetic source ID record_metadata containing compact sorted JSON for record_id, source_url, published_on, publisher, and source_type._evidence_errors() requires exact keys:
source_id, quote.field, source_id, quote.CLAIM_FIELDS: record_class, event_kind, title, announced_on, effective_on, affected_scope, body_patch_relation.graph_edge_diff() canonicalizes complete power-change objects with compact sorted JSON, deduplicates by canonical key, and returns key-sorted added and removed.human, llm, human_llm_assisted.source_adjudicator, evidence_auditor, synthesizer.model=None; non-human requires a named model.gemini substring is rejected with Gemini is restricted to event triage.accept, revise, reject, abstain.luna_a, luna_b, terra_advisory.effective_institutional_change, announced_institutional_change, proposal_only.accept: valid named frozen response and exact equality of final_coding.accepted_from=None.accept/revise/reject: valid dictionary final coding.abstain: null final coding, non-empty unresolved reason, null graph revision.abstain.reject: non-institutional final class.effective_institutional_change: requires effective_on; only status effective.announced_institutional_change: requires announced_on, forbids effective_on; only status announced.proposal_only: forbids effective_on; statuses proposed, rejected, or unclear.source_text_truncated is Truefiles_listing_complete is Falsepatch_selection_truncated is Truepatch_unavailable_count > 0
It requires non-empty evidence_limitations.accept requires basis == accepted_from.added and removed must equal graph_edge_diff() from selected valid baseline to final coding.record_countdecision_countsclass_countsunresolved_record_idsrecord_decisionsgraph_edge_revisionsreviewer_provenancecanonicalization_gate
Gate is closed on any error or unresolved abstention; otherwise open.schema_version, design_status, reviewers, records.schema_version=1.design_status="performance_blinded_llm_assisted_source_adjudication".source_adjudicator.validate_against_schema() uses Draft202012Validator with FormatChecker, sorts by instance path, and formats errors as schema {path}: {message}, using <root> for root errors.--adjudication, --input-manifest, --documents, --coding-package, --artifact, --protocol, --coding-schema, --adjudication-schema, --summary-json, --summary-markdown.ValueError("adjudication validation failed:\n...")._write_failure_reports() and are re-raised.MAX_INPUT_BYTES = 16 * 1024 * 1024MAX_ARTIFACT_BYTES = 32 * 1024 * 1024MAX_ARCHIVE_MEMBERS = 128MAX_ARCHIVE_MEMBER_BYTES = 16 * 1024 * 1024MAX_ARCHIVE_EXPANDED_BYTES = 64 * 1024 * 1024workflow_run_id=33063470968artifact_id=9642983578artifact_sha256=1f6be91fcd98e43e99d82d5f274536f6c23616e7e6c711e26324a2cc4b06ef06documents_sha256=d70f7f795847968339a645b6dbd6d4428af6bd6044de44fa2602d4c4343b0ee9documents_file_sha256=2a62ab05687982c112a29f6126227c26c3ff8defc89ca64662753aaf85c3c0cecoding_package_file_sha256=14644759f53071adfe1173d4e25bb01931b8c1591fa8a48295dbd0556a754769protocol_sha256=06d4b3407677fe7fb23046f70164a366db06638e8a29af3daf7661f00d565933coding_schema_sha256=bfc735a7d8602d1f236a88c2d23b195f0600a8bae86fb8c8936afe7883a41b8eadjudication_schema_sha256=6181f5cb60a0462f83be00be301763daa89f11581e68ee1c46a84e8bf4e5be31schema/governance-adjudication-v1.schema.json:
$id=https://institutional-transition-lab.local/schema/governance-adjudication-v1.schema.json.Performance-blinded governance adjudication v1.record_id, source_url, decision, accepted_from, reviewer_ids, source_audit, rationale, evidence_limitations, unresolved_reason, claim_evidence_refs, final_coding, graph_edge_revision.appoint, remove, elect, vote, delegate, override, approve, merge, write, release, veto, own, license, steward, fund, set_budget, set_strategy, set_policy, set_membership, set_terms, inform.added, removed, modified.effective, announced, proposed, rejected, unclear.effective_institutional_change, announced_institutional_change, proposal_only, control_event, no_event, abstain.leadership, board_or_steering, control_rights, reorganization, foundation_transfer, license, fork, reunification, strategy, product, external, or null.consistent, patch_supersedes_body, body_only, patch_only, conflict, not_applicable, unclear.tests/test_governance_adjudication.py is 1,024 lines.example-1https://github.com/acme/example/issues/1The council may approve releases.opencode-gpt-5.6-sol-primary, type llm, model openai/gpt-5.6-sol, role source_adjudicator.luna_a as no_event, with empty claim refs and empty graph diff.decision_counts={"accept": 1}class_counts={"no_event": 1}unresolved_record_ids=[]canonicalization_gate="open"record_count=1unresolved_record_ids=["example-1"]canonicalization_gate="closed"26 passed in 0.11s.governance_adjudication.py, supporting response validation in governance_coding.py, fragment behavior, graph-edge logic, gate derivation, CLI hardening, and existing tests.python failed exactly with /usr/bin/bash: line 1: python: command not found.irrelevant_claim_quotes, blank_rationale, blank_reviewer, duplicate_source_id.unhashable_ids_full crashed with TypeError: unhashable type: 'dict'.none_sources crashed with TypeError: 'NoneType' object is not iterable.none_package_summary crashed in the harness with TypeError: 'NoneType' object does not support item assignment.pyproject.toml/uv.lock and the larger untracked set; assistant had not intentionally edited files.No files found.