Add AI Agent Decision predicate - #591
Open
bengunvl wants to merge 1 commit into
Open
Conversation
Supply chains increasingly contain decisions no human made: an agent triages a CVE and closes it, approves a dependency bump, or decides a failing test is flaky. Each changes what ships, and none currently produces an attestation. A policy engine can verify how an artifact was built but cannot ask who or what decided it should be built that way. The predicate carries the decision, its confidence, whether a human overrode it, and a Context Passport integrity block, so a verifier can establish both that the issuer said this and that they have not since changed what they said. SCAI is the closest existing type and is general enough to express much of this. The document says so plainly rather than arguing it away, and asks for maintainer input on whether the recurring shape of a decision plus the chain field justify a distinct type. Signed-off-by: Context Passport maintainers <maintainers@contextpassport.com>
bengunvl
force-pushed
the
predicate/ai-agent-decision
branch
from
August 29, 2026 04:43
ca73c15 to
bdaeed1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposes a new predicate type for decisions made by automated agents in the supply chain, following the predicate template and the vetting process in the New Predicate Guidelines.
The gap
Supply chains increasingly contain decisions no human made. An agent triages a vulnerability report and closes it as not exploitable. An agent approves a dependency bump. An agent decides a failing test is flaky and re-runs it.
Each of those changes what ships. None produces an attestation today, so a policy engine that can verify how an artifact was built cannot ask who or what decided it should be built that way.
Why not the existing predicates
internalParameters, but that field is explicitly unstructured and not meant to carry claims a verifier acts on.recordfield, which binds an attestation to a tamper-evident sequence of earlier decisions. If maintainers judge that insufficient, I would rather hear it than have a redundant predicate merged.What the predicate adds
A Context Passport integrity block alongside the decision. That gives two independent checks answering different questions: envelope signature verification establishes who issued the attestation, while recomputing the hashes establishes that the decision has not been rewritten since it was made, including by whoever signed the attestation.
Context Passport is CC0, archived at 10.5281/zenodo.22153488, with Apache-2.0 reference implementations in Python and TypeScript and a CC0 conformance suite. Verification needs only SHA-256 and an RFC 8785 canonicalizer: no network, no account, no trust in the issuer.
Notes
contextpassport.comrather thanin-toto.io. If this is accepted and maintainers prefer the in-toto namespace, I will follow up with the redirects-list PR described in the guidelines.humanOversightobject asserts nothing, and a policy requiring human review must demand the field be present andtruerather than infer anything from its absence.