DID 1.1 Implementation Report (TrustWeave)

This document is the placeholder for the W3C DID test suite implementation report for TrustWeave.

Claimed conformance roles

  • Conforming consumer: Parsing of DID document JSON per DID 1.1 §6.2.2 (shared DidDocumentJsonParser), including controller, alsoKnownAs, embedded verification methods (normalized on ingest), service type (string or array), relative refs.
  • Conforming producer: Serialization of DID documents per §6.2.1/§6.2.3 via DidDocumentJsonProducer (v1.1 @context, application/did, controller, alsoKnownAs, service type, verification relationships).
  • Resolver: Resolution output aligns with DID Resolution 1.0 CR §4 (sealed Success / Deactivated / Failure result, resolutionMetadata, documentMetadata); see Migrating to DID Resolution 1.0 for the full list of changes. DID URL dereferencing (§5, §10 — Feature at Risk) and the §12.1 HTTP(S) binding server side are not yet implemented.

Running the W3C DID test suite

Step-by-step: W3C-DID-TEST-SUITE.md.

Upstream npm run test (latest clone) completed successfully: jest-did-matcher (185 tests) and did-core-test-server (12 124 passed, 65 todo). That validates the W3C harness and bundled implementations, not TrustWeave until a TrustWeave fixture is added.

To generate a formal implementation report:

  1. Clone and set up the W3C DID test suite.
  2. Add TrustWeave as an implementation (fixture JSON and suite default.js entries), or configure resolver HTTP endpoints if applicable.
  3. Run npm run test / npm run test-and-generate-report and collect results.
  4. Publish the results here (or as a CI artifact) in the format expected by the implementation report.

Until TrustWeave is added as an implementation in the W3C suite, TrustWeave-specific conformance remains self-assessed (see DID Core 1.1 compliance and gaps). The upstream suite itself runs clean as documented above.

Self-assessed implementation summary

Area Status
DID syntax (§3.1 ABNF) DidValidator: method-name, method-specific-id with idchar and pct-encoded; tests for colons and pct-encoded.
alsoKnownAs (URL or DID) DidOrUrl (AsDid/AsUrl); parsed and emitted in parser/producer.
controller (string or set) Parsed and emitted in shared parser and producer.
Service type (string or set) DidService.type = List; parseServiceTypesFromJson, toServiceTypeJsonElement.
Embedded VMs in relationships Normalized on ingest (strategy B); parser merges into verificationMethod.
@context v1.1 DidDocumentJsonProducer uses https://www.w3.org/ns/did/v1.1 as first context.
application/did APPLICATION_DID_MEDIA_TYPE; toBytesWithMediaType().
Resolution metadata DidResolutionResult.Success carries document, documentMetadata, resolutionMetadata; Deactivated (§4.4) carries no document; Failure subtypes (NotFound, InvalidFormat, MethodNotRegistered, ResolutionError, OptionsError) each carry an RFC 9457 DidResolutionError.
Conformance suite distribution:conformance’s DidResolution10ConformanceTest (16 tests) plus DeactivatedDidVerificationTest (3 tests) — part of a 37-test, 5-suite floor enforced at conformance-test time.

This site uses Just the Docs, a documentation theme for Jekyll.