feat: retain utilized MI knowledge references as provenance (#55) #101
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-55-mi-utilized-reference"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Scope
Refs #55 (keep open). Bounded offline utilized-reference consumer: retain and validate the
mi_utilizationreference the Router emits in its public selection envelope, as provenance only. No direct MI reads, no sidecar/cut decoding, no freshness/TTL/authority semantics, no live producer access, no Router contract change, no harness adoption.Producer contract (verified read-only)
Router #176 consumer merged at
4162f6fa9f774beaf6e92d86b7ebc92f306da4bdconsuming MI publicationd65891668b7e79f7b666c021f02a1b4bf8c4ca9c:/v1/selectreturns{"schema_version":1,"decision":…,"mi_utilization":…?}where the reference is exactly{source:"model_intelligence", identifier:"urn:mi:utilization:sha256:<64hex>", version:"mi.utilization-working/1"}.Changes
core/knowledge.py:UtilizedKnowledge— corrupt grammar refuses the envelope (existing INVALID_RESPONSE path); a grammar-valid reference outside the producer contract is retained as explicitunsupported_version;export_documentlabels retention statesnot_retained/utilized/unsupported_versionwithauthority=provenance-only,distribution=local-only.Allocation.knowledge_utilization+ allocation codec v3: immutable Attempt-bound retention at preparation; v1/v2 documents and bytes unchanged; v3 requires a validated retention document and permits null requirements evidence on the reference path; tampered/mislabeled retention refuses decode; restart decodes the original reference._decisionextracts and validatesmi_utilization; the reference never affects runtime compatibility, identity or authority (negative-tested).Not implemented (issue remains open)
Direct MI harness-interface evidence reads (AC4 conditional clause; the no-authority boundary is enforced and tested), any utilization sidecar or cut decoding, freshness/withdrawal semantics beyond the reference grammar (Router-side), live producer access.
Validation
make check: 1503 passed, 85 skipped, 106 subtests; format/lint/basedpyright/import-linter/secret-scan/diff gates pass.make package-check: reproducible sdist/wheel and installed smoke checks pass.Base
f4d86ea0a8e1b048d186fae01d49bb2283fc99d6; headfdc2aa98a7922d3c8610eac1dc3edfb17c601f8b.