14:48:57 RRSAgent has joined #vcwg-special 14:49:01 logging to https://www.w3.org/2023/08/08-vcwg-special-irc 14:51:10 Meeting: Verifiable Credentials Working Group Special Topic Call on PR Discussions 14:51:13 Date: 2023-08-08 14:51:31 Agenda: https://www.w3.org/events/meetings/f6342df0-f7b5-4fc9-babd-61e55dc5fc2f/20230808T110000/ 14:58:17 hsano has joined #vcwg-special 14:58:21 present+ 14:58:25 present+ brent 15:00:02 present+ 15:01:41 JoeAndrieu has joined #vcwg-special 15:01:43 present+ 15:02:01 andres has joined #vcwg-special 15:02:05 need a scribe? 15:02:05 present+ 15:02:08 present+ 15:02:16 present+ andres, manu, JoeAndrieu, phil 15:02:20 pl-ASU has joined #vcwg-special 15:02:24 Present+ 15:02:27 Am I the only one not hearing anything? 15:02:30 present+ dlongley 15:02:52 +1 to Ivan's comment ;-) 15:02:53 present+ 15:04:37 present+ dmitri 15:05:38 cabernet has joined #vcwg-special 15:05:42 present+ 15:05:47 present+ oliver 15:05:56 present+ chris 15:06:06 scribe+ 15:06:36 brent: welcome to special topic call: test suites 15:06:39 present+ benjamin 15:06:57 ... we last decided what the exit criteria was 15:07:29 Topic: Test suite 15:07:30 ... that conversation was a precursor to what we'll be talking about today: test suite. 15:07:52 ... In order to exit CR we need to demonstrate that data models we produce are interoperable by having a test suite. 15:08:04 present+ orie 15:08:11 ... Implementations can then show they are compliant with the data model. 15:08:24 q+ to go over one of the test suite proposals sent to the mailing list. 15:08:31 ... Any rec track document we produce will have testing associated to it. 15:08:52 DavidC has joined #vcwg-special 15:08:57 present+ 15:09:07 q+ 15:09:10 ... Do we want one repo for all test suites? One suite to rule them all? Let's decide all the details. Can be docker, http, chapi, etc... everything is on the table. 15:09:14 q- later 15:09:26 q+ to bring up criteria for choosing 15:09:28 present+ gabe 15:09:33 ... manu sent an email to the group explaining what digital bazaar did for DI. 15:09:35 decentralgabe has joined #vcwg-special 15:09:38 present+ 15:09:52 ... The goal for today: get as close as we can to what we want this test suite to look like. 15:09:53 Orie has joined #vcwg-special 15:10:06 ... Implementation trumps opinion in most cases. 15:10:26 scribe+ 15:10:30 ... That is, we appreciate opinions, but we do need the test suite. 15:10:57 seabass: You mentioned what are the criteria. I would say reproducibility is one of the goals 15:11:01 bigbluehat has joined #vcwg-special 15:11:19 ... HTTP could be, but that relies on external systems that the w3c doesn't control. 15:11:21 q+ to talk about vc-jose-cose test suite planning 15:11:32 ... Docker would actually make it more reproducible. 15:11:33 ack seabass 15:11:33 seabass, you wanted to bring up criteria for choosing 15:11:34 ack manu 15:11:34 manu, you wanted to go over one of the test suite proposals sent to the mailing list. 15:11:46 manu: I'm going to share my screen so I can show folks where we are with our proposal. 15:11:58 ... email went out about a week ago. 15:12:47 ... we propose one test suite per specification so authors can work independently. 15:13:14 ... E.g. if you work on vc-di-eddsa then you have a suite for it. 15:14:01 ... Putting all the suites together would cause people stepping on each other. 15:14:24 ... Splitting it would help parallelization of the work. And would leave the test suite responsibility to the authors of the spec. 15:14:30 +1 to manu: the suites can be merged after we've finished them completely 15:14:44 ... Currently, the exit criteria is multiple independent implementations. 15:15:09 ... 15:16:07 ... For each normative statement we create a row in a table. The columns correspond to each implementer. The value is a pass/fail checkmark/X. 15:16:44 ... One of the problems we had in the vc1.x is asking people to run and give us a report. So implementers never came back after running the report. 15:17:09 ... This suite is different because we're the ones deciding when to run the suite. And how often. 15:17:42 ... 15:18:01 ... 15:18:36 ... To Sebastian's comment regarding Docker containers, that's in the roadmap. 15:18:56 ... We believe the docker images are easy to integrate with the existing tests. 15:19:02 q+ 15:19:13 ... The test runner would spin up the container and execute the HTTP calls. 15:19:47 ... The proposal is for this to be one among many test suites. One test suite per specification for max flexibility. 15:19:58 ack Orie 15:19:58 Orie, you wanted to talk about vc-jose-cose test suite planning 15:20:04 brent: 15:20:18 orie: I want to focus on the vc-jose-cose item only for now. 15:20:37 ... I think it would great to test all the media types related to the spec. 15:20:56 ... Also important to have support for cryptographic agility (i.e. all the signing formats). 15:21:42 ... There are issues with cred schema and cred status from a testability perspective. I'd like to see something covering interop for both. 15:22:09 https://github.com/danielfett/sd-jwt/blob/main/tests/testcases/array_recursive_sd_some_disclosed/specification.yml 15:22:09 ... We're required to test normative statements. But sometimes that's not as valuable as covering the important test cases. 15:22:36 ... Sharing a link to what sd-jwt did. It shows what the input is, and output after specification. 15:22:44 q+ to speak to status list, testing of normative statements, and going beyond normative statements. 15:23:04 ... I'd like to see something similar for normative and important cases. 15:23:23 ... The test suite should be helpful, not only covering normative statements. 15:23:53 ... Another point of concern is source of randomness. We should plan for implementations to not be able to backdate. 15:23:58 dmitriz has joined #vcwg-special 15:24:03 https://identity.foundation/JWS-Test-Suite/ 15:24:07 ... It should be easy to take an implementation and show conformance. 15:24:27 ... I also wanted to share two links 15:24:39 https://github.com/transmute-industries/vc-jwt-test-suite 15:24:46 ... The test suite at DIF does secure JWT, so a similar approach could be done here. 15:25:50 +1 to closed-source implementations being supported 15:25:54 ... The second link shows accepting reports. Some security folks will not share the docker image. While that's not reproducible, they aren't willing to participate if they need to share. 15:26:15 ... I think we're pretty far behind, but really excited to work on this. Certainly for vc-jose-cose. 15:26:16 ack seabass 15:26:30 seabass: Responding to 2 thing. 15:27:23 ... Re: docker images, there are additional advantages. As implementer, you don't need to run a web service. Also, the WG can look back as long as we want to. 15:28:01 ... Re: orie's points. Thanks for sharing the yaml file for sd-jwt. We have to be careful that we aren't testing details about an implementation. 15:28:32 ack manu 15:28:32 manu, you wanted to speak to status list, testing of normative statements, and going beyond normative statements. 15:28:40 ... Finally want to note that being closed source should not stop reproducibility. We can have NDAs in place to address, or confidentiality agreements. 15:28:43 I suspect you won't get the code, but you might get a vendor report run 15:29:20 manu: We did have a test suite for status list ready to go. But the many changes haven't been incorporated (e.g. multi-status). We need to update it. 15:29:26 q+ 15:30:16 ... If status list needs to be secured, then we need to be able to write tests that ensure they are interoperable. 15:30:37 +1 to Manu about what this group needs to do 15:30:50 ... This group only needs to test normative statements. While I'm supportive of integration and unit tests, it's probably not this WG's responsibility. 15:31:17 ... We can have another suite that goes above and beyond. 15:31:24 q+ 15:31:27 YEs, split the suites up... cover the mandatory W3C stuff first. 15:31:32 ... It can include edge cases, fuzzing, etc... 15:32:11 ... In our examples, we also do n-by-n testing across implementations. 15:32:26 ... It has helped identify gaps in our test suite. 15:32:55 ack Orie 15:33:04 orie: Agree with everything manu said 15:33:10 q+ identitywoman 15:33:33 ... Clarifying a point. We have normative statements in different specs. Some specs are extensions. 15:34:12 ... In the context of a securing specification, unless there provable interoperable implementations, then I wouldn't be comfortable with the implementation. 15:34:48 ... There is some assurance in the securing specification that there will be interop with the VCDM with extensions. 15:35:04 q+ to note "uncomfortable normative statements in the VC v2.0 specification" and "we want to get better, but might not make perfect" 15:35:10 q- identifywoman 15:35:10 present+ identitywoman 15:35:21 ... That's an area I'd like to see better execution. You want to believe that an extension point exists, and that can be secured interoperably. 15:35:24 q- identitywoman 15:36:03 ... You can do it by looking at the securing specification under the lens of doing validation and signing of all the VCDM with extensions. 15:36:07 ack brentz 15:36:28 brent: Thanks for everything that has been shared. 15:37:14 ... The primary goal is to test suite is to test the specification. We do that by testing each implementation. Everything else beyond that is gravy. 15:37:14 ack manu 15:37:14 manu, you wanted to note "uncomfortable normative statements in the VC v2.0 specification" and "we want to get better, but might not make perfect" 15:37:36 manu: +1 to brent. However, we're at a point where I think we should do better. 15:37:40 q+ 15:38:22 +1 manu, lets cover the basic requirements, and then lets address the issues that implementers have, and enable them to contribute to what they want to see tested. 15:38:28 ... We should allow us to do better. We don't need to as a group, but shouldn't block it. 15:38:43 ... Where do we want to go with interop testing as a group? 15:38:43 +1 from me 15:39:14 ... In implementing the VC 2.0 model tests. The engineers were uncomfortable with the extension point tests. 15:39:29 +1 to the extension point tests being dangerous... and possibly not useful, unless addressed better. 15:39:30 present+ kristina 15:39:36 chair: brent 15:40:10 ... We need to talk more about this as a group. There is no clear solution that would achieve consensus. We've tested the type of the object and that's about it. 15:40:27 To be direct, the problem with the extension points is having no "output format" to compare to... for tests. 15:40:43 ... The only extension points we could do better is credentialSchema and status list. 15:40:50 ack ivan 15:40:55 ivan: Something a bit different. 15:41:19 identitywoman has joined #vcwg-special 15:41:27 ... Among other things, we define vocabularies. The way they're handled is to prove that the terms defined in the vocabulary are used by actual implementations. 15:41:32 q+ to ask about testing normative context and vocab 15:41:45 q+ to note "systematically cover all terms defined" and how we're indirectly testing that now. 15:41:47 ... I don't know if the tests systematically cover all the terms that we've defined. Even those we've described as optional. 15:42:10 ... Maybe we need a separate report that for each term it makes a statement specifying which terms are used by which implementation. 15:42:13 ack Orie 15:42:13 Orie, you wanted to ask about testing normative context and vocab 15:42:29 orie: So glad you raised that. There's a series of issues open related to this. 15:42:52 q+ 15:42:56 ... One category is the value of the json model value after processing. 15:43:12 ... I can imagine us testing the normative context with framing and processing. 15:43:24 q+ to ask for a summary of the plan 15:43:30 ... I would want us to do it if the context ends up being normative. 15:43:52 ... Re: vocabulary. That's an area I believe we should invest on. 15:44:31 ... Folks should see the terms that are being tested very clearly. 15:44:38 ack manu 15:44:38 manu, you wanted to note "systematically cover all terms defined" and how we're indirectly testing that now. 15:45:13 -1 to citing data integrity tests as a way to "ensure the normative context is useful". 15:45:25 but its a good start / or in addition too. 15:45:26 manu: Reacting to ivan and orie. We do some level of testing already for the context because we are doing RDF expansion. 15:45:54 ... We are testing that today in DI. 15:46:07 +1 to testing that the vocab can be loaded / processed. 15:47:10 q+ does that mean that JSON-LD processing is always mandatory for expanded term defintions? 15:47:16 q+ to ask does that mean that JSON-LD processing is always mandatory for expanded term defintions? 15:47:20 ... More ideas are welcome on how we can better test (and contributions) 15:47:21 ack ivan 15:47:30 ivan: I think I wasn't understood. 15:47:51 ... I'm not talking about testing. I'm talking about the CR exit criteria. These two aren't the same. 15:48:09 ... We have to prove that every term in the vocabulary has been designed for a reason. 15:48:31 ... We need a property table that justifies which implementations uses what. 15:49:03 q+ to respond to brent and summarize "the plan" (as it stands today). 15:49:16 ... In other groups we have relatively large sets of metadata terms that are used for a11y. We had to show which implementations used which terms. That was the reason why we had each term in the vocab. 15:49:19 I think "JSON" processing will NOT use ANY of the vocabulary terms... 15:49:36 at least the URLs for the term definitions... is that ok? 15:49:39 ack brentz 15:49:39 brentz, you wanted to ask for a summary of the plan 15:50:02 brent: Good convo. From what I've heard, there is a common direction where we're heading. Can someone summarize? 15:50:04 ack Orie 15:50:04 Orie, you wanted to ask does that mean that JSON-LD processing is always mandatory for expanded term defintions? 15:50:27 orie: My question is related to Ivan's clarification. 15:51:04 ... Some implementations will test some terms directly. 15:51:17 q+ 15:51:30 ack ivan 15:52:02 ... Do we have to prove that implementation use URLs that JSON ld processing is producing? 15:52:08 ivan: No, we don't. 15:52:12 the existence of syntactic sugar to make things simpler for users does not mean users must unwind that sugar. 15:52:20 the meaning is the same. 15:52:20 ... That isn't our WG's problem. 15:52:22 oliver has joined #vcwg-special 15:52:23 present+ 15:52:34 ... The really important point is to see whether those terms are used in practice. 15:52:37 ack manu 15:52:37 manu, you wanted to respond to brent and summarize "the plan" (as it stands today). 15:52:40 manu: Summary attempt: 15:52:53 Ahh, so just because a data integrity proof would use a term, does not actually mean that people use it. 15:52:56 ... 1. Will do one test suite per specification for parallelization. 15:53:27 q+ about test suites lying 15:53:29 ... 2. Each test suite will do their best to support live APIs, docker images, and proprietary implementations that submit a file saying they pass. 15:53:32 Orie: "the term" is the same whether it's syntactically shortened from a URL or not. 15:53:38 q+ to refer to test suites lying 15:54:09 ... 3. Decide whether the WG wants to pull in the work that has been done. 15:54:29 ack seabass 15:54:29 seabass, you wanted to refer to test suites lying 15:54:40 Can we please have a repository for testing vc-jose-cose ? 15:54:54 seabass: I wanted to clarify a bit. closed source is not secret. 15:54:54 and can we please transfer the repos mentioned during the call to VCWG? 15:55:00 Can we get a resolution for both today, brent? 15:55:03 ... We've supported closed source in the past. 15:55:45 ... Supporting secret is something we've never done, and relying on trust wouldn't help us as a working group. 15:56:03 ... We can have them submit docker with obfuscated source, for instance. 15:56:19 brent: 15:56:47 q+ 15:56:52 kristina has joined #vcwg-special 15:56:53 present+ 15:56:54 ack ivan 15:57:04 ivan: Does this mean that we'll create one repo per test-suite? 15:57:12 q+ 15:57:32 ack manu 15:57:32 ... May be an overkill. We are already managing so many repos. Do we want to double? It may become unmanageable. 15:58:03 manu: Ivan, that's what was discussed. If we find it's unmanageable, we can discuss. 15:58:36 PROPOSAL: We will move forward with the testing plan as outlined and create the necessary repositories and import the necessary files as mentioned 15:58:39 +1 15:58:41 +1 15:58:41 +1 15:58:41 +1 15:58:43 +1 15:58:44 +1 15:58:48 +1 15:58:54 +1 15:58:55 +1 15:58:58 +1 15:58:59 +1 15:59:00 +1 15:59:08 +1 15:59:12 +0 15:59:15 0 15:59:17 +0 15:59:18 0 15:59:36 RESOLVED: We will move forward with the testing plan as outlined and create the necessary repositories and import the necessary files as mentioned 16:00:03 rrsagent, draft minutes 16:00:04 I have made the request to generate https://www.w3.org/2023/08/08-vcwg-special-minutes.html ivan 16:00:16 "detailed" 16:00:20 ausfuelich 16:00:43 zakim, end meeting 16:00:43 As of this point the attendees have been ivan, brent, hsano, seabass, andres, JoeAndrieu, manu, phil, pl-ASU, dlongley, dmitri, cabernet, oliver, chris, benjamin, orie, DavidC, 16:00:46 ... gabe, decentralgabe, identitywoman, kristina 16:00:46 RRSAgent, please draft minutes 16:00:47 I have made the request to generate https://www.w3.org/2023/08/08-vcwg-special-minutes.html Zakim 16:00:49 I am happy to have been of service, ivan; please remember to excuse RRSAgent. Goodbye 16:00:53 Zakim has left #vcwg-special 16:01:27 rrsagent, bye 16:01:42 rrsagent, set log public 16:01:50 rrsagent, bye 16:01:50 I see no action items