Skip to content

feat: introduce typed Assurance IR v1 - #30

Draft
fraware wants to merge 3 commits into
mainfrom
feat/assurance-ir-v1
Draft

fraware wants to merge 3 commits into
mainfrom
feat/assurance-ir-v1

Conversation

@fraware

@fraware fraware commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Purpose

Introduce an additive, content-addressed semantic interchange layer between source/framework extraction and OVK verification obligations.

This is the first consolidation step toward proof-backed acceptance of machine-generated changes. It does not change any existing lane, routing decision, or merge recommendation.

What this adds

  • typed principals, resources, namespaced effects, authorization guards, and protected effects
  • principal/effect/resource binding constraints
  • path conditions and ordered semantic paths
  • durable claim candidates with origin and approval status
  • per-node source provenance, extraction coverage, assumptions, and notes
  • closed-reference validation across semantic objects
  • canonical Assurance IR digests and tamper detection
  • unit coverage for round trips, stable identity, reference closure, binding-kind integrity, and digest mismatch
  • explicit documentation of the trust boundary

Non-claims

A valid Assurance IR does not prove:

  • source extraction is sound or complete;
  • every application path was found;
  • guards dominate protected effects;
  • authorized and acted-upon principals/effects/resources are identical;
  • a backend proof is valid.

Those remain separate obligations.

Follow-on

The next PR should compile Assurance IR into a stronger protected_effect_integrity obligation family:

Performed(principal, effect, resource) -> Authorized(principal, effect, resource)

with principal binding, effect binding, resource binding, and guard/path obligations independently visible.

Release isolation

This PR is intentionally draft-only while the current v1.3.0-rc.1 release-integrity work remains unresolved. Merging feature work into main would change the release candidate identity and require the exact-head release evidence to be regenerated.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant