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), includingcontroller,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 v0.3 (document + resolutionMetadata + documentMetadata); full dereference API 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:
- Clone and set up the W3C DID test suite.
- Add TrustWeave as an implementation (fixture JSON and suite
default.jsentries), or configure resolver HTTP endpoints if applicable. - Run
npm run test/npm run test-and-generate-reportand collect results. - 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 |
| 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. |