Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Media types other than vc+ld+json #1100

Closed
wants to merge 11 commits into from
Closed

Media types other than vc+ld+json #1100

wants to merge 11 commits into from

Conversation

m00sey
Copy link
Contributor

@m00sey m00sey commented Apr 26, 2023

Coming out of a series of related issues:

#1048
w3c/vc-extensions#14
w3c/vc-jose-cose#73

The hope is to continue the discussion the discussion to arrive at consensus for transformations/other media types.


Preview | Diff

index.html Outdated
Comment on lines 3505 to 3507
Bidirectional transformations MUST result in a lossless conversion between
the originating data format and the resulting object compliant with the base
media type.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to define Unidirectional, rather than Bidirectional.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel this is resolved.

index.html Outdated
Additional `application/vc+` media type transformation specifications can be
defined to provide implementers with further options for producing objects
compliant with the base media type.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will be much clearer to the reader if the paragraph breaks in this HTML source are preserved for final rendering, so this should get a few more instances of </p><p>.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TallTed thanks, I have updated the formatting.

index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
Copy link
Member

@msporny msporny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to this PR for the following reasons:

  • It starts to establish what is expected from the "transformation" rules in media type specifications (demonstrate interop).
  • It's aligned w/ the direction we seem to be going in for reserved extension points, which might be a good signal.
  • It's how we approached "rules" for DID Methods, which have been rules that we've been able to consistently apply (more or less) across DID Method registrations. I am a bit concerned that the media types section might need to be policed (because of these rules), but I don't expect we'll end up with over 150 media types (as we did for DID Methods).

With that, a few change requests:

  • @TallTed's paragraph suggestions should be applied.
  • I've also tried to align the language with the specification text, but there might be other variations that are better.

+1 to merge after that.

m00sey and others added 5 commits April 28, 2023 12:36
Co-authored-by: Manu Sporny <[email protected]>
Co-authored-by: Ted Thibodeau Jr <[email protected]>
Co-authored-by: Manu Sporny <[email protected]>
Co-authored-by: Manu Sporny <[email protected]>
@m00sey m00sey requested review from msporny and TallTed April 28, 2023 17:15
Copy link
Contributor

@selfissued selfissued left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The statement about testing is ambiguous.

<p>
Specifications are registered with the [[?VC-SPECS]] and
MUST result in a transformed, concrete serialization
that is objectively testable via a conformance test suite.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's ambiguous what you're saying should be testable. Is it the transformed representation that is tested (in which case a VC Data Model test suite could be used). Or are you also asking for testing of the additional media type representation?

Copy link
Contributor

@selfissued selfissued Apr 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's also not clear to me what the "MUST result" language means. The day 3 resolution says that a transformation must exist. It doesn't say that particular deployments must use transformations.

Copy link
Contributor

@OR13 OR13 Apr 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specifications are registered with the [[?VC-SPECS]] and
MUST result in a transformed, concrete serialization
that is objectively testable via a conformance test suite.

Informative reference, followed by a MUST feels a bit off here.

If this is guidance to the registry maintainers, to gate entries I think this goes against our intention to keep the "vc specs directory", lightweight and not a registry.

This sentence also goes beyond the day 3 resolution, which only required this level of rigor for representations defined by this working group, but this would apply to all registered entries in the informative note.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's ambiguous what you're saying should be testable. Is it the transformed representation that is tested (in which case a VC Data Model test suite could be used). Or are you also asking for testing of the additional media type representation?

The transformed representation should be testable against the VC Data Model test suite, yes.

<li>Bidirectional</li>
</ul>
<p>
Bidirectional transformations MUST result in a lossless round-trip conversion between
Copy link
Contributor

@OR13 OR13 Apr 28, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not testable, and the details matter regarding claims of "losslessness".

CBOR-LD conversions destroy field ordering, and can have weird interactions with date formats... It would probably be better to leave the details regarding what "bidirectional mapping" means, to the spec that defines it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree, without an example of how this could be tested we should remove it

index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
index.html Outdated Show resolved Hide resolved
Copy link
Contributor

@OR13 OR13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel pretty strongly about reworking the phrasing of the first sentences.

And I think #1100

Is a better approach to start with.

I don't think the normative guidance regarding testing is acceptable, in any format.

Resolution #1: The base media type for the VCDM is credential+ld+json. @context is required (MUST) in the base media type; other media types MAY choose to include @context. Serializations in other media types (defined by the VCWG) MUST be able to be transformed into the base media type. Another media type MUST identify if this transformation is one-directional or bi-directional. Bi-directional transformation MUST preserve @context. Transformation rules MUST be defined, but not necessarily by this WG..

Resolution #2: VC spec directory will have an entry for documents that define a mapping to VCDM and these documents can be defined outside W3C VCWG..

If the core data model is testable, a mapped representation is testable.

Serializations in other media types (defined by the VCWG) MUST be able to be transformed into the base media type.

If you want to test this ^ you will need to apply the core data model test to the result of the mapping.

If those tests pass, your mapping is conformant.

This is why the resolution ends with:

Transformation rules MUST be defined, but not necessarily by this WG..

I buy the argument about normative tests, if the "vc specs directory" is a "formal registry" and "vc+" media types was a recognized extension point for verifiable credentials, but then this section of our charter would apply:

Screen Shot 2023-04-28 at 6 56 08 PM

"Registries for extension points that are mandatory to use, for any of the above normative deliverables [], must have at least one standardized entry."

Are media types an extension point?

Are they mandatory to use?

Answers to these questions and clarity on the normative requirements of the vc specs directory would help make our options here a bit clearer.

I'm not objecting to the spirit of the PR, but I find the new language adds more questions than it answers, I feel it is not necessary to address #1048

m00sey and others added 3 commits May 1, 2023 11:12
Co-authored-by: Orie Steele <[email protected]>
Co-authored-by: Orie Steele <[email protected]>
Co-authored-by: Orie Steele <[email protected]>
@m00sey
Copy link
Contributor Author

m00sey commented May 5, 2023

I don't think the normative guidance regarding testing is acceptable, in any format.

The intent is to provide implementers at least a modicum of direction with regard to additional representations once the spec is published and the WG moves on.

It is meant in the same spirit of the DID Core spec regarding methods:
https://www.w3.org/TR/did-core/#methods

I think it is important guidance.

@msporny msporny added DO NOT MERGE PR contains something that should not be merged. discuss labels May 14, 2023
Copy link
Contributor

@awoie awoie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The language on conformance testing is not clear and i'd personally prefer having no conformance test suite required in the W3C test suite repo.

Comment on lines +3494 to +3496
Specifications are registered with the [[?VC-SPECS]] and
MUST result in a transformed, concrete serialization
that is objectively testable via a conformance test suite.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would rather not have that requirement.

  • Does it mean we must have tests in the W3C Test Suite repo?
  • Or is it ok if the conformance tests are somewhere else?
  • What should those tests test, ie input file in the media type and then spitting out a JSON-LD VC?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What should those tests test, ie input file in the media type and then spitting out a JSON-LD VC?

Yes, that would at least point to some interop potential.
Every media type can at least "get to" the base media type.

Conceptually, the relationship between this (VCDM2.0) specification and a Media Type Representation specification (VC-JWT/Gordian/ACDC/Any) is similar to the relationship between DID-Core and a specific DID Method specification.

By defining a Media Type section we acknowledge there will be other media types wanting to be consumed as VCs, we should be defining a minimal number of steps/spec/transform that allows someone to produce something of the base media type and know it's going to be interoperable with others.

Happy to rework the language if its too constrained

Copy link
Contributor

@Sakurann Sakurann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefer #1101. VCDM is not a place to put any requirements for "anything" that is in the [VC-SPECS] which I think is the directory we have

@jandrieu
Copy link
Contributor

VCDM is not a place to put any requirements for "anything" that is in the [VC-SPECS] which I think is the directory we have

Agreed. The directory only has the requirement that the editors agree that the entry is "related". There are no other requirements to be in the directory other than using the appropriate JSON and that requirement is in the directory itself.

No need to say anything in the VCDM.

@iherman
Copy link
Member

iherman commented Jun 8, 2023

The issue was discussed in a meeting on 2023-06-07

  • no resolutions were taken
View the transcript

1.1. Media types other than vc+ld+json (pr vc-data-model#1100)

See github pull request vc-data-model#1100.

Dave Longley: We are missing key players to discuss today. Probably should not discuss today.

Orie Steele: +1 people are not here.

Brent Zundel: Agreed we are missing key players, moving on.
… beginning the HR process. Preparing documents to engage other groups.

Ted Thibodeau Jr.: I don't know why those key players are absent today, but I might suggest including mention of these PRs in the next agenda, so there's advance warning that they will be discussed (and so encouraging those folks to prioritize attendance)?

@brentzundel brentzundel added pending close Close if no objection within 7 days and removed DO NOT MERGE PR contains something that should not be merged. discuss labels Jul 11, 2023
@iherman
Copy link
Member

iherman commented Jul 11, 2023

The issue was discussed in a meeting on 2023-07-11

  • no resolutions were taken
View the transcript

1.1. Media types other than vc+ld+json (pr vc-data-model#1100)

See github pull request vc-data-model#1100.

Brent Zundel: this first one is media types + ld + json.
… buidling on some of the miami resolutions. Four requests for changes currently.
… how can we move this P.R forward?

Phil Feairheller: kevin opened this P.R. Seems this P.R will not be able to move forward. No objections to closing.

Orie Steele: +1 PhilF.

Brent Zundel: and objections to marking pending close?
… no objections, labelling pending close. Will close in 7 days if no objections.

@brentzundel
Copy link
Member

No clear path to consensus, no objections raised to closing since marked pending close, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pending close Close if no objection within 7 days
Projects
None yet
Development

Successfully merging this pull request may close these issues.