Repository navigation
chart: the verifier no longer lists the offer twins (step 1; 26 -> 14 on gdc) - #82
Merged
leifj merged 2 commits intoOct 21, 2026
Merged
Conversation
…horized offer twins They are issuance-only scopes; listing them doubled the verifier's /ui/metadata and picker (26 -> 14 on gdc). The issuer keeps its twins (offers resolve against credential_configurations_supported); minting is unchanged. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ase.yaml's signingCertDnsSan from #80) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Step 1 of the offer-twins plan (chart only; no vc change; nothing minted differently). Stacked on #81 (base = its branch
deploy/gdc-nymauth-verifier); retarget tomainonce that merges.What
The verifier's
common.credential_metadatano longer lists the pre-authorized offer twins (<type>_offer,authProvider: preauth). New helpersiros-id.vc.credentialMetadataVerifierinchart/templates/_helpers.tpl(the shared renderer gets askipPreauthflag), used bychart/templates/04-verifier.yaml.Why
The twins from #76 exist because vc's
POST /api/v1/datastore/preauth_offeraccepts only a scope whose datastoreauth_providerispreauth, so each login-gated type needs a second scope. They are issuance-only, yet they were also written into the verifier's credential metadata, so the verifier's/ui/metadataand picker listed every type twice (26 entries on gdc, 12 of them twins).Effect
Verifier picker /
/ui/metadataon gdc: 26 -> 14 entries (after the next verifier deploy; the live verifier still lists 26 today). Nothing verifier-side resolves a scope by its_offername; the nym_authzkp_reqpresets use scopenym_auth, whosesource_formatanddoctype_valuecome fromcredential_metadata[nym_auth], which stays.Not changed
The issuer's
credential_configurations_supportedstill lists the twins (an offer'scredential_configuration_idresolves against it; OpenID4VCI has no hidden configuration), as does issuer-core's block. Minting is unchanged:make datastore-offerand the Pixel nym_auth rounds keep scopenym_auth_offer. Step 2 (vcallow_preauth_offerflag with a startup guard; then delete the_offerscopes and move the offer command to the base scope) waits for a reviewed vc image.Tests
tests/test_verifier_credential_metadata.py(4): no_offerkey reaches the verifier; every base scope stays andnym_authresolves (mso_mdoc,/vctms/nym_auth.mdoc.json); the issuer keeps all its twins; the verifier has 14 entries on gdc. Proven non-vacuous: with the template change reverted the first, second, third and fourth tests fail.make vc-config-parityclean.tests/golden/fly_up.jsonrefreshed: only the verifier config and the inlined values hash change (the latter also carriessigningCertDnsSanfrom #80, whose golden had not been refreshed). Full suite: only the 4test_chat.OpenRouterTestserrors (LlmErrorundefined, unrelated) fail.Deploy: folded into the next verifier deploy, or on its own if asked; it drops the verifier's sessions once.
🤖 Generated with Claude Code