Skip to content

Remote Credential Registry#571

Open
nodh wants to merge 8 commits into
feature/dynamic-credential-registryfrom
feature/remote-credential-registry
Open

Remote Credential Registry#571
nodh wants to merge 8 commits into
feature/dynamic-credential-registryfrom
feature/remote-credential-registry

Conversation

@nodh

@nodh nodh commented Jun 17, 2026

Copy link
Copy Markdown
Member

Finishes the work of #566 and #567 for now.

Metadata documents are available at a-sit-plus/credentials-collection#1

Next up: Integration into Relying Party, Issuing Backend and Valera.

nodh added 2 commits June 17, 2026 13:40
When a multi-format scheme (e.g. AtomicAttribute2023) shares JSON-style
claimDescriptions across representations, the ISO mdoc mapping advertised
claims as ["given_name"] instead of [isoNamespace, "given_name"].
Namespace-qualify ISO claim paths, skipping paths that already carry the
namespace (as metadata-derived ISO schemes do).
@nodh nodh added this to the 6.0 milestone Jun 17, 2026
@nodh nodh requested a review from JesusMcCloud June 17, 2026 11:54
@nodh nodh self-assigned this Jun 17, 2026
@nodh nodh mentioned this pull request Jun 17, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 108c830e6b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread README.md
nodh added 2 commits June 17, 2026 14:00
ISO store entries serialized before StoreEntry.schemeIdentifier existed keep
that field null. Passing it straight to the input-descriptor evaluator made
PresentationExchangeInputEvaluator reject every MSO_MDOC descriptor keyed by
docType. Fall back to the credential's own identifier (mdoc docType, SD-JWT
vct, or W3C VC type) when the stored field is null.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

nodh added 2 commits June 17, 2026 14:24
VC-JWT credentials commonly carry `type` as an array, while verifiers filter
$.type for a single type string. Make the Presentation Exchange matcher treat a
scalar const/pattern/enum filter as satisfied when any array element matches,
and expose the full VC type array again for legacy store entries. Supersedes
the scalar-only fallback with a representation that also matches multi-type VCs.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a1fec15d15

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +172 to +175
if (this is JsonArray && filter.type != "array" &&
(filter.const != null || filter.pattern != null || filter.enum != null)
) {
return any { it.matchConstraints(filter) }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Limit scalar array matching to VC type checks

This relaxation now applies to every constraint field, not just the legacy $.type case described in the comment. A verifier that requires a scalar claim, e.g. $.status with type: "string" and const: "active", will also accept a credential whose selected node is an array such as ["active", "revoked"], even though the field itself does not satisfy the requested JSON type. That can make Presentation Exchange accept credentials that fail non-type scalar constraints; consider moving this special-case to the VC type constraint path or otherwise scoping it to $.type.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be easy to cover with a test

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@JesusMcCloud JesusMcCloud left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pending the Codex comment

Comment on lines +172 to +175
if (this is JsonArray && filter.type != "array" &&
(filter.const != null || filter.pattern != null || filter.enum != null)
) {
return any { it.matchConstraints(filter) }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be easy to cover with a test

@nodh nodh modified the milestones: 6.0, 7.0 Jun 18, 2026
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.

2 participants