16:03:04 <RRSAgent> RRSAgent has joined #did
16:03:04 <RRSAgent> logging to https://www.w3.org/2021/02/23-did-irc
16:03:08 <Zakim> Zakim has joined #did
16:03:28 <manu> Meeting: DID WG Weekly Teleconference
16:03:32 <manu> rrsagent, make logs public
16:03:42 <manu> Chair: brent
16:03:45 <manu> rrsagent, draft minutes
16:03:45 <RRSAgent> I have made the request to generate https://www.w3.org/2021/02/23-did-minutes.html manu
16:05:07 <agropper> agropper has joined #did
16:07:02 <Orie> Orie has joined #did
16:07:18 <agropper> present+
16:10:53 <manu> rrsagent, end meeting
16:10:53 <RRSAgent> I'm logging. I don't understand 'end meeting', manu.  Try /msg RRSAgent help
16:11:08 <manu> rrsagent, bye
16:11:08 <RRSAgent> I see no action items
16:11:08 <manu> zakim, bye
16:11:08 <Zakim> leaving.  As of this point the attendees have been agropper
16:11:08 <Zakim> Zakim has left #did
22:51:46 <RRSAgent> RRSAgent has joined #did
22:51:46 <RRSAgent> logging to https://www.w3.org/2021/02/23-did-irc
22:51:58 <burn> rrsagent, draft minutes
22:51:58 <RRSAgent> I have made the request to generate https://www.w3.org/2021/02/23-did-minutes.html burn
22:52:03 <burn> rrsagent, make logs public
22:54:22 <burn> Topic: Agenda Review, Introductions, Re-introductions
22:54:24 <burn> present+
23:00:21 <shigeya> present+
23:00:30 <brent> brent has joined #did
23:00:36 <brent> present+
23:00:42 <justin_r> present+
23:00:50 <GeunHyung_Kim> GeunHyung_Kim has joined #did
23:00:56 <GeunHyung_Kim> Present+
23:01:42 <markus_sabadello> markus_sabadello has joined #did
23:01:46 <markus_sabadello> present+
23:02:06 <wayne> present+
23:02:11 <manu> present+
23:02:20 <identitywoman> identitywoman has joined #did
23:03:04 <TallTed> TallTed has joined #did
23:03:05 <justin_r> present+
23:03:07 <justin_r> scribe+
23:03:32 <Orie> Orie has joined #did
23:03:35 <Orie> present+
23:03:37 <justin_r> burn: agenda for today is to briefly talk about special topic call
23:03:46 <justin_r> ... plan for transition to CR, including date target
23:03:56 <justin_r> ... expressly time-boxed substantive PRs
23:04:09 <agropper> agropper has joined #did
23:04:11 <burn> q?
23:04:18 <agropper> present+
23:04:24 <burn> Topic: Special Topic Call
23:04:39 <justin_r> burn: special topic call is this thurs @ noon US ET
23:04:46 <justin_r> ... topic is PRs and issues
23:04:55 <justin_r> ... if you need help with an issue and PR this is where
23:05:05 <burn> Topic: Date for Transition to CR
23:05:27 <justin_r> burn: intent is to have spec ready for march 2 (week from today)
23:05:31 <TallTed> present+
23:05:33 <justin_r> ... week for people to look at "the version"
23:05:46 <drummond> drummond has joined #did
23:05:50 <justin_r> ... look now; group will have 1 week before vote to publish
23:05:56 <drummond> present+
23:06:45 <justin_r> ... editors still have work to do, but the more we can do now the better
23:06:51 <manu> q+ to provide some background on where we are.
23:06:56 <burn> ack manu
23:06:56 <Zakim> manu, you wanted to provide some background on where we are.
23:07:09 <justin_r> manu: no changes to timeline, things have improved since last we talked
23:07:42 <justin_r> ... reminder, we have all the normative language sections (through security considerations) with multiple reviews and big substantive PRs are in
23:07:46 <justin_r> ... it's a great place to be
23:08:08 <justin_r> ... document in editor's draft space is the latest; review now
23:08:17 <justin_r> ... (also doc in TR space)
23:08:27 <dmitriz> dmitriz has joined #did
23:09:02 <justin_r> ... all additional stuff needs editorial work; it's rough and we expect to do it during CR
23:09:10 <justin_r> ... shouldn't affect the core of the spec
23:09:19 <justin_r> ... if you haven't done a review and you promised, now is the time
23:09:25 <justin_r> ... needed: 👀
23:09:40 <justin_r> ... "TR Space" is "techincal report" space in w3c
23:09:45 <manu> This is an example of Technical Report space: https://www.w3.org/TR/did-core/
23:10:02 <justin_r> ... it's where the final document goes, and includes the snapshots
23:10:44 <justin_r> burn: right now latest version is there, after CR the latest version might not be there (we'll talk when that happens)
23:11:04 <justin_r> ... we have to point to a fixed version (unchanging)
23:11:16 <justin_r> ... once we say "this is the version" we expect not to make changes
23:12:09 <justin_r> ... chairs will request publication after vote and let you know how it goes
23:12:16 <burn> Topic: Substantive PRs
23:12:22 <manu> q+
23:12:46 <justin_r> burn: machine representability of tests and representation of production/consumption
23:12:49 <burn> ack manu
23:13:20 <justin_r> manu: concerned there would be last-minute conversations about last-minute changes in representations
23:13:33 <burn> scribe+
23:13:50 <justin_r> ... there's a new map for rep-specific data, take a close look at it
23:14:05 <justin_r> ... not expecting any more substantive PRs to come in
23:14:27 <markus_sabadello> q+
23:14:41 <justin_r> ... markus_sabadello will update diagrams, ivan will update data model buckets
23:15:06 <justin_r> ... diagrams will be merged, might be tweaked
23:15:15 <justin_r> ... (thanks to shigeya)
23:15:30 <justin_r> ... only remaining concerns are around test suite and testability
23:15:55 <burn> ack markus_sabadello
23:15:59 <justin_r> burn: this is it for comments
23:16:11 <justin_r> markus_sabadello: confirming, fine with data model and representation-related content
23:16:16 <markus_sabadello> https://github.com/w3c/did-core/pull/596#issuecomment-784323901
23:16:22 <justin_r> ... have worked on an updated diagram (^---)
23:16:38 <justin_r> burn: markus_sabadello's diagrams are the best
23:16:43 <manu> +1 to peacekeeper diagrams being the best :)
23:16:49 <justin_r> (the above statement needs no consensus call)
23:16:53 <burn> Topic: Tests for Normative Issues
23:17:09 <manu> s/Normative Issues/Normative Statements/
23:17:16 <justin_r> burn: testing
23:17:46 <justin_r> manu: have made multiple passes on normative statements, there's a new button to generate requirements list on editor's draft
23:18:00 <justin_r> ... we've taken the list and made a list of machine-testable statements
23:18:25 <justin_r> burn: thank you to Orie who's done a massive amount of work on test harness and test suite
23:18:28 <manu> List of normative testable statements that we need volunteers for -- https://github.com/w3c/did-test-suite/issues?q=is%3Aissue+is%3Aopen+label%3A%22volunteer+needed%22
23:18:38 <drummond> +1 to Orie's massive work on the test harness
23:19:02 <justin_r> manu: this (list) is the next major thing, we need volunteers
23:19:14 <Orie> If you want to convert that list to json, you can use this: https://github.com/transmute-industries/did-core/tree/main/packages/did-core-tests#generate-json-test-cases
23:19:21 <justin_r> ... bunched into topicals groups
23:19:28 <justin_r> s/topicals/topical/
23:19:36 <burn> q?
23:19:38 <justin_r> ... we need volunteers to create tests
23:19:54 <justin_r> ... if we don't get volunteers to write the tests, that section is not going to make it
23:20:26 <justin_r> manu: amy's done a fantastic job of getting a list of all resolutions and cross-referencing it with spec text
23:20:37 <justin_r> ... to make sure resolutions resulted in spec text changes that survive to this day
23:20:43 <manu> Here's Amy's list of cross-checking resolutions to spec text: https://rhiaro.github.io/did-wg-resolutions-playground/
23:20:48 <justin_r> ... that's the list ----^
23:21:37 <justin_r> ... make sure the things we've crossed out are actually in the spec,f eel free to provide input on items that aren't crossed out
23:21:54 <justin_r> ... we're also in good shape for testable normative statements
23:22:20 <justin_r> ... there are two normative statements suggested for removal
23:23:16 <justin_r> manu: we need volunteers, people to sign up
23:23:30 <justin_r> burn: we'll do that in this meeting by making people uncomfortable
23:23:38 <justin_r> manu: that sounds good
23:24:10 <justin_r> Orie: we should cover what people are signing up for before people sign up
23:24:40 <justin_r> burn: I like the plan of teasing the content, but want to give people an option to choose one
23:24:48 <justin_r> ... we'll let people speak up and then go one by one
23:24:52 <manu> https://github.com/w3c/did-test-suite/issues?q=is%3Aissue+is%3Aopen+label%3A%22volunteer+needed%22
23:25:15 <justin_r> Orie: these are the major sections, will give a summary
23:25:44 <justin_r> ... these normative statements are divided by section and we believe they're testable
23:26:06 <justin_r> ... what you agree to do when you volunteer is you show in the test suite that this section is testable
23:26:13 <justin_r> ... this is separate from proving conformance
23:26:33 <justin_r> ... we're still waiting for people to figure out how to test some of these, there were some strong opinions
23:26:49 <justin_r> ... not sure what additional changes will be needed to the test suite; each section might need a unique approach
23:27:02 <justin_r> ... you should volunteer for a section that you feel comfortable writing tests for
23:27:17 <justin_r> burn: editors and test writers are happy to help you understand what's needed to write tests
23:27:18 <manu> q+ to note, you're signing up for "doing your best" the ground will shift
23:27:47 <justin_r> Orie: one issue that markus_sabadello and I try to resolve is difference between "your implementation conforms" vs. "testing normative statement"
23:28:06 <wayne> q+
23:28:08 <justin_r> ... this past weekend I took the approach of testing the statement w/o any DID method
23:28:40 <justin_r> ... it was easy but I expect we'll have some issues when testing specific methods
23:28:46 <justin_r> q+ to talk about how those tests could be written
23:28:57 <burn> ack manu
23:28:57 <Zakim> manu, you wanted to note, you're signing up for "doing your best" the ground will shift
23:29:34 <justin_r> manu: reiterate we're spreading the load out, this is a moving target
23:29:42 <justin_r> ... what we need are people who can write code
23:29:55 <wayne> ack wayne
23:29:56 <justin_r> burn: any volunteers?
23:30:16 <justin_r> wayne: volunteering for two sections; doesn't matter which ones except not CBOR
23:31:03 <justin_r> burn: before we discuss how tests are done, do we have to discuss that before pushing for volunteers?
23:31:12 <manu> q+
23:31:37 <burn> ack justin_r
23:31:37 <Zakim> justin_r, you wanted to talk about how those tests could be written
23:32:24 <manu> justin_r: Not wanting to get into specifics of writing those tests, just to remind people, different philosophies on what to test and how to expose sections to test harness. Some of these will be in DID Core spec, some of them will just be handshaking w/ test harness.
23:32:48 <manu> justin_r: People may need to write adapters, etc. Keep in mind it needs to be adapted to different platforms/etc... you might not be calling things directly.
23:33:01 <burn> q?
23:33:06 <burn> ack manu
23:33:23 <justin_r> manu: "the tests will be the tests"
23:33:29 <justin_r> ... we just need people to volunteer
23:33:37 <justin_r> ... all of us will be writing the same kinda class of tests
23:33:39 <burn> https://github.com/w3c/did-test-suite/issues/31
23:34:18 <justin_r> shigeya: I volunteer to do that
23:34:25 <burn> https://github.com/w3c/did-test-suite/issues/30
23:34:38 <justin_r> burn: did url dereferencing
23:35:01 <justin_r> manu: this is more complex, not clear how we'll test it
23:35:21 <justin_r> burn: what are the most complex/challenging ones to give to wayne?
23:35:31 <justin_r> burn: did resolution and did url dereferencing
23:35:45 <justin_r> s/burn: did res/manu: did res/
23:35:54 <justin_r> burn: would you be comfortable doing that, wayne ?
23:36:09 <burn> https://github.com/w3c/did-test-suite/issues/29
23:36:12 <justin_r> burn: we will give these two to wayne b/c he offered earlier
23:36:27 <markus_sabadello> q+
23:36:40 <justin_r> manu: I'm slightly concerned about that but we can take it up
23:36:40 <burn> ack markus_sabadello
23:36:55 <justin_r> manu: I'd hope that people involved with resolution would do this
23:37:02 <justin_r> markus_sabadello: I'm not great at JS but I can work w/wayne
23:37:17 <justin_r> burn: that suggests it would be better to take one of these sections and create tests
23:37:24 <justin_r> q+
23:37:39 <justin_r> q-
23:37:50 <burn> https://github.com/w3c/did-test-suite/issues/28
23:38:00 <justin_r> burn: cbor production and consumption
23:38:20 <justin_r> manu: this requires deep cbor knowledge
23:38:26 <justin_r> drummond: and we don't have jonathan on the call
23:38:35 <justin_r> burn: willing to skip for now unless someone has that experience
23:38:46 <justin_r> Orie: will take this one
23:38:52 <burn> https://github.com/w3c/did-test-suite/issues/26
23:39:03 <justin_r> burn: json production and consumption
23:40:01 <justin_r> manu: this is what the "json-only people" were asking for so I hoped they'd want to be there
23:40:08 <justin_r> Orie: this is 99% of the production rules for the spec
23:40:29 <justin_r> burn: this is precisely the kind of test group that daniel buchner should take
23:40:35 <justin_r> ... since MS had asked for this very strongly
23:41:03 <justin_r> burn: Orie you convince Daniel to do it insteadof you, or share it
23:41:26 <justin_r> manu: would prefer Orie focus on test suite architecture, give the rest to minions
23:41:31 <burn> https://github.com/w3c/did-test-suite/issues/25
23:41:39 <justin_r> burn: conforming consumer
23:41:46 <justin_r> manu: this is weird! don't know how we actually test this
23:41:49 <justin_r> ... w/o writing linters
23:41:58 <Orie> q+ to note how I tested consumption
23:42:09 <burn> ack Orie
23:42:09 <Zakim> Orie, you wanted to note how I tested consumption
23:42:16 <identitywoman> present+
23:42:34 <justin_r> Orie: hard to do; I had implement an abstract data model class to assert properties on the model
23:42:52 <justin_r> burn: the three remaining are consumer, producer, and did params
23:43:25 <justin_r> manu: production is easiest, if we pass all the other tests we have passed the production test
23:43:41 <justin_r> ... wayne should do did parameters
23:43:50 <justin_r> burn: still need someone for conforming consumer
23:44:19 <justin_r> manu: who wants to write the equivalent to what Orie just wrote?
23:44:46 <justin_r> manu: consumer should probably go to wayne
23:45:08 <justin_r> burn: looks like we're going to leave one or two open, which would you rather leave open?
23:45:13 <markus_sabadello> q+
23:45:45 <justin_r> Orie: production/consumption are more important than deref/resolution
23:45:48 <burn> ack markus_sabadello
23:46:04 <justin_r> markus_sabadello: they are complex and difficult but they are similar to each other
23:46:15 <justin_r> ... i can figure it out w/help from someone
23:46:50 <justin_r> burn: tests are such that things are similar enough, once you figure out how to do one you've got an idea to do others
23:46:57 <justin_r> burn: assign 29/30 to markus
23:47:03 <justin_r> ... assign 25/22 to wayne
23:47:17 <justin_r> manu: volunteer for producer
23:47:49 <justin_r> burn: thank you [we have volunteers for everything]
23:48:03 <justin_r> ... publication of CR doesn't depend on these being written
23:48:20 <justin_r> ... these are needed for implementers to implement and report to us, to exit CR
23:48:42 <justin_r> burn: start to talk about test writing
23:48:47 <Orie> q+
23:48:47 <burn> Topic: test suite discussion
23:49:11 <burn> ack Orie
23:49:16 <manu> q+ to note "testing spec" vs. "testing static test vectors" vs "testing dynamic implementations"
23:49:23 <justin_r> Orie: our first thoughts were "wouldn't it be great to have static test fixtures to adapt your did method / implementation and run them through the suite"
23:49:38 <justin_r> ... there are concerns on testing some things with static fixtures
23:49:56 <justin_r> ... what's the alternative?
23:50:02 <burn> ack manu
23:50:02 <Zakim> manu, you wanted to note "testing spec" vs. "testing static test vectors" vs "testing dynamic implementations"
23:50:15 <justin_r> manu: this is an opinion "just for now"
23:50:25 <justin_r> ... there are three basic levels of testing w/a spec
23:50:35 <justin_r> ... 1) test to see the spec is internally consistent
23:50:46 <justin_r> ... not testing implementations
23:51:20 <justin_r> ... 2) static test vectors, you get implementers submitting input
23:51:33 <justin_r> ... suite determines whether or not submitted content is good/valid
23:51:45 <justin_r> ... more useful than just testing spec, gets input from implementors
23:51:53 <justin_r> ... 3) testing dynamically against implementations
23:52:03 <justin_r> ... "generate a did for me, register it on a ledger, resolve it"
23:52:18 <justin_r> ... "generate a did:key", take that and shove it into another library
23:52:23 <justin_r> ... totally different
23:52:47 <justin_r> ... test suite is exercising a bunch of libraries against each other
23:52:52 <Orie> q+
23:52:52 <justin_r> ... more useful than static
23:52:57 <justin_r> ... always like to see the last one
23:52:59 <justin_r> q+
23:53:09 <justin_r> ... if you have that, you can put up an ecosystem scoreboard
23:53:24 <justin_r> ... you can be sure that "we passed a test suite" tests the right things
23:53:55 <justin_r> ... static vectors don't get updated
23:54:03 <justin_r> (scribe's note, that's not true but ok...)
23:54:12 <burn> q?
23:54:14 <justin_r> ... we're shooting for the last thing in the list to make sure everything's up to date
23:54:22 <justin_r> ... and that everything's always testable
23:54:40 <justin_r> ... don't think we'll get there for DID Core
23:54:48 <justin_r> ... count it as "useful but a failure" if all we can do is level (1)
23:54:56 <burn> ack Orie
23:54:58 <justin_r> burn: only requirement is level 1
23:55:13 <justin_r> Orie: agree w/manu, intermediate step between 2 and 3
23:55:20 <justin_r> ... testing implementation that isn't method-specific
23:55:32 <justin_r> ... for ex, implement production/consumption w/o talking to blockchain
23:55:49 <justin_r> ... you need an implementation and let things register dynamic stuff, or having implementation inside of test suite
23:56:02 <markus_sabadello> +1 to orie, not all functionality defined by the spec is method-specific
23:56:16 <justin_r> ... testing of test suite w/static inputs w/o looking at blockchain, we'll never succeed at that
23:56:38 <justin_r> ... implementation is actually being tested, you're calling an implementation
23:56:44 <markus_sabadello> e.g. DID (URL) syntax parsing
23:56:49 <burn> ack justin_r
23:58:04 <manu> justin_r: Agree with Orie about the nature of a lot of the testing here -- there is a lot of variability between the posts that manu has laid out, there's a lot of space in there that's definable. I want to poitn to OpenID test suite, which do test live implementations, but test live tests implementations, in that test suite has a whole bunch of functions that it calls, OpenID is network protocol, tests network protocol, test suite does a whole bunch of
23:58:04 <manu> actions in protocol definiton, within specification, respond to positive and negative tests in appropriate and detectable ways.
23:59:10 <manu> justin_r: Look for error here, or error there, but some of these tests is to display something to user, test suite has to account for that, screen shot of interaction w/ test harness, error that is displayed, not all of this is fully automatable, that's ok, it's fine that we define what integration points are in test suite, not all are going to come from DID Core -- comes into whole notion of -- I can test implementation, but here are actions I need to
23:59:10 <manu> take, provide a layer/endpoint that I can call to do the action.
23:59:52 <justin_r> burn: topic will continue in the special-topics call
00:00:02 <manu> justin_r: Personally, that's what I think we should be aiming for... long way from testing production endpoints... we can do test endpoints, head in that direction.
00:00:03 <justin_r> ... thursday @ noon ET
00:00:16 <drummond> Thanks Justin!
00:00:25 <manu> rrsagent, draft minutes
00:00:25 <RRSAgent> I have made the request to generate https://www.w3.org/2021/02/23-did-minutes.html manu
00:00:26 <burn> rrsagent, draft minutes
00:00:26 <RRSAgent> I have made the request to generate https://www.w3.org/2021/02/23-did-minutes.html burn
00:01:12 <manu> scribe+
00:01:13 <manu> rrsagent, draft minutes
00:01:13 <RRSAgent> I have made the request to generate https://www.w3.org/2021/02/23-did-minutes.html manu
00:01:24 <brent> rrsagent, make logs public
00:02:13 <brent> zakim, who is here?
00:02:13 <Zakim> Present: burn, shigeya, brent, justin_r, GeunHyung_Kim, markus_sabadello, wayne, manu, Orie, agropper, TallTed, drummond, identitywoman
00:02:16 <Zakim> On IRC I see dmitriz, drummond, agropper, Orie, identitywoman, markus_sabadello, GeunHyung_Kim, brent, RRSAgent, Zakim, burn, tzviya, hadleybeeman, dlongley, manu, bigbluehat,
00:02:16 <Zakim> ... ChristopherA, shigeya, wayne, dlehn, Travis_, cel, rhiaro
00:03:10 <brent> zakim, end the meeting
00:03:10 <Zakim> As of this point the attendees have been burn, shigeya, brent, justin_r, GeunHyung_Kim, markus_sabadello, wayne, manu, Orie, agropper, TallTed, drummond, identitywoman
00:03:13 <Zakim> RRSAgent, please draft minutes
00:03:13 <RRSAgent> I have made the request to generate https://www.w3.org/2021/02/23-did-minutes.html Zakim
00:03:15 <Zakim> I am happy to have been of service, brent; please remember to excuse RRSAgent.  Goodbye
00:03:20 <Zakim> Zakim has left #did
00:03:21 <brent> rrsagent, bye
00:03:21 <RRSAgent> I see no action items