Dashboardinstitutional-transition-labDistillation

Distillation

ID: f3fcea47-4e4c-44aa-ac08-86eb562d6648
Session: 0Ipl6OlrkvUo
Generation: 1
Tokens: 5844
R_compression: 10.879
C_norm: 0.000
Archived: No
Created: 2026-09-09 09:17:00
Source IDs:
["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"]

Observations

Current State

Key Decisions

Technical Changes

Confirmed defect candidates

  1. Malformed record IDs can crash full and fragment validators

    • Root cause:
      • _duplicates(values) at src/institution_lab/governance_adjudication.py:242-244 directly constructs Counter(values), assuming all values are hashable.
      • Full validation builds raw ID lists and maps without string/hashability filtering at approximately 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.
      • Fragment validation string-filters only fragment adjudication IDs; document/coding IDs and frozen maps still use raw IDs at approximately src/institution_lab/governance_adjudication.py:688-767.
    • Deterministic probe results at 04:46:
      • full_unhashable_adjudication_idTypeError: unhashable type: 'dict', with 2 schema errors also present.
      • full_unhashable_document_idTypeError: unhashable type: 'dict', with 1 schema error.
      • full_unhashable_coding_idTypeError: unhashable type: 'dict', with 1 schema error.
      • fragment_unhashable_coding_idTypeError: unhashable type: 'dict'.
      • fragment_unhashable_document_idTypeError: unhashable type: 'dict'.
    • Earlier probe at 02:12:
      • unhashable_ids_fullTypeError: unhashable type: 'dict'.
    • Existing partial protection:
      • tests/test_governance_adjudication.py:613-631 verifies malformed per-record reviewer ID {"invalid": "reviewer"} returns reviewer_ids must contain non-empty strings.
      • Existing malformed fragment adjudication ID test changes the first fragment record_id to {"invalid": "record ID"} and expects both a record_id schema error and a known subset error without crashing.
    • Proposed deterministic regressions:
      • Parameterize full validation over malformed IDs in each of documents.documents, coding_package.records, and adjudication.records; assert no exception, an explicit string-ID/alignment error, and canonicalization_gate == "closed".
      • Parameterize fragment validation over malformed document/coding IDs; assert no exception and explicit frozen-input/alignment errors.
    • Likely fix shape:
      • Validate/filter IDs to non-empty strings before calling _duplicates, constructing sets, comparing order, or building maps.
      • Avoid indexing malformed rows and emit deterministic path-specific errors.
  2. Null coding-package summary crashes full and fragment validators

    • Root cause:
      • Full validation uses coding_package.get("summary", {}).get("documents_sha256") near src/institution_lab/governance_adjudication.py:512-534.
      • Fragment validation uses the same shape near src/institution_lab/governance_adjudication.py:688-731.
      • A present key whose value is None bypasses the {} default, so the second .get() raises.
    • Deterministic probe results at 04:46:
      • full_summary_nullAttributeError: 'NoneType' object has no attribute 'get', with 1 schema error also present.
      • fragment_summary_null → the same AttributeError.
    • Earlier related probe at 02:12:
      • 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.
    • Proposed deterministic regressions:
      • Set coding_package["summary"] = None for both full and fragment calls.
      • Assert no exception and an explicit error such as coding package summary must be an object or frozen coding package documents_sha256 mismatch.
      • For full validation, assert the returned gate is closed.
    • Likely fix shape:
      • Normalize only mapping-valued summaries, e.g. summary = coding_package.get("summary"); if not isinstance(summary, dict): ....

Investigated concerns that did not demonstrate gate opening

Current implementation details

Schema and test coverage

Session Timeline