Meeting minutes
<ottomorac> transcriber-bot, connect
Otto Mora: Wow...
<ottomorac> transcriber-bot, pause
Stephen Curran: Hold on, you have Georgetown… on your...
Agenda
<ottomorac> transcriber-bot, resume
Otto Mora: So...
… Okay, yeah, so today we would be looking at the PRs from, uh
… Steven, and I think we… it's both of those PRs, the 342 and the 340. And I guess the other idea would be, beyond those two PRs
… trying to decide if, um, it's either you, Steven, and Joe kind of driving the other steps, or if we would be
… Potentially having other folks contribute to that
Stephen Curran: I, I...
Otto Mora: want to talk about that in a little more detail, because… well, I guess you guys have the… the best view into how the whole… and probably you, Stephen, have the best view into how the whole algorithm… but… yeah...
Stephen Curran: Yeah, I mean, I certainly have been digging into it. I don't mind doing another. I feel like every time I'm stepping further and further out on a limb and ready to be chopped off, but I'm happy to give it a shot at the next step...
… the next part. And I think certainly the next one, which is saying, okay, now that we've determined the handling strategy, let's execute it
… Um, I think that makes sense. Um, there were some interesting comments from, um, Marcus earlier that I responded to today that I think. Um
… Hopefully, we'll… we'll help out, understand, okay, this isn't
… cutting off extension possibilities, and there's ways that extensions can be created that will
… Um, will still work, and what I'm hoping is that
… You know, with the way we're defining it, we are able to
… um, accommodate those without having to do so many… without having to do unique extensions. Like, I think linked resources and did linked resources might have been done differently. Um, had we had past services. Certainly
… The deadlinked resources could be a lot easier. um… So, we'll see
Otto Mora: Mm-hmm. Makes sense...
w3c/did-resolution#342
Otto Mora: Okay, so I guess first topic is the 342. Um
… Yeah, let me just take a look at that one
… Uh, yeah, so stemming from did to did URL resolution change
… Uh, I guess acknowledging, uh, the comment, uh, recent comment from, uh
… Uh, Marcus, don't know if you wanna
… Tell us anything else around that, uh, Steven, or if you had an offline chat with Marcus, or… Was it just pretty much what you see on?
Stephen Curran: Nope. No...
Otto Mora: Okay...
Stephen Curran: I've been going through… sorry, I wasn't on...
… Um, I just joined the channel, um
Otto Mora: The 3, 4, 2...
Stephen Curran: Sorry, which one are we looking at? 342 is the did-to-did URL...
Otto Mora: Yeah...
Stephen Curran: Okay...
Otto Mora: Right...
Stephen Curran: Um...
… I… I just saw his comments, so not entirely sure
… if there's any more than saying, I'm gonna object to this. The… the did, um… I do recall that he did mention… I changed that you do validate did URL, um… validate
… a next step and then validate the did. I do sort of. I think those steps do seem onerous, but I think an implementer will realize what's required for them, and we'll carry them out. I do think that
… validating a DID URL, and then once you know the DID and validating the DID, and the DID matches the DID method specification. Um, is
… Absolutely relevant. Um, so I don't think it's, um
Phillip Long (Georgetown, T3, ASU: Okay...
Stephen Curran: Outrageous to do both of… to outline both of those steps, even if… Um, an implementer...
… decides to do them in a more streamlined form that accomplishes the end result
Otto Mora: Mm-hmm...
Stephen Curran: Um, but absolutely, I thought that was the kind of weirdest change in there of… of saying, okay, validate the DID URL. And then validate the did...
Otto Mora: Okay...
Stephen Curran: I can't remember what the in-between step is. I'm trying to quickly call up the spec. Or the, uh, change I made...
Otto Mora: Mm-hmm...
… Um… Okay
… Manu, I guess anything else from you? I mean, I… either… Today or tomorrow, we should be
… Mary Jane does, hopefully, right? I mean
Manu Sporny: Yeah, sorry, I'm a bit distracted today. This is 342, right?...
Otto Mora: 342, yeah...
Stephen Curran: Yeah...
Otto Mora: Mm-hmm...
Manu Sporny: Yeah, and I, uh, Steven, uh, I did...
… High level, I'm fine with it
Stephen Curran: Okay...
Otto Mora: Yeah, you did...
Stephen Curran: Yeah...
Manu Sporny: Actually, no, I already proved it, right? Sorry, I was getting confused about the object one. Steven, I thought we were talking about another one. This one's fine...
Stephen Curran: Yes. Yeah...
… Okay. Oh, yeah
Manu Sporny: No issues. It implements what we agreed to on the call, as far as I can tell. The only issue is, like, you know, I think, Steven, there's some line wrapping that caused big chunks of text to make it seem like they were changed when they were not. But that's it. It's fine. Like, this is exactly what we resolved to do. That's it...
Stephen Curran: Yeah, I'm kind of unsure where to… when to do the line changes. I… I did them all as I went in this case. So yes, that is resolved...
… Okay
Manu Sporny: Yeah, usually in something that's super controversial, you don't change anything but the bare minimum to get it in, and then you can do editorial cleanup afterwards without doing a separate PR...
Stephen Curran: Okay, got it...
Otto Mora: Mm-hmm...
Stephen Curran: I will keep that in mind...
Otto Mora: Joe, I appreciate your… go ahead, sorry...
Stephen Curran: The other thing...
… The other thing I noted in that again from an editorial is the the use of the a tag versus the bracket equal, and things like that like that's throughout, and a few places where we're now. um
… the most of the content is, um, is not indented. Like, the text and the tags are all indented to the proper level. Um, I like that
… approach more and and hope we can get consistent on that. But that's, you know, purely editorial
… Yes
Manu Sporny: Meaning all the text blocks are left justified? Yeah, correct. Yeah...
Stephen Curran: Yeah, they start in column zero, in column one. Yes...
Manu Sporny: Yep, that's right. Yep, yep, yep, yep...
Stephen Curran: Yeah, that's what we… I assume that's what we want to do going forward. Um, we should really try to stick with that as we go through...
… Cool
… It's good to know these rules. Go ahead. Sorry about that
Manu Sporny: This one...
Otto Mora: No, I was gonna say for… so I think, yeah, so then both you and Manuel are good, but Joe, are you okay with this change? I mean, as is written now, I appreciate you just coming into the call, but the 342, anything else that you want to add before we… uh… us. Okay...
Joe Andrieu: I do, actually. I haven't had that much chance to look at it, unfortunately. Um...
… But I was just adding a comment to, uh, line 166. Um
… I think it… it's… at the
… The language that we extend this by using the resolved documents to attend the specific resource. Um… Just doesn't feel like extension. Um
… Because dereferencing… it's the other way around. Dereferencing uses resolution, it doesn't extend resolution. Um
… So, I
Stephen Curran: I'm happy, you know, feel free to reword that, that's fine. What… what surprised me was that there...
Joe Andrieu: Yeah, let me… let me take a pass at it, if… I just...
Stephen Curran: Yeah, what surprised me was that there was no actual reference to the URL dereferencing in that...
… abstract, which, certainly would create confusion. So, yes, please go ahead and and rework
Joe Andrieu: Yeah. So let let me take a pass at it, and I'll I'll try and keep to friendly stuff like that. I do think we've hashed out the algorithm enough, so I'm not. Too worried about that, but I just haven't looked at it...
Stephen Curran: This PR doesn't touch the algorithm, this is the one that just...
… take… finds
Joe Andrieu: I see...
Stephen Curran: as many did references that needed to be adjusted to did URL. So that's what this one is. So. Um, no algorithm touches or anything there...
… And in fact, the old algorithm, if you will, I specifically avoided, didn't even try to change anything in that on the assumption that it would be gone eventually
Otto Mora: And then you're going to take care of the observation from Will on around line 495. Normative must should not be in a note...
Stephen Curran: Oh, right, yes, yes...
Otto Mora: Okay...
Stephen Curran: Ah, shoot, sorry about that, but I didn't resolve it, so that's good. It's still there to be cleaned up. Thanks for that...
Otto Mora: No worries...
… Okay, now for
Stephen Curran: I meant thanks to Will for pointing it out, not to you, Otto...
Otto Mora: Yeah...
<ottomorac> transcriber-bot, pause
Otto Mora: You're not thanking me for reminding you of what we're… Um
<ottomorac> transcriber-bot, resume
Otto Mora: So anything else on three four two? No? Before we… Move forward...
w3c/did-resolution#340
Otto Mora: Okay. So… Will you be
… Next topic would be 3, 4, 0. Don't move
… one by… Uh, Steven as well
… uh
… This would be dependent on the 342, would it? I guess in a way, yes, right? Not really? Okay
Stephen Curran: Not really. Um… No, um, this...
… This is the same PR, this is the second version of the PR for the determined strat handling strategy. Um… The
… And then, I think we had a pass of it last week, and a pile of comments I've addressed
… many of the comments, um, and then left some unresolved, um, because I just don't know what to do with them at this point. Um
… And, um, so… So there is some back and forth needed on those. Um
… Maybe the idea would be to go through the comment, you know, the ones that are unresolved
… Tell you, I wish GitHub, in the GitHub interface, you could A, reply to straight comments and mark them as resolved. versus only text changes. I'm sure people have thought of that before, but it makes it a lot harder to process
… Um… Do we want to go through those at this point?
… So Will's got some comments that I have not marked as resolved
Otto Mora: Um… I mean, perhaps, yeah...
Stephen Curran: Oh, okay. Okay, got it. Yeah...
Otto Mora: He did note that he's not able to… like, he's kind of in a listen-only mode. I think he's in a train, is what he mentioned to me. Uh, but… Oh...
… Let me see if there's anything else. I know Ted had a few of his own. Applied. And there was
Stephen Curran: Um...
Otto Mora: Objects. That was that conversation...
… I know
Stephen Curran: Yeah. So Manu, thanks for clearing up that. I thought you wanted me to, you know, search and replace on the word object and change. So I like that. You've identified specific places, and now I get what you mean. So that's that I can clean up. I just haven't had a chance to do after. After your comments. Um… the...
… I think we're in a good… oh, Manny, go ahead
Otto Mora: Oh, yeah...
Stephen Curran: Yeah...
Manu Sporny: Yeah, good. I'm glad to hear that. Yeah, I was not trying to make it more complicated than necessary, and I'm fine with those changes happening in another PR if it's easier, but, you know, might as well make them while we're here. I did notice that in the way that you're writing a lot of these algorithms...
Stephen Curran: Let's see...
Manu Sporny: Um, you're kind of using, and this is totally understandable, you're using, like, uh, capitalization to point to, like, special processes or algorithms or terms. And, um, all I'm trying to do in there, which I think you get, is you can actually use respec to define the term...
Stephen Curran: Yes. Yes. Okay...
… Yeah
… Yeah
Manu Sporny: So it's a hyperlink and then and then link to that term. And then the way you link to algorithms and processes is that you can use their fragment identifier in in triple square brackets and that'll auto link to the algorithm...
… And if you do both of those things, then all of a sudden, it hopefully becomes a little easier to read, and everything's cross-referenced with one another, um, and that would address, kind of, the… my main concern, which is, like
Stephen Curran: Yes...
… Yeah
Manu Sporny: I don't know what path handling object really means, and I have to scan the text and find the original definition of it, and that sort of thing. But it's… these are largely editorial. The only thing that I really care about is the name of the type for...
Stephen Curran: Yes...
Manu Sporny: And I suggested Path Handler, hopefully that works for you. Okay...
Stephen Curran: Yeah, yeah. Um...
… So two comments on that. The capitalization is really on the identification of the strategy. And so the definition of that strategy will follow in the next PR that covered the next section. That was my intention
… Um, the… you are absolutely correct, the path handling on… path handler
… um, needs that as well, and it would… it needs a definition to go somewhere, and… and likely terms might be that. For the, um… For things like
… process object as the handling strategy. That would
… Uh, that will be defined, as they say, in the next PR, where we talk about, okay, now we've picked out our strategy, now let's execute our strategy
… And so that will lead to those having a formal definition in a specific place in the specification. We can then link to them. As you say
Otto Mora: Okay. Oh...
… Okay, good. So that's for step two
… Let me see. No. OK. Next topic is… the… Go ahead, yeah. Mm-hmm
Stephen Curran: Actually, Otto, one more. Sorry, I was just hitting Q+. One more. So… What I might do, and if people are okay with this, is...
… maybe what I'll do is put in placeholders in the next section to say, here's the handling strategies, and then I will have landing spots for those links. So this PR will have the landing spot, but those won't be detailed
… And that will lead to the next PR. Um, is that okay? As an approach to just… Carry forward
Otto Mora: Oh...
… I got a thumbs up from Manu. Hello
Stephen Curran: There we go. Okay...
Otto Mora: Okay. Now… Of...
Discuss assigning other steps in the DID Resolution Algorithm
Otto Mora: So, yeah, so
… Okay? So the the topic that we we just briefly and and for Will, who I know is listening in just like was a few minutes late after. But we we did discuss
… Um, the other steps, uh, and then Steven said he was… he would be happy to take a… a first step
… I don't know if it's worth. I was trying to find your presentation. Steven, where you you had like the the Google presentation, which is like, okay, step one and 2, which is what we've addressed. And then, like, can we just perhaps just
… I think it would be helpful also for maybe Phil and some of the others here to just
… revisit what the steps 3, 4, and 5 are about, so that we just know what what's coming in the future. Prs, maybe just briefly
Stephen Curran: I haven't looked at that in a while...
Otto Mora: Hahaha...
… If it's possible
Stephen Curran: I mean, that's looking at the current version of the spec, because it's all there...
Otto Mora: Oh, okay, okay. Okay. Yes...
Stephen Curran: So if you open this back and go to that, we'll see what the next ones are...
Otto Mora: Okay, current version...
Stephen Curran: Okay...
Otto Mora: Current version meaning the latest editor's version, or the 0.3?...
… Editors. Okay. Okay. Okay
Stephen Curran: The current editor's version. 'Cause we've merged, we merged Will's PR that said, okay, here's the provisional did, yeah, section six provisional did URL dereferencing...
Otto Mora: Mm-hmm...
… So, that… Referencing
Stephen Curran: Yeah, so the next one that I'm gonna work on is called Retrieve the Resource...
… And that's the one where I'm gonna put in… I'm working on 613
Otto Mora: Mm-hmm. Right...
Stephen Curran: That's the PR that's there. I'm going to extend that a little now to put placeholders in 614...
Otto Mora: Mm-mm...
Stephen Curran: To say, okay, we've determined the retrieval strategy, let's follow out on each of those, so there'll be subsections for each of the retrieval strategies identified...
… And explanatory text will then be in the next PR, explanatory text will go into that
… Yeah
Otto Mora: Into, okay, right...
… Okay. That's where the details come in of those steps. Okay
Stephen Curran: Exactly. Yeah...
<Zakim> JoeAndrieu, you wanted to ask for legacy fallback for decentralized query parameters (R2199) in #340
Otto Mora: Great. That helps. I see. Go...
Joe Andrieu: Hey, thanks. I just wanted to speak to a comment I just added on 2199. There's a hole here that I'd like to figure out how to resolve...
… Um, I mentioned it a couple times, um, but I think Steven's struggling to
… understand what I'm asking for, which is the… when we… when we say that the… the only query parameters that get processed here are the ones in the registry, we're creating a point of centralization, and it excludes queries that are
… Outside of our awareness, and it excludes queries that are added to the registry after the software is written
… And so, I… I think I would like to find a way to probably special case service and path handler, and treat other queries as a fallback. So, if there is a query type, um… and if there's a query parameter
… that is known to be, um, you know, DID method specific, it'll get caught up in the DID method specific stuff. Um, but we don't… we have that fallback for properties and for DID method specific. We should probably have it for queries
Stephen Curran: But isn't, so you say the wording to say it might be in this spec, it might be in the extension property or it might be did method specific, that's just not strong enough. You want to say and could be completely random and could be from anywhere?...
Joe Andrieu: It could be. Like, that is a fact today. So we are ignoring...
Stephen Curran: Okay...
Otto Mora: Mm-hmm...
Joe Andrieu: One of our points of extensibility. And so I we're all trying to move towards, hey, let's sort of half deprecate that. And I think in a future spec we could deprecate it. But here we're just trying to create an alternative with, the path handler approach...
… Um, and pulling out service and teasing out those things that we figured out for that. But we still have query terms that, um, people may be using out there in this way
Stephen Curran: Okay, so you want to say, more or less, in this specification, or anywhere else...
… ideally in the extension properties or specification, but could be defined. Independently
Joe Andrieu: Yeah, it's… it is our unfortunate situation we're in...
Stephen Curran: Okay...
Otto Mora: Mm-mm...
Joe Andrieu: But I do think we should call out and have the two that we've talked about...
Stephen Curran: Hmm, interesting...
Joe Andrieu: Right? Um...
… be handled before we get into that mess. So, if there is a service query type
… Um, and if there is a, uh, path handler, right, we need to make sure those are handled before the fallbacks
… So I think right now the service query type gets gets wrapped up in this paragraph Right?
Stephen Curran: Okay, I'll think about that...
… Yes, the intention is the service gets handled in that because it's in the specification
… Um, for sure. Um
… Path handling doesn't really, because it gets involved later. And this jumps the queue on it
… I think you're saying just generalize that one statement. I don't think we need to add another. um, step
… And it does make sense that we
Joe Andrieu: Well, they… they...
Stephen Curran: don't close a blind eye that DID extensions aren't always used, because I was shocked at how few DID extensions there are. Of course, I don't know that many who's using what parameters in the wild, so that's the hard part...
Joe Andrieu: Yeah, no, it's good that there aren't that many, but it's also frustrating we don't know what's happening out there. Um...
… I do think one approach to this particular section is just to be more generic. We don't have to say it's in the spec or not in the spec, for example
Stephen Curran: Well, no, we want to say that it's in the spec, because there are certain ones, and we absolutely want those. Service is in this spec...
… And therefore, absolutely, it should be supportive in that. And any others we add to this back in the future, we want to make sure people always treat them. Consistently
… The other ones become
Joe Andrieu: I want them to be treated consistently whether or not they're in the spec. So...
Stephen Curran: You can't. You don't know about them...
… Okay, I agree, but if somebody's saying, oh, I'm gonna use this today, um, obviously. Somebody else could
… could define the same one and use it completely differently. If there's no
… If there's no central definition of it, if there's no common definition of it, can't use the word central here. If there's no common definition of it, then you can't
Joe Andrieu: Well, no, that is… you are using the term central correctly, which is my concern. Is the queue piling up? Like, I don't mind the back and forth, but… Okay...
Otto Mora: No, no, no, no, no, we're good, we're good. That's fine. Go ahead...
Joe Andrieu: Um, I appreciate that we don't have a human trying to transcribe this. Um...
Otto Mora: Okay...
Joe Andrieu: The, um...
… But we do, we have this unfortunate bit that there are going to be query terms that the spec doesn't know about, the registry doesn't know about
Stephen Curran: Yep...
… Yep
Joe Andrieu: Maybe because they were added after the software was written, right? So what I'm trying to get to is a framing of an algorithm that is independent of that quagmire...
Stephen Curran: Right, but I think that...
Joe Andrieu: And that's why I'm trying to pull out… I'm trying to pull out… if you have a service parameter, use that first. Like, if we have a query parameter that says service, that… that's what we should use. There's no further thing we need to do...
… If we have a query parameter or if we have objects that we find that are path handler objects, then we know how to deal with that
… Then we get to the fallbacks. Right? And by ordering those fallbacks, we we open up the world in a regulated way. If it's an object in the did document that you understand, then you can apply it here. If it's an object in the did meta document, you can apply it here. By bundling it all together, we're losing that orderedness
… Um, which I think creates ambiguity, and I'm trying to restore that orderness while you're trying to mush it all together, so
Stephen Curran: Thank you...
Joe Andrieu: part of this is just you and I have a different style about whether this should be one bucket of all the objects, or it should be an ordered breakdown of a deterministic framing. And I would… I'd prefer the latter. I'm open to the group giving feedback as to. Which the group likes, but I think you and I just have a different style
about it...
Stephen Curran: Let me think through that and take that as input. I've written it down for notes...
… And
… part of it is, if the point… I mean, we're determining the handling strategy. If the point of the strategy is… to
… identify an object that we want to use, and there's multiple ways to identify it. We're still
… coming down to that strategy. But let me think about what would happen if we switched. and… and change the order. Part of… part of what I'm dealing with is. What happens if
… For example, identified object. If you identify, I think this example has been used is. Um, obviously in the path handling
… Um, you can have a path service. That's a service object, so if you put the service query parameter in there
… Um, in the DID URL, as well as the path
Joe Andrieu: So...
Stephen Curran: um, you're not gonna get to the path handling, and that's why I added that last sentence that's in the identified object paragraph...
Joe Andrieu: So I think you absolutely would because you're gonna have a a service type that identifies your path service, and that will get to a unique object which will have a type of path handler...
Stephen Curran: Exactly...
Joe Andrieu: And the way that you will handle that is through the path handler. No, no, what the...
Stephen Curran: But it's frightening to me...
… 100%. 100%, but Joe
Joe Andrieu: this… the object referred to by the service property is going to have a type. That type tells you how you retrieve. The retrieval strategy is determined by the type. So that will get you to the path...
Stephen Curran: Just one second. I'm agreeing with that. And the reason I pointed that out was Will had said, oh, we don't need that last paragraph or that last sentence...
… Um, we're not at the processing here, we're just identify… we're determining the strategy, and so all I'm thinking about is, okay, how do I determine the strategy, and have I got
… Um, ways through that. And so this is, you know, so if we take service and it
… goes off it. But if we have another one that is similar to service
… No, no, no. No, we get
Joe Andrieu: No, it doesn't go off it. I'm trying to explain, Steven, that it doesn't go off it, and we don't need that last sentence...
Stephen Curran: We totally need that, well...
… I understand that, and that's
Joe Andrieu: If you identify the object, the object will tell you how to retrieve it. If that mechanism for retrieval tells you to use the path, then you're going to use the path...
… And, and
Stephen Curran: 100%, but Joe, we're not at the point of using things, we're determining the handling strategy, so all we need right now is the handling the strategy...
… Yes, I a hundred percent agree with you that when we get to executing the strategy, we're gonna look at the service and say, oh, this is the path handling service, so I'm gonna do it with path handling. A hundred percent, I get that
… All I'm saying is, I'm trying to figure out
… all we're trying to do in this step, in this sub-process, is determine the handling strategy, and what I don't want to put is dead ends that prevent getting to the strategy
Joe Andrieu: So, so there was not a dead end, Steven. If… if I may try again...
Stephen Curran: Exactly. No, no, no. Okay...
Joe Andrieu: So what you've done in one is only determined part of the retrieval strategy. Because process object is going to go look at the type of that object, and that's when you're gonna find out what the retrieval strategy is. And if that object is a hold if that object is a path handler. then you are going to get to that path handling
algorithm...
Stephen Curran: Okay, good...
Joe Andrieu: There's no dead end...
Stephen Curran: I'm glad you said that because this comes to the other comment Will had as well, which is...
Otto Mora: Mm-hmm...
Stephen Curran: Determining the strategy versus… Um...
… Using the type
… Now that you've determined the strategy, so I deliberately stopped at process object. I now know the type of the, I know the object, I know the type of the object. I have the did doc, I have the did.url
… Then I go and execute the strategy of process object that will use those things
Joe Andrieu: No. No. No. Process object is not the retrieval strategy. This is what I'm trying to clarify, Steven...
… Because you do not have a you do not at the end of this process that we just talked about have this strategy yet
… You have the type, and the type will tell you the strategy
Stephen Curran: of why I thought. I think that...
… in determining
… I'm determining that I'm gonna process an object and in doing that I know which object that is
… I've identified exactly that object, I know the type of it, so I'm then going to go to the next step, which is execute process object, which will look at the type
Joe Andrieu: Use that to do what? Use that to do what, Steven? You're going to use that to retrieve the resource...
Stephen Curran: and say, oh, this type is a path service, or this type is a linked resource, and I will use that to do it. So the strategy, in my opinion...
Joe Andrieu: Right?...
Stephen Curran: To do what Lake's resource says. Yes, yes. Yes...
… It it so I I my argument is
Joe Andrieu: Right. So you have not determined. So processing the object is not a retrieval strategy. It is a step. It is a step. Can I finish, please? It is a step towards figuring out the retrieval strategy. You don't yet have a retrieval strategy until you evaluate the type. You just don't...
Stephen Curran: And I'm saying, Joe, I'm saying the strategy is process object and what process object does is look at the type and does what that type says to do. I don't have all of… the...
… Path handling and linked resource, those aren't process objects because I can't make that extensible. I'm saying, okay, oh, I'm going to process an object and I know these things about the object that I'm going to process. So my strategy is process object and these are
Joe Andrieu: That's not a retrieval strategy. I'm sorry...
Stephen Curran: Oh, Joe! Okay, we totally...
… Thank you. Exactly!
Joe Andrieu: We're trying to, in this first part, figure out the retrieval strategy. Process object isn't retrieving anything. An HTTP get is retrieving something...
Stephen Curran: We're determinate, and...
Joe Andrieu: Decoding an ordinal off of Bitcoin is retrieving something...
Stephen Curran: We're not...
… Okay, I, so
Joe Andrieu: Processing the object is not yet retrieving the thing. So we have not completed the part in the process in the algorithm that says, figure out your retrieval strategy...
… Because until you evaluate the type of that object, you do not know how you are going to retrieve it
Stephen Curran: I, I...
… like, I totally understand what you're saying, I don't agree that it's the right way to do it, but if you wanna
… then I would say that I need to withdraw this one, and somebody else needs to take a shot at it
Will: Can I… I don't know if you guys can hear me...
Joe Andrieu: Now we can. Well...
Will: Bye!...
Stephen Curran: We don't have time to waste on this, so… or not...
… Yeah
Otto Mora: Yeah, no, no, no, I mean, I would hate to lose some of the, some of the, okay, so since Will is on a train...
Will: I'm not on the train, I was here at the other station, but I'm still not very good...
Otto Mora: Let's do Will first...
… And then we'll do manual. This has been interesting, but yeah, like, we do want to at least, yeah
Will: I just wanted to say, yeah, my interpret… I mean, I kind of am on Joe's… I see Joe's point of view, but I think how Steven's just chopped up the algorithm differently, right? He has this thing called a handling strategy, which I think is this process object thing, right? And then...
… he… I think you're imagining, Steven, in the next step, the first thing that you do in the process object strategy is identify the retrieval strategy, right? You check the type, you see if you understand that type, and the algorithm by which you execute it by
Stephen Curran: I'm saying yes. Yeah...
Will: I think, you know, it's just two different ways of approaching the same thing, and the question is, which one does the group...
Stephen Curran: And here you… and...
Will: prefer, like, I guess...
Stephen Curran: And, and we're just calling...
… handling strategy a different thing. I'm saying the strategy is. Um, that I have an object, I have its type
… And now I'm going to use that type
… to retrieve an object
… That's… that's how I'm interpreting that
Will: Yeah, but I do think that thing, you know, the thing is, the type of the object is the retrieval strategy. Like, I think that is more clean, right? Like, we want people who are defining, like, objects in their DIP documents with types, one of the things that they should do as part of defining that type is. The retrieval strategy associated
with it...
Stephen Curran: I agree, I agree, yeah, I agree...
Will: Like, I think that is queener than saying there's this...
Stephen Curran: Yeah, I mean...
Will: Like, abstract thing...
Stephen Curran: The problem with trying to do that in the determining is we want to allow for extensions and properties that haven't been registered or anything like that. And so we can't point to those. They still get processed in the same way, which is. oh, I've identified an object that I'm going to deal with, I'm going to look at its type, and
I'm going to do something. So that's… that's why I did that...
… In this way, is because
… Eventually, they all get down to, oh, I've got an object and it's tight, but
… I certainly can't list them all here, but I can identify them here, determine what I'm going to do with them, and then when I execute, I can list
… the ones we are aware of, and then leave open that, oh, by the way, the extensions properties can have defined what a certain type is supposed to do and what you can do with it. That's where I was going
Joe Andrieu: Anyone can define what a type can do...
Stephen Curran: Yep...
Otto Mora: Yes...
Joe Andrieu: And so what what what's getting obfuscated here in this paragraph is exactly that point...
… That it is the type of an object that will determine the invocation handler strategy
… Right? The handler strategy, not the retrieval strategy. I know we've been… that's a transitional thing to talk about in the other way, but there's… we're just trying to figure out the handling strategy
… And to do that, you must look at the type. And this description here makes that very unclear
Otto Mora: Okay...
Stephen Curran: And I'm saying that you don't look at the type until the next step of this process, the one that I talked about I would do with PR for next...
Otto Mora: Okay, okay. Mm-hmm...
Stephen Curran: now I'm not so sure, so I'm taking it by volunteering. This has to get… this has to get sorted out, somebody's gotta...
… take it and run with it. Um, I've… I mean, I get
… Joe's Joe's point. I get what I'm trying to say. And yeah, they're not. um
… you know, you can do it either way. I just… this is the way I think about it, so if that's not the way the group wants to go, then yeah, I think I should just withdraw this one, and we have somebody else do it
Otto Mora: Okay, so I wanna...
Stephen Curran: And… and I'm fine with that. I'm… it's cool...
Otto Mora: I want to let Manu weigh in, and maybe even Dimitri, but… Yes, madam...
Manu Sporny: Um, yeah, just, uh, I'm lost. Um, and I would not be surprised if other people are not completely lost. I'm not completely, completely lost. It sounds like, you know...
… There's slightly different semantics on the words that we're using. And, you know, Joe's trying to make a certain bit, which, you know, Joe, I don't get the point that you're trying to make. I'm sure there is a good solid point in there. But the back and forth did not help
Stephen Curran: Okay...
Otto Mora: Yeah...
… Yes
Manu Sporny: At all, please, chairs, you know, use the queue. That's the reason we don't do back and forth, is because it just escalates, and it leads to just two people shouting at each other on a call. Not… it's not useful. Like, we just wasted 15 minutes...
… listening to both of you go back and forth about this. I know both of you have solid points. It does sound like there are two different ways to do it
… It is not clear to me what either one of you, like, where the disconnect is, because it was so hard to follow the back and forth. Um… okay
… I am trying to figure out a way that we can surface this in a way that. Joe Kin
… Joe, is it possible for you to, to put in an issue marker in text to say, like, this is an alternate way that it could be done, the group's still trying to figure out how to make this happen, and for us to process this so that we can get to the next PR, and then come back, and then
… point out two alternate ways to do it, because without this other PR that Stephen's, you know, talking about, I don't know how we reason about this, other than people create some mental model of what Joe has in his head, and Stephen has in his head
Joe Andrieu: So I'm...
Manu Sporny: you know, and then try to figure out what they like better, and I am having a very hard time creating a mental model of either one of, you know, you know, what's going on. I totally get your point, Joe, like, we don't want centralization, yes, plus one...
… Let's figure out a way to to say it where, you know, where that's not happening. Um, yeah
… So, is there something concrete that we can do to this PR, Joe, to register your concern? Specify the alternate. And then proceed and see how the next step goes
Joe Andrieu: I'm on the queue, can I… can I answer? I'm… I'...
Otto Mora: Okay, I think part of it is from my read of it is semantics as well. But yeah, go ahead, Joe...
Joe Andrieu: Um...
… Uh, I'm happy to take… any one of the three PRs in which I've outlined this algorithm, and… and
… Make a clean one…that just deals with this part of the document. Um
… I feel like I have enumerated this several times, about… Um, this issue of… Dealing with service first
… And going through the path object, and then having the fallback architecture. So, I'm happy to reuse that language I've already used. Some of my frustration is that it feels like
… It's just been thrown out with the bathwater, even though it is a coherent framework that gets through all the edge cases, except this thing that I've mentioned several times, that we need a… we need the legacy fallback for query
… That was the only part of that algorithm that's been missing. Um so I would be happy to. to
… Make an alternative PR for this one
… Based on what I've already done in one of the other ones
Otto Mora: Uh, okay. Uh… Manu… Uh, go ahead...
Manu Sporny: And to be clear, Joe, you're unwilling to put an issue marker into this PR so that we can...
… Try this PR out. I mean, it's fine. Here's what I'm concerned
Joe Andrieu: Well, the editor of this PR has asked someone else to make an alternative proposal...
Manu Sporny: I know, I know. Here's what I'm concerned where we're getting. Both of the people producing PRs to move this forward are getting so frustrated that they're going to step back and then we're going to have nobody to push this forward. And the problem is that the group can't really engage on the depth that's required because you have to
be so in the details and have every single one of these use cases in your head...
… that nobody else is going to do the work and we're going to result in us just not getting this done
… So, I'm hoping that Steven, you, and Joe are, you know
… You know, willing to continue to put this thing through until it's through, and
… you know, I'm very concerned about the way that, you know, the group is going about discussing this, especially with the external or the internal pressure of Marcus also going to object onto, you know, either one of these paths
… So, I mean, sure, Joe, if you can put together a full, you know, PR, that's good. Um, it feels like we've got something
… That is at least going to put structure around the discussion with with Stephen's PR
… I don't really care which one we go with right now, as long as we keep making, you know, forward progress. I feel like we're nitpicking these PRs to death, and we're unwilling to, you know, put in issue markers and move them forward, and I don't think that's a… Good way to make progress on this stuff. That's it
Otto Mora: I would echo that. I would hate to lose some of the progress. yeah, if it's possible to, or maybe just Joe chose an alternative path on a clean Pr. From his side, so that we could better visualize what is being meant. Perhaps. Okay, Ted...
TallTed // Ted (he/him) Thibodeau Jr (OpenLinkSw.com): Visualize, and that is the key to this...
… in the world. we exist in
… Prose is a really difficult way to understand an algorithm
… There's a tool that algorithm developers have been using for decades, which is a process flow diagram
… There's a piece of software that I'm sure we all hate with the same fire of a thousand suns called Vizio
… There are other similar tools that exist now because open source. People hated paying Microsoft. Um
… I can't recommend any of them. I can't volunteer to be useful on this piece of it
… But it is a way that might hope to be understood by most of us, if not all of us, looking at the pictures
… The pictures are ways to evaluate the pros of it
… To some extent, but the pictures are
… a more solid way of presenting
… what all is going on in an algorithm than the pros of it
… for a number of reasons. One is that. the branch decision block, right?
… It's really difficult to say A, B, C, or D. Or bullet
… bullet stack and really understand how the different paths go, especially when you get into 2 or 3 layers of that
… where, when it is a process flow diagram
… You can see where the path goes and where it dies
… And when you start putting something into the beginning and see what happens when you turn the crank. You can
… Write down at each step exactly what the step looks like, exactly what's been changed, if anything, exactly what's been understood, if anything. And that again makes it possible to evaluate. This. algorithm, this process flow
… If it fails somewhere, and you have another one next to it that works at that point, and also with everything earlier
… Then you know that those earlier ones. Uh, sorry
… You know when you put the same text, the same starting thing, through three algorithms, and crank them down to the same level, and two of them break and one of them doesn't, you know which one to keep working on
Otto Mora: Mm-hmm...
TallTed // Ted (he/him) Thibodeau Jr (OpenLinkSw.com): That seems to me to be a functional way to proceed. The way...
… Standards get built is you find the thing that breaks the least for the most
… If this ugly as sin thing works for everybody involved and doesn't prevent anything for anybody involved, that's the ugliest sin thing that gets done in the end
… Because no matter how pretty it is, if it doesn't work enough for everybody, it won't make it through the final muster. For what it's worth
Otto Mora: No, it's it's absolutely useful. I mean also like it's it's the split view. I think here might be like, if we do a split view like this. and then you add another, and then you have like the side by side. I I even that might be helpful just in in like highlighting, you know, if if...
… If Joe opens a PR with his change, I could be like, oh, here, this part, and then this, like, oh, no, this step, right? Even that might be helpful, but, just a suggestion also from my side. Uh, Steven
… And you're on mute
Stephen Curran: Um, two things. Um, I… I don't think this is an issue of the fallbacks and that. I think I… I...
… certainly attempted to get all the fallbacks in, and… and a lot of spent time thinking to make sure that all of the paths go through. Really, this is
… Whether you think about the type in this step or you think about the type in the next step
… Joe wants to do the type in this step, I want to do the type in the next step. That's really what it comes down to. The problem I've got, and why I'm a bit frustrated, is because
… I don't think it mattered. I don't particularly think it matters, but
Otto Mora: Mm-hmm...
Stephen Curran: if we figure out the type in this step, it's a pretty significant rewrite of this, and I just feel like I've been through it too much. Um, but that's the only real difference. Um, and… and we'll… and sorry we talked in...
… Code Manu will raise this yesterday, so I've been thinking about it since yesterday. Um, I put in that I think
… It's okay to think about the type in the next step. And so that's why, but… Um, evidently that's not passing muster, so
… I just don't really want to go through it all again if just for that one change, because it really changes significantly. I get it. If we're worried about the type in this, then there's a whole bunch more steps to be put in and adjusted
… Or maybe not go may have another way to do it with left steps. I don't know. But that's the fundamental difference here of the object type being accounted for in this step. And therefore we use that or if it's accounted for in the next step. I'm accounting for it in the next step
Otto Mora: Mm-hmm...
Stephen Curran: That's it...
Otto Mora: Joe, would you be willing to show us the alternative way of this particular section in a clean PR? Like, I think maybe, like, a side-by-side...
… uh, even tomorrow, like, where this is different, and then that your step, uh, in here with, like, the type being processed differently might be helpful. I don't know if you'd be willing to do that
… Just so. Go ahead
… Oh, yeah, okay
Joe Andrieu: So, um, I don't know that I can get something for tomorrow, because I'm preparing for the DID resolution threat modeling conversation tomorrow, but… but we have done this, what you're… what is on the screen right now, we have done with my PR that has the… My definition of this algorithm...
… So I feel like we're just repeating ourselves. We had a conversation where I thought we got to consensus, for example, to process a service query parameter first. That's one of the things that's lost in this
… uh, algorithm that Stevens put together is it doesn't have the strict ordering all the way from service down to the fallbacks. So, you know. I
<swcurran> It absolutely does have service first.
<swcurran> Step 1 - service
Joe Andrieu: I can put in another PR that is cleaner than the previous ones. I understood that I, you know, I was trying to make that PR be coherent on its own, rather than be part of a broken document that has different sections that are talking about things differently. So, um… I will… I won't have it for tomorrow
… But, I can make this edit and and make a proposal
Otto Mora: Okay, we'll we'll have that for for maybe Wednesday next week. That way we can do like the side by side. And then that way we'll yeah. And yeah, I guess just a reminder then, let's try to get the 342 merged in...
… uh, later, I guess, tomorrow, uh, if you have any other observations on it. It's, uh, we're at time, so
<ottomorac> transcriber-bot, pause
Otto Mora: All right. I guess that's it. Thank you, folks. Appreciate it