Skip to content

Credential Type Metadata Documents#566

Open
nodh wants to merge 12 commits into
feature/typed-credential-schemesfrom
feature/dynamic-credential-registry
Open

Credential Type Metadata Documents#566
nodh wants to merge 12 commits into
feature/typed-credential-schemesfrom
feature/dynamic-credential-registry

Conversation

@nodh

@nodh nodh commented Jun 10, 2026

Copy link
Copy Markdown
Member

Builds upon #567 to implement a registry of type metadata documents (see https://www.ietf.org/archive/id/draft-ietf-oauth-sd-jwt-vc-16.html#name-sd-jwt-vc-type-metadata) that can be translated into internal credential schemes.

Actually resolve remote type metadata documents in #571.

Other credential schemes are migrated into a-sit-plus/credentials-collection#1

@nodh nodh self-assigned this Jun 10, 2026
@nodh nodh force-pushed the feature/dynamic-credential-registry branch 2 times, most recently from 6c3c784 to ecc74c9 Compare June 11, 2026 19:27
@nodh nodh added this to the 6.0 milestone Jun 11, 2026
@nodh nodh requested a review from JesusMcCloud June 11, 2026 19:28
@nodh nodh force-pushed the feature/dynamic-credential-registry branch 2 times, most recently from faa5f84 to 3a330fd Compare June 12, 2026 09:07
@nodh nodh mentioned this pull request Jun 12, 2026
@nodh nodh changed the base branch from develop to feature/typed-credential-schemes June 12, 2026 09:09
@nodh nodh marked this pull request as ready for review June 12, 2026 09:09
@nodh nodh changed the title Dynamic credential registry Credential Type Metadata Documents Jun 12, 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: 3a330fd267

ℹ️ 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 vck/src/commonMain/kotlin/at/asitplus/wallet/lib/InternalHelpers.kt Outdated
@nodh nodh force-pushed the feature/dynamic-credential-registry branch from 3a330fd to af4d8f4 Compare June 12, 2026 09:14

@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: af4d8f48db

ℹ️ 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 vck/src/commonMain/kotlin/at/asitplus/wallet/eupid/EuPidScheme.kt
Comment thread vck/src/commonMain/kotlin/at/asitplus/wallet/eupid/EuPidCredential.kt Outdated
Comment thread vck/src/commonMain/kotlin/at/asitplus/wallet/eupid/EuPidCredential.kt Outdated
@nodh nodh force-pushed the feature/typed-credential-schemes branch from 0e5ca5d to 25ba60f Compare June 17, 2026 09:06
@nodh nodh force-pushed the feature/dynamic-credential-registry branch from af4d8f4 to 4f2f3aa Compare June 17, 2026 09:19

@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: 4f2f3aa79d

ℹ️ 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 vck/src/commonMain/kotlin/at/asitplus/wallet/eupidsdjwt/EuPidCredentialSdJwt.kt Outdated
@nodh nodh force-pushed the feature/dynamic-credential-registry branch from 4f2f3aa to 5935628 Compare June 17, 2026 10:13

@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: 5935628f7f

ℹ️ 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".

@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: 62d7b345cb

ℹ️ 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 vck/src/commonMain/kotlin/at/asitplus/wallet/eupidsdjwt/EuPidCredentialSdJwt.kt Outdated
@nodh nodh force-pushed the feature/dynamic-credential-registry branch from 62d7b34 to c7d06b8 Compare June 17, 2026 11:05
@nodh nodh force-pushed the feature/dynamic-credential-registry branch from c7d06b8 to 88c16dd Compare June 17, 2026 11:06

@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: 88c16dd7ea

ℹ️ 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".

identifier: String,
representation: CredentialRepresentation,
): Boolean {
val extensions = vckExtensions

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 Resolve inherited VCK extensions before matching

The fresh issue is that this matcher still inspects the unresolved child definition, so a static metadata document that extends a PID/mDL/JWT base and relies on the now-inherited vckExtensions has extensions == null here. In that case PLAIN_JWT/ISO_MDOC lookup by the inherited vcType/isoDocType never finds the child vct, and AttributeIndex falls back instead of resolving and merging the document; this affects bundled/static country- or issuer-specific extensions unless every child repeats the full vck block or has an alias.

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 provoke or disprove with a test

@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.

will report back on the note to self later

identifier: String,
representation: CredentialRepresentation,
): Boolean {
val extensions = vckExtensions

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 provoke or disprove with a test

Comment on lines +31 to +34
while (true) {
val current = load()
if (compareAndSet(current, transform(current))) return
}

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.

this function is also available as a built-in.

@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