Dashboard › institutional-transition-lab › Distillation
Distillation
ID: 0eea0094-087d-4749-ba64-e82c34cb8b7e
Generation: 0
Tokens: 2143
R_compression: 16.749
C_norm: 0.002
Archived: Yes
Created: 2026-09-09 00:29:59
Source IDs:
["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"]
Observations
- π‘ (00:24) Repository root /home/byk/Code/institutional-transition-lab contained 23 entries: .git/, .github/, .gitignore, .lore.md, .pytest_cache/, .ruff_cache/, .venv/, AGENTS.md, cases/, data/, docs/, node_modules/, package-lock.json, package.json, PROTOCOL.md, pyproject.toml, README.md, research/, schema/, scripts/, src/, tests/, uv.lock.
- π‘ (00:24) Located scoped implementation functions in src/institution_lab/governance_adjudication.py: canonical_sha256() line 61, _source_index() line 127, _evidence_errors() line 143, _response_for() line 170, graph_edge_diff() line 182, _validate_reviewer() line 196, _validate_record() line 224, validate_adjudication() line 392, validate_adjudication_fragment() line 539, validate_against_schema() line 650, and render_markdown() line 659; summary gate is derived at line 534.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:127-140 found _source_index() indexes valid string source_id/text pairs and adds synthetic source_id record_metadata containing JSON-serialized record_id, source_url, published_on, publisher, and source_type.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:143-167 found _evidence_errors() requires exact evidence-reference keys: source_id and quote, plus field for claim references; validates field against CLAIM_FIELDS, requires non-empty strings, verifies source_id exists, and grounds a quote using substring membership in the indexed source text.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:170-175 found _response_for() returns a response only when the named coding result is a dict, schema_valid is exactly True, and response is a dict.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:178-193 found graph_edge_diff() canonicalizes each edge with sorted compact JSON, converts baseline and final power_changes to dictionaries keyed by canonical JSON, and reports deterministically sorted added and removed edges.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:196-221 found _validate_reviewer() requires exactly reviewer_id, reviewer_type, model, role, and assistance; validates non-empty IDs/assistance, REVIEWER_TYPES and REVIEWER_ROLES membership, null model for humans, named model for non-humans, and rejects model strings containing βgeminiβ case-insensitively.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:224-389 found _validate_record() checks source_url equality, valid decision, non-empty/unique/known reviewer_ids, non-empty rationale, source-first source_audit with exact source IDs and evidence_bounds, and evidence_limitations when source text or patch evidence is bounded.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:282-323 found decision contracts: accept requires accepted_from in RESPONSE_SOURCES and final_coding equal to that valid frozen response; non-accept decisions must leave accepted_from null; accept/revise/reject require valid final_coding; abstain requires null final_coding and non-empty unresolved_reason; resolved decisions require null unresolved_reason and cannot use final record_class abstain; reject cannot resolve to an institutional class.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:324-351 found temporal/status checks: effective_institutional_change requires effective_on; announced_institutional_change requires announced_on; announced_institutional_change and proposal_only prohibit effective_on; allowed power-change statuses are effective for effective_institutional_change, announced for announced_institutional_change, and proposed/rejected/unclear for proposal_only.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:353-369 found claim_evidence_refs must be an array and each reference is checked by _evidence_errors(); institutional final classes require every non-null field in CLAIM_FIELDS to appear as a grounded claim-reference field.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:371-388 found graph-edge revision contracts: abstain requires null graph_edge_revision; resolved decisions require an object; basis must be a response source or null; accept basis must equal accepted_from; added and removed must exactly equal graph_edge_diff() from the selected valid response baseline to final_coding.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:392-488 found validate_adjudication() checks transition_dates_excluded=True, outcome_data_used=False, verified REQUIRED_INPUT_PINS, coding-package documents_sha256, non-empty reviewer list, reviewer validity and unique IDs, and exact once-only ordered identity among document, coding-package, and adjudication record IDs; each matched record must list a reviewer whose role is source_adjudicator before _validate_record() runs.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:489-536 found summary derivation emits record_count, sorted decision_counts, sorted class_counts, abstaining unresolved_record_ids, record_decisions, graph_edge_revisions, and reviewer_provenance; canonicalization_gate is closed when errors exist or unresolved_record_ids is non-empty, otherwise open.
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:539-647 found validate_adjudication_fragment() builds a fragment-only schema requiring exactly schema_version=1, design_status="performance_blinded_llm_assisted_source_adjudication", reviewers, and records; validates reviewers and duplicate IDs, requires coding IDs to match document IDs exactly once and in order, requires fragment IDs to be a unique known subset in frozen-document order, verifies coding-package documents_sha256, requires a source_adjudicator per matched record, and delegates record semantics to _validate_record().
- π‘ (00:24) Inspection of src/institution_lab/governance_adjudication.py:650-656 found validate_against_schema() uses Draft202012Validator with FormatChecker and returns path-qualified errors sorted by validation path.
- π‘ (00:24) Located 20 relevant tests in tests/test_governance_adjudication.py, including ontology alignment, URI/date formats, abstention gate closure, exact record IDs, accept equality, resolved-class restrictions, bounded-evidence limitations, accepted-response graph basis, grounded institutional evidence, class/status agreement, required source adjudicator, reviewer-ID uniqueness and malformed IDs, input-pin protections, fragment/full-envelope separation, malformed fragment IDs, and valid gate opening.
- π‘ (00:25) git status showed exactly 3 untracked scoped files: schema/governance-adjudication-v1.schema.json, src/institution_lab/governance_adjudication.py, and tests/test_governance_adjudication.py.
- π‘ (00:25) Synthetic test fixtures in tests/test_governance_adjudication.py define one document record example-1 with source URL https://github.com/acme/example/issues/1, source body text βThe council may approve releases.β, unbounded evidence, two schema-valid frozen responses luna_a and luna_b, and reviewer opencode-gpt-5.6-sol-primary using model openai/gpt-5.6-sol with role source_adjudicator.
- π‘ (00:25) Synthetic valid adjudication fixture defaults to decision accept, accepted_from luna_a, final record_class no_event, empty power_changes and claim_evidence_refs, and graph_edge_revision basis luna_a with empty added/removed arrays.
- π‘ (00:25) Tests at tests/test_governance_adjudication.py:225-240 assert one abstention can have no validation errors while retaining record_count=1 and unresolved_record_ids=["example-1"]; the associated gate expectation is closure.
- π‘ (00:25) Fragment tests at tests/test_governance_adjudication.py:708-730 use cases/review/oss-governance-adjudication-v1/fragments/opentofu-a2.json with documents.json and v1.2-coding-package.json; the committed partial fragment must pass validate_adjudication_fragment() but fail validation as a full envelope, while replacing its first record_id with {"invalid": "record ID"} must produce both a record_id error and a βknown subsetβ error.
- π‘ (00:25) Gate test at tests/test_governance_adjudication.py:733-753 expects a valid resolved synthetic record to yield no errors, decision_counts={"accept": 1}, class_counts={"no_event": 1}, unresolved_record_ids=[], one record_decisions entry for example-1, one empty luna_a-based graph revision, unchanged reviewer_provenance, and canonicalization_gate="open".
- π‘ (00:26) Inspection of schema/governance-adjudication-v1.schema.json:1-38 found a Draft 2020-12 object schema with additionalProperties=false; the full envelope requires schema_version, adjudication_id, design_status, transition_dates_excluded, outcome_data_used, inputs, reviewers, and records; design_status is fixed to performance_blinded_llm_assisted_source_adjudication, transition_dates_excluded to true, outcome_data_used to false, reviewers has minItems=1, and full-envelope records has minItems=40 and maxItems=40.
- π‘ (00:26) Located schema definitions in schema/governance-adjudication-v1.schema.json for reviewer at line 69, evidence_ref at line 85, claim_evidence_ref at line 94, power_change at line 109, coding at line 144, source_audit at line 214, and record at line 229; record decision enum at line 245 is accept, revise, reject, abstain.