docs(ws4): add Verifiable Intent to the interop map, plus two seam notes - #534
Merged
Conversation
Mastercard's Verifiable Intent is a layered SD-JWT delegation credential and a layer-2 occupant, so it gets a row next to ODIS. Interface level only, per the map's own rules: what it emits, what it consumes, and where the OCSF boundary falls. The fact that matters here is that its spec rules a record or audit layer out of scope, so every verification produces a verdict and then nothing durable. That is added to the seams list. Two notes are written as questions for the owners of the representations involved rather than as findings about anyone's row, because the map is descriptive and each player corrects their own row. The first asks whether a representation carrying a credential holds the key that credential is bound to. A hop recording who delegated to whom, without the key, preserves the assertion and drops the proof. The second asks how an absolute expiry and a relative one reconcile. VI carries exp as an absolute timestamp; a representation carrying a duration needs a defined anchor, and the credential's issued-at and the carrier's observation time differ by the ingestion delay, so two identical grants can expire at different moments depending on when they were seen. That one generalises past any particular pair: any layer timestamping an artifact it received rather than the artifact's own claim inherits it. A third note records where the terms of a grant live, framed as a seam rather than one player's gap, since it is the field an ODIS passport, a CMF delegation chain and a VI mandate would all serialize into. Cites ocsf#1756. Added lines are plain ASCII per CLAUDE.md, which means the new row reads "2, Authority grant" where existing rows use an em dash. Cosmetic and open. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XyU3PRkgvMxgimkPBC5726
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Records what shipped in the map, not the strategy behind it, per AGENTS.md: the VI row, the seam for a spec that excludes any record or audit layer, and the three notes. Follows the docs-only precedent already in Unreleased. The row stays plain ASCII, so it reads "2, Authority grant" where the surrounding rows use an em dash. Decided, not left open. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XyU3PRkgvMxgimkPBC5726
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.
Ready for review.
AGENTS.mdputs standards work in the hand-back list, so this is not self-merged: Jeff opens it for a human pass on the facts and framing.What this adds
One row, one seam entry, and three notes in
docs/strategy/cosai-ws4-interop-map.md, plus the matchingCHANGELOG.mdentry. Nothing outside those two files.The row. Mastercard's Verifiable Intent is a layered SD-JWT delegation credential, so it sits at layer 2 next to ODIS. L1 binds the user's device key via the RFC 7800
cnfclaim, L2 delegates to the agent with constraints attached, L3 splits the network-facing and merchant-facing views. Described at interface level only: what it emits, what it consumes, where the OCSF boundary falls.The seam. The VI spec puts any record or audit layer out of scope. So every verification produces a verdict and then nothing durable. That is a seam, not a criticism, and it is the one this project is positioned to fill.
Why the notes are written as questions
The map's own ground rules are
Descriptive, not evaluativeandEach player owns their own row. So findings about someone else's system cannot go in their row. Both notes are instead addressed to whoever owns the representation involved.The first asks whether a representation that carries a credential also carries the key that credential is bound to. A hop that records who delegated to whom, without the key, keeps the assertion and drops the proof.
The second asks how an absolute expiry reconciles with a relative one. VI carries
expas an absolute timestamp. A representation carrying a duration needs a defined anchor, and the credential's issued-at and the carrier's observation time differ by the ingestion delay. Two identical grants then expire at different moments depending on when each was seen. That generalises past any one pair, which is why it is phrased for any layer that timestamps an artifact it received rather than the artifact's own claim.The third records where the terms of a grant live, and cites ocsf#1756. Framed as a seam rather than one player's gap, since it is the field an ODIS passport, a CMF delegation chain and a VI mandate would all serialize into.
Style
Added lines are plain ASCII per
CLAUDE.md, so the new row reads2, Authority grantwhere the existing rows use an em dash. Decided, not open.Checks
Docs only, no code paths touched. CI green on
dfbf1db. Added lines verified free of non-ASCII. The changelog entry describes what shipped rather than the strategy behind it, perAGENTS.md, and follows the docs-only precedent already in[Unreleased].🤖 Generated with Claude Code
https://claude.ai/code/session_01XyU3PRkgvMxgimkPBC5726