Skip to content

feat: make active external claims expire without refreshed state - #147

Merged
hippoley merged 5 commits into
mainfrom
feat/external-claim-freshness
Oct 7, 2026
Merged

hippoley merged 5 commits into
mainfrom
feat/external-claim-freshness

Conversation

@hippoley

@hippoley hippoley commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Why

CounterProof now binds public claims to evidence, but an external relationship can still change after the evidence bytes remain valid.

An "active interoperability" statement is especially vulnerable: the handoff may remain reproducible while the upstream issue/PR state changes underneath it.

What changed

  • add external-state.yml with dated observations and refresh budgets
  • bind the AVERA interoperability public claim to its current upstream issue/PR state
  • make active external claims fail CI after their freshness budget expires
  • record the current AVERA state explicitly: issue fix: discover Node ESM/CommonJS regression tests #12 closed, implementation PR fix: surface changed test-support as proof-integrity risk #14 merged
  • add an interoperability note for the in-toto conformance-layer node (#554 / #597)
  • separate byte-valid provenance from current external-state applicability

This intentionally turns freshness into a maintenance obligation: a public claim that says a relationship is active must be periodically re-observed rather than living forever on an old link.

@hippoley
hippoley merged commit bbeed9b into main Oct 7, 2026
6 checks passed
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