Ideas · Builder Notes
Kognita 0.6.1: closing the bypasses review found in Claims
Kognita alpha 0.6.1 is a patch release that ties a claim release to its target and closes four ways text could slip past the 0.6 claim checks.
Before
Review of 0.6.0 found that a released claim could cover more than it should. A release was not tied to a client or an interaction, and a claim invalidated after release, for example by superseding its source, still covered text on the gateway and communication paths.
What changed
- release_scope on a use case sets how tightly a release is tied to its target: usecase by default, client, or interaction. An unknown scope fails closed as interaction.
- The gateway reads an interaction_id header and takes the client from the stored interaction, never from a header, and only when that interaction is for the request's purpose.
- The cover check reads the latest snapshot of each claim, so an invalidated claim no longer covers text.
- The cover check reads only claim events instead of re-verifying the whole chain on every material response. Full verification stays in reconstruct, replay and evidence verify.
- A value with value and as_of but missing the rest of the fact contract is admitted, and so suppressed, instead of passing as plain data.
- verify_claim pins the producer: provider, model and version must match a recorded MODEL_CALL, or verification is denied C7-PIN.
After
0.6.1 shipped with no new public names beyond those already on main. A release now covers only the use case, client or interaction it was made for.
If you're building one
Take identity from your own records, not from the request. A header is a claim, not a fact.
Sources
Kognita is an open-source alpha. This note comes from Kognita PR #138, Kognita v0.6.1 release notes, Kognita CHANGELOG: 0.6.1, kognita 0.6.1 on PyPI in the Kognita repository.
