feat(trust-registry): cross-standard resolver mapping + multibase signer_keyid - #80
Merged
Conversation
…ner_keyid - store: add external_refs(kind, external_id, did_aid) table + register/ resolve_external_ref; created lazily via CREATE TABLE IF NOT EXISTS - resolver: WebBotAuthKey/Ap2Issuer/McpClient/EntraAgent now map their external id -> did:aid via the store, then resolve as did:aid (exhaustive match, shared resolve_did_aid helper) - authority: signer_keyid hex -> base58btc multibase (KeyPair:: from_secret_bytes(..).public_key_multibase()), consistent with A/C - 3 new tests (mapped/unmapped envelope resolve, multibase keyid); 13 total Co-Authored-By: TechBlaze <info@techblaze.com.au>
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.
Two post-merge follow-ups on the Pillar B open library (GLM codegen, Claude-reviewed + verified).
1. Cross-standard envelope→
did:aidmapping (closes the resolver's_ => Nonegap)external_refs(kind, external_id, did_aid)SQLite table +register_external_ref/resolve_external_refonTrustStore(parameterized, lazyCREATE TABLE IF NOT EXISTS, last-writer-wins remap).DidAidBackendnow resolves WebBotAuthKey / Ap2Issuer / McpClient / EntraAgent by mapping the external id →did:aid:via the store, then resolving as did:aid. Exhaustive match (no wildcard), sharedresolve_did_aidhelper. Deterministic + offline.2.
signer_keyidhex → multibaseTrustAuthority::publishnow emits the base58btc multibase key id (z…) viaKeyPair::from_secret_bytes(..).public_key_multibase(), consistent with Pillars A/C.to_hexremoved.Tests: 13 pass (10 + 3 new); clippy
-D warningsclean; fmt clean.Conscious choices (flagged): multibase is raw-key (no
did:key0xed01multicodec prefix) — matches A/C, so internally consistent; a did:key-prefixed form would be a codebase-wide change across all three pillars.external_refsuses lazy table creation (non-destructive on existing DBs).