2023 06 27 Aries Python
Stephen Curran: All right. Welcome to the Stephen Curran: June 20 seventh Stephen Curran: one in 23 Aries cloud agent on user group meeting. big agenda. Lots of things to go over Stephen Curran: so we'll be talking about a pile of things, including probably the main topic getting an on Chris rust into acupy Stephen Curran: The meeting is being recorded. So we will be posting it after this. The meantime, reminder that this is a Linux Foundation Hyper Ledger meeting Linux Foundation meetings have an antitrust policy in place as well. The code of conduct for Hyper Ledger is also, in effect, please be good to one another. Stephen Curran: anyone who want to introduce themselves that's new to the meeting and wants to talk about what they're doing wants to make an announcement, or would like to add something to the agenda. Please raise your hand or just begin speaking, and we'll go in turn. Stephen Curran: All right. Nothing to announce nothing to. It is
Stephen Curran: summer season getting started, so there's not going to be as many things going on all right. reminder of the documentation. I have an idea for some more documentation to talk about hopefully. If we have time we'll see Stephen Curran: all right. on the agenda act by release 8 to our C. One has been completed. it was just released a few minutes ago. So it's out and available. Stephen Curran: it's just a minor update. There is one more pr that we're we're considering merging prior to the final 0 8 2. I'll wait a little bit longer, but That may not make it. So we'll see how that goes. Stephen Curran: If not, if we decide not to include that one as soon as we've had some smoke test done on this 0 a 2 r c, one, we'll complete 0 8, 2 and release it. Stephen Curran: is there any other Pr's that anyone desperately wants into 0 8 2. If there's anything to highlight, please let me know.
Stephen Curran: or and Stephen Curran: let us know now. Stephen Curran: Happy to have that. Stephen Curran: Oh, we have another AI assistant in the crowd. I wondered about that. Oh, well. I guess we'll leave it. Stephen Curran: Okay. Invading an opera. It's rust and occupy. I wanted to give an update. We had a meeting yesterday on on where we are with
Stephen Curran: PC. Governor Dco, to talk about the code with us. So I was going to talk about that Stephen Curran: Daniel. I had a presentation that I thought I'd go through this sort of summarize our meeting, and and please jump in. If there's anything you see that's incorrect Stephen Curran: or needs adjustment. But in the meantime I'll go. I'll go through with that. So Stephen Curran: We've had a goal for a little while now that we have an on credit. Rs, so the hyper ledger and upgrades implementation in occupy Stephen Curran: this talks about where we are and where we need to be Stephen Curran: So we posted a code with us in Theco. Has said a pr was awarded to a Dco. And that teams been working very hard on that done a a lot of work. Stephen Curran: the Pr. Submitted for merging, and we decided to merge it into a developer branch. It's not quite ready for merging into main. this will be I I think the likely is a
Stephen Curran: extremely likely to be a breaking change. And so Stephen Curran: we're talking about now exactly what that means, and and how how much of a breaking change will be the Maintainer's recommended to make it a breaking change that that we were probably holding on to too many things to try to make Stephen Curran: occupied backwards, compatible in in certain areas. And so it was time for a pretty significant change. Stephen Curran: Or, if this is likely, a a place where a significant change would actually be helpful to everyone versus a hindrance. Stephen Curran: Obviously we want to keep things as backward, compatible as possible. But just there comes a time where it's it it. It is a bigger problem to to try to maintain that versus moving forward with a break to change. Stephen Curran: So here are the things that we're proposing, that we breaking and non breaking as we go forward. So we want to minimize
Stephen Curran: the changes, the issue credential and present proof protocol. So basically the interface between an issuing agents and a holder, or between a whole or an initiative between a holder and a and a verifier. We want to minimize those changes. So we want the protocols Stephen Curran: to be Stephen Curran: to remain the same. Stephen Curran: so basically holds your nose and keep the name of Indie attachments. So, even though it's in the attachments versus a on cred, we, we would retain that Stephen Curran: and and basically cover over any difference in the use of legacy in the adapters, identifiers, and all other ident identifiers. So basically, when using legacy indeed, and where issuing credentials or or present proof. Stephen Curran: those would remain the same. And so that if we interacted with a older version of Occupy there would be no difference. And so that is the that is a big Stephen Curran: interface that we want to keep the same, so that would remain We think we it would be best to drop the legacy and on credits mid Apis and and add.
Stephen Curran: I, I get so yeah, legacy and on credits have been Apis and add Stephen Curran: new whoops sorry Stephen Curran: and and add new and on cred. Apis. So basically, that means drop the scheme of the credit death and most of, and perhaps all of the revocation endpoints. Stephen Curran: So those would go away. And we would add a new and on threads. Api. Stephen Curran: So basically, instead of there being a slash, schema slash, create or a slash schema. Stephen Curran: I get Stephen Curran: slash schema or a get slash credibility, for these would be Stephen Curran: and on credit, slash schema and on credit. So that would be the idea there. So that would require Stephen Curran: the recoding of of some of of controllers basically Stephen Curran: to upgrade to the new release. So that's a big change as a non correct, and on credits Api. So as those endpoints revocation, I want to talk about a little bit separately. Stephen Curran: so we'll get to that in a bit Stephen Curran: the next would be enable upgrading an existing act by implementation storage to the new breaking change version. So the idea would be that when a
Stephen Curran: and implementation of occupy with the Controller is updated together. Stephen Curran: that there would be a way to upgrade the storage so that the Stephen Curran: This is good function with the new release. Stephen Curran: However, in doing that there would be no special support for, unlikely to be special support for a multi tenant a by implementation. So Stephen Curran: basically.
Stephen Curran: you would not be able to do something like pick and choose which tenants get updated to the new storage. Stephen Curran: All controllers would be updated together for the to the new version. Stephen Curran: storage for all wallets are updated. that means storage for all the wallets are updated during the deployment of the new version, which means all controllers would have to be updated when a multi tenant
Stephen Curran: updated. Stephen Curran: So the ramifications of that is, if you had a multi tenant instance that had different controllers. Stephen Curran: for the different wallets. all of the controllers would have to be updated together. Stephen Curran: not individual ones. If if you try. If your instance all use the same software. the controller was the same. That that's easy, and and you know no different from from a tangle single tenant version. Stephen Curran: But if you're if you actually had separate controllers for different tenants.
Stephen Curran: all of them would have to. All of the controllers would have to be up to it together. Does that make sense? Does anyone have any questions on that? Stephen Curran: I don't know how many people in the community would have that issue. But be aware of that. Stephen Curran: We do want to retain the endorser implementation Stephen Curran: as much as possible. Hide Stephen Curran: endorsers from the Controller in that in that the Controller doesn't have to do anything that endorsing would take place within occupy. And the endorser would just basically be configured for an agent to say, I'm going to use an endorse, or here's the endorseer I'm going to use, and stuff would just happen, and the Controller would not be concerned with it, so that should happen within aquaby.
Stephen Curran: revocation. I wanted to get into a bit of the history of revocation for those not aware of it, and then the plan for going forward. Historically, the first, the first implementation of of revocation required the Controller to do all of the work. So whenever revocation was needed. Stephen Curran: support was added in the Credit D, then every time a new Revocation registry was needed it, the Controller would have to say, hey, go, create a Revocation registry. When when we wanted to publish Stephen Curran: revocation registry entries, the status updates that publish it had to happen. The Controller had to manage that Stephen Curran: hardest. Yet, even if those things was Stephen Curran: tracking when a new Revocation registry was needed, and and so and that was the big one, that sort of triggered to us. Oh, my God, this this is not going to work! This is too painful for the Controller to be able to do that. Stephen Curran: So we. We moved away from that. In addition.
Stephen Curran: when endorser functionality came in, that also all had to be done Stephen Curran: essentially, the controller was doing it. And again, that was difficult to manage for the controller. So what we want to do is where we are today is we want to continue that which is, when we did the second implementation of revocation occupy does the work, and the controller only does the things that trigger occupy to do things. So Stephen Curran: the the impacts of revocation should be, I'm going to support revocation during the credential issue and set up. So every time I I create a correct F for a new credential type. I'm going to say whether I'm going to support revocation or not. Stephen Curran: If I am supporting revocation, I'm going to say how big my revocation registries are going to be. Stephen Curran: and that's it. Stephen Curran: the controller needs to track the Revocation Id for credentials when issued. So the identifier that is necessary, for when a credential is to be revoked
Stephen Curran: when necessary, obviously the controller needs to revoke credentials, and they would use that revocation. Id Stephen Curran: to do so Stephen Curran: when they do. That occupy is tracking the state of of the revoked credentials. The fact that they've been revoked, and finally, the occupy. Instance, the Controller Stephen Curran: needs to publish Trigger when publishes, publications of revocations are done.
Stephen Curran: And again, this is on a per credential type. So it's for say, Oh, I want to. Stephen Curran: on A, on a credential type. I want to revoke. I want to publish the revocations, and that could result in needing to publish. Stephen Curran: multiple. You may have multiple revocation registries that that have been active at various times, and they have a backlog of revocations to publish. That means that could be multiple transactions to be written.
Stephen Curran: all of that. All of that Stephen Curran: detail beyond these 4 trigger points is all managed within occupy. And we want to keep that. So the Controller's life is simplified to Stephen Curran: supporting what's necessary for revocation.
Stephen Curran: right now, when we implemented that second implementation, we kept the Admin Api for both modes. So we kept all of the Revocation endpoints so that the Controller could manage everything itself. Stephen Curran: Probably that wasn't the best idea. Stephen Curran: The plan now is to only keep the occupy does all the work mode. It's much easier for everyone, for for a and for the controller to just say. Stephen Curran: occupy manages the revocation work, and the only input the controller has are these types of Stephen Curran: are are these actions that can be taken. Stephen Curran: I would point out that these activities are the same, whether you're using a on credits or whether you're using something like status list 2021 and some other revocation mechanism. So this actually could work for any credential format which is kind of why, I was suggesting that the Revocation endpoint may actually still exist. Stephen Curran: and Stephen Curran: because it it is generally useful. Basically, the only 2 things you do in the revocation endpoint is you revoked credentials?
Stephen Curran: given an id revoked credentials, and from time to time published revocation updates Stephen Curran: publish them out to some other place so That really could be done, regardless of what revocation scheme, or even what credential format you're using. So I don't know if we're going to get to that generic, but that that is something to consider and and think about as we go forward with this. Stephen Curran: And then There's an a bunch of clean up to be done on the Pr. 276, which is what was emerged yesterday into a developer branch. Stephen Curran: there's some issues that were were raised into the en on Chris rust implementation for a couple of things. no effort has been made to eliminate any no longer needed. Admit Apis and endpoints, so I I think it would be wise to do that. So Stephen Curran: at least the elimination of the endpoints. And then look at what code needs to get eliminated as part of that
Stephen Curran: We do need migration plan for issue or folders and verifiers, which is the migration storage scripts Stephen Curran: depending on Stephen Curran: You know what the new storage looks like what what needs to change, what additional data needs to be tracked or or generated? Stephen Curran: when doing an update. Stephen Curran: And then finally, the Dco team has got a pretty significant all in one test that is being used. But that is sort of a standalone test for all of the work. So that test needs to be added to the core integration test. So that at least that one specific test and probably other tests need to be added, I think those are the major elements. Stephen Curran: oh, no, there's a couple of more. Oh, big one, that is the they what oops come on Stephen Curran: occupy, does it all revocation? So we want to get rid of the Stephen Curran: endpoints that allows the Controller to manage the revocation all on its own. Get rid of that simplify ideally the endorse or support some sort of plugin that sort of says, Oh, I'm going to call Endorser. I'm going to call the endorser on pretty much every
Stephen Curran: publication transaction, and if I have an endorser it'll be used, and if I don't it'll be a null a null off of some kind. So put that in. Stephen Curran: and then the other thing is in addition to legacy and support. support for did Indie and did web implementations. did. Indie would be used for instances of indie that are able to support did Indie Stephen Curran: using the Ndbdr capability and and Stephen Curran: implementations that support that and then did. Web should be a pretty trivial implementation, which is basically a Stephen Curran: a transformation. basically being able to do posts. Http posts to Urls. based on what the did web Stephen Curran: identifier is that that basically results in files being loaded to a web server. So there will be an implementation of some sort of registrar for for did web
Stephen Curran: obviously that would need authentication to be able to post a file, you know, to a to a web server, and then the resolver that simply converts a did web. Stephen Curran: did. Did you? Rl into a a Http, URL, Stephen Curran: so that's the clean up. Stephen Curran: And I think that's all. Nope looks like. Stephen Curran: yes, there is. Rfc changes the in the attachment. I mentioned that earlier. we will retain the in the attachment. Stephen Curran: to be at least the indie. We're in the changes to an ongrad. So this needs to be added to the area's Rfc
Stephen Curran: so that we sort of deprecate the indie attachment and add the and on credits Stephen Curran: agents that don't support an on credits format, on receiving an attachment in the on credits Format would send a problem report saying, Hey, I can't handle this. Stephen Curran: Likely it would be fairly easy to say, oh, I got this an oncred attachment, but that's the same as the nd one, so I can use that, and vice versa. Stephen Curran: The interesting thing is that the non correct format could also be the W. 3 C. Format attachment, and so Stephen Curran: If we were to complete the formalization of the and ongrad data integrity proof. Stephen Curran: we could actually use the existing W. 3 C. Format that is used for Json, Ld,
Stephen Curran: credentials and use that in that use that for and on bread. So that's another possibility that it's kind of interesting. Stephen Curran: And I think that's all I had. I didn't see hands raised or questions. So there we go, Tim. Stephen Curran: I can't hear you. Tim. Go ahead. Stephen Curran: Okay.
Tim Bloomfield: fixed. My, how is that? Better. There we go. Yeah. I'm really excited about the revocation changes. all the experience and trying to work with issuers. We just gave up on to explain to them how to manager how on their location registry. So we'd actually pretty much concluded we needed to write something ourselves to manage it. So this is. Stephen Curran: that's really good. Just one real quick note. You had renovation in the title, not replication. I will fix that. But anyway, really good. Thank you. yeah, that's interesting. So we've Stephen Curran: so you were actually trying to use the controller doing the revocation like all the pieces. Stephen Curran: we do have this fully implemented. And we use it all the time. so you know, this idea that occupy handles it all is.
Stephen Curran: shouldn't you know, is is implemented. Stephen Curran: and and should make it a lot easier. We even have a feature. We ran into a situation those may not be aware. We ran into a situation where a Stephen Curran: a wallet Stephen Curran: got out of sync with the ledger as far as what was revoked and what wasn't, and we were even able to put in a a correction that allowed us to re-synchronize So basically, if Stephen Curran: if the if they re a publication of a revocation registry failed. we would actually detect that and correct
Stephen Curran: the revocation, so that Stephen Curran: we took a little bit of work. Took a little bit of understanding. but we got it so that we were able to do that. So that would, I believe that would continue to be a feature and the goal of this. Stephen Curran: any other questions or comments. And, Daniel, how did I do? Daniel Bluhm: I I think that was a really good summary Daniel Bluhm: kind of Daniel Bluhm: I I don't know now. It's a great time to talk about it, but just because it was fresh on my mind. that last point that you raised talking about the an on Peds and W Threec. Format, and using the Daniel Bluhm: the proof Vc detail. So I I actually happened to do an evaluation recently on on what it would look like for an on cred to the in W Threec. Format and be exchanged over the existing issue. Credential and present proof. Daniel Bluhm: Yeah, where the calls Daniel Bluhm: and the Ldproof Vc. Detail attachment format Daniel Bluhm: is pretty specific to linked data proofs. So my
Daniel Bluhm: inclusion as I was going through that was actually that we would probably need a different attachment format in order to communicate about the requirements of the a non-pred specific credential and all those things that factor into that. Daniel Bluhm: So I Daniel Bluhm: I'd be interested in how you came to that conclusion, because our conclusion is the opposite. That's funny. Okay, I I have a document. I can. Daniel Bluhm: And you did look over Andrew's work that he did in that. Yes, yeah. So it it wasn't so much that there was any issue with the actual format of the credential itself, or or the presentation itself. Daniel Bluhm: but rather how we expressed as an issuer Daniel Bluhm: what was to be issued using the Ldp BC. Detail attachment format. It. It was just.
Daniel Bluhm: It was a little bit of a, a, a a contortion, I suppose, to Stephen Curran: yeah. Daniel Bluhm: And then a aside from that, I also wanted to mention that I have created a project board for some of those remaining items that were discussed in Steven's presentation. I've been going through and populating that forward with a bunch of stuff. Daniel Bluhm: and we'll continue to do that and add some more detail to those tasks. So that's out there and a link to it from the agenda. Stephen Curran: Oh, good, okay, and I'll add my presentation, renovation and all. to the agenda as well. I keep forgetting to do that when I do these presentations. So.
Stephen Curran: okay, any other comments from anyone. Stephen Curran: if anyone is interested in this is a chunk of work that needs to get done. we could definitely use others. joining in and and helping out with this the reason we put it into a a a developer branch. a a branch off made was to enable multiple developers to be able to work on it. do merge requests pull requests into that Stephen Curran: into that new Stephen Curran: branch in preparation for it going into main. We do. I'm a huge fan of not having developer branches and and doing development on the main branch. So I do not like to see that active separate branch, so we could really use some help at getting that completed and and getting that work done. So Stephen Curran: If anyone has Stephen Curran: is willing to help out on that we would very much appreciate it.
Stephen Curran: Okay, Whoa. Stephen Curran: Where did I go? Stephen Curran: I was unexpected. Oh, that's why I keep forgetting when I leave it in that mode. Okay, let me get back to the agenda. Stephen Curran: probably talk a bit about this tomorrow on the Areas Working group call. I'm not sure. updating Aries Mediator Service. Given the open sourcing of the Dcos socket, Doc. my plan was to put in
Stephen Curran: some some issues into Aries mediator service. Stephen Curran: to talk about how in Dcos socket do which they announced last week and open source last week could be used. I think it's a huge Stephen Curran: improvement in how. That's gonna how a and there is a mediator can be implemented. So like to see that done.
Stephen Curran: I'm assuming that, you know. in the in Dcos socket dot picture they just put mediator cluster. that could still be an acupy cluster, and so The goal would be to put that in place. I think we recently done work to enable Stephen Curran: you know the use of red as Stephen Curran: and cache consistency, using redis in occupy such that we can have a horizontally scalable instances in cases where there is no web sockets involved by Stephen Curran: taking web sockets out of the picture, putting them into socket. Doc, that means that we can have a a scalable theories occupy Stephen Curran: mediator client. Once we add the connection with the Stephen Curran: Http based.
Stephen Curran: socket, Doc, so that. Stephen Curran: you know, is is going to be a key goal. So those interested in working on that. Stephen Curran: please, you know. Raise your hands. As I say, I think we need to get a lines and boxes. Picture of what? Stephen Curran: it's going to look like. But I think with socket dock in place, it's much, much easier to have areas Mediator Service implemented. Stephen Curran: one other thing we want to do, and I realize that there's a little bit of work to go in there. But we've had a couple of our developers that work for companies that do not allow the use of in Brock on their systems. Oh, Jamie, sorry! Go ahead. popkinj: you know, to sort of the reddest area like, because I'm trying popkinj: trying to set up a web socket and get rid of the, you know, polling feature.
Stephen Curran: So I I would be kind of interested in in this spot. I think. yeah. Socket, Doc, in in managing web sockets is going to make a huge difference. So definitely, if you're working there, let's let's get you involved in that. popkinj: Thanks. Stephen Curran: Good Stephen Curran: in Brock. So we use endbroken a lot of issue in a lot of developer demos and developer setups, so that a a developer can have a local instance of occupy and expose a public interface to it a public endpoint, so that other agents like wallets and things, can talk to it. We use in Brock for that Stephen Curran: one interesting side issue. If anyone knows of. you know the
Stephen Curran: people looking for a a getting started project. This would be a good one, which is to actually use acupy as a mediator client? and to have the mediator be the endpoint. Stephen Curran: So use the, for example, in Dco public. mediator, there is, you know, a sandbox mediator that that you can use, configure your aquapy agent to use it, and and then be able to basically be able to use that as as it as the endpoint for your app by agent, it would be public Stephen Curran: by default. All your messages would come in through the Mediator, and you would not have to use in Brock anymore. So it is something that I kind of have a goal that we would eliminate
Stephen Curran: the need for and for that purpose. So keep that one in mind. if as we go from what I understand occupy is not Stephen Curran: does not have the. I believe it's the pick up 2 Stephen Curran: algorithm, Daniel, if you could correct me on that as a mediator client, so that would have to be updated. As far as I know. Daniel Bluhm: that would be correct. Daniel Bluhm: So as a a a quick kind of follow up to the question of ingrat and using a prize mediator blind? so quite a while ago, actually, we threw together a quick project. that basically puts another mediator
Daniel Bluhm: into the mix which sounds complex, but it it actually ended up being Daniel Bluhm: cleaner at at that point in time at least, for us to implement it that way as opposed to turning back into mediation client, so that that mediator would sit alongside your app by instance, within your your firewall, within your network, whatever and that component would Daniel Bluhm: full and receive messages from Daniel Bluhm: a mediator that is outside of your firewall. So a a public mediator, and then forward those messages onto the act by instance. Daniel Bluhm: so it it turned occupied into being able to be capable of being a mediation client without needing to implement it directly within a. And we've been using it Daniel Bluhm: for Daniel Bluhm: quite a while, and it's been pretty reliable and and useful for us. So that that's an option. I still.
Daniel Bluhm: I I still think there's value in in act by directly supporting that capability. But I think there's also the question of whether we want to add that complexity into act by in that whole question. so yeah, I think there's Daniel Bluhm: reasonable Daniel Bluhm: debate to be had there on on what the best approaches. Stephen Curran: Okay, I'm I'm not sure why you would need that. Because, if you know, if you've got an external mediator, all you've got to do, as far as I know, is is configure a startup parameter, so that occupy uses that external mediator.
Daniel Bluhm: The issue that we ran into at the time was in order for occupy to pull the web socket open to the external mediator, or to pull from messages. There is going to be a significant amount of work required in the inbound transport which? Daniel Bluhm: That? Yeah. Again, at the time we we determined it would be quicker for us to just side thing that took care of that for us. Stephen Curran: Okay? Stephen Curran: yeah. I mean, I I. The the issue is more in Brock and and Tim's raised that there's another dial. I/O. The problem with any of these things is basically end. Rock or or equivalence creates a hole in the firewall, and companies don't like it. When Stephen Curran: arbitrary holes can be punched into the firewall of their of their organization.
Stephen Curran: so Stephen Curran: that's why, you know, using a mediator basically just uses Http and eliminates the need for for a web socket so Stephen Curran: That would be the aim for that, or sorry eliminates the need for punching the hole in the firewall. I don't know if if if how? Stephen Curran: how that affects things. So yeah. Stephen Curran: And a great again, bring your own device. That is what most of us have been doing. But Stephen Curran: some people on our team are not able to do that. So there you go. Stephen Curran: all right.
Stephen Curran: Let me check here. Stephen Curran: Where is the last? Jason? Sierra talk. You are here. Stephen Curran: Excellent progress on deep. Stephen Curran: Yeah, I can. I? I don't need to share my screen. No? Well, I can just put a quick. Update. yeah. So look at that. Since then that did peer to 2, 2 to 3 specs I'm starting with, just did period 2 6 per labs has a python perioded library. That was not around the first time. Change. I looked at this.
Jason Syrotuck: So I've been looking to integrate with that which has been a great resource to deal with some of the the number crunching and the the document construction itself. Jason Syrotuck: so that's a good thing for the community to be aware of. Jason Syrotuck: Similarly, was some conflicts between what any did could be, and it did. Here. Speck had the the the the Red X's defined by the specification, we're not compatible. so after some discussion and some updates, Jason Syrotuck: the root of that issue is that did period two's can have service entries which are base 64 encoded Jason. Jason Syrotuck: However, when you basic to chord code you may end up with some paddings. which is usually an equal sign. Well, equal sign is not a legal character. under the did spec
Jason Syrotuck: So that was causing some confusion. However, we resolve that, and the the Jason Syrotuck: guidance and instructions going forward is that if you are basic C, 4, encoding something, you will need to strip equal signs off of that similar. Another similar reason to do this, and we think that and your right head at some point brought up is that if you have one, did with an equal sign, or one did without an equal sign. Jason Syrotuck: Those are the same. Did. We shouldn't have 2 kids that look different, but resolved to the same things. so for those 2 reasons. Jason Syrotuck: that's something to to be aware of as well. I don't know about any other did specs. But there they did peer to. includes the service entry as basic people encoded.
Jason Syrotuck: so yeah. got a again. And I'm looking to build an additional did resolvers, and understand, I really didn't have. This is my first time really cracking open, occupy and understanding how connections are truly established. So I've been getting in there I've been creating, did, did, did did do to do to's now. But now I've got to figure out how to how to leverage them into into the payload and actually get Jason Syrotuck: them to be the the primary way that these connections are established, so still some progress to be done there. But Jason Syrotuck: that's kind of an update for the the community, or some things that have come to light and where we're going with Jason Syrotuck: any questions about that? Jason Syrotuck: Okay, there's an up to you. Pass back to Stephen. Stephen Curran: good stuff. That's super. Important as we get into. Now that 0 4 0 of a J is released. that's now going 0 4 0 is going into by fold, and therefore into various wallets. Stephen Curran: It is using pure dates instead of unqualified Ds for Stephen Curran: did calm communication to come messaging so super important to get that move forward. So that's good stuff.
Stephen Curran: okay. Stephen Curran: Next was just an idea I've had this week that I wanted to share with others and see if anyone was interested in doing a quick, quick, and dirty project on this. One of the most painful parts of using occupy is the startup parameters. Stephen Curran: there's so many for good and bad reasons. There's lots of them Stephen Curran: being able to understand what parameters are available when you should use them, which ones you should use and making them easy to use, I think, would be handled nicely. rather than having the documentation we have today, which is basically. Stephen Curran: you know. spit out all of the options and then try to figure out which ones you need Stephen Curran: would be to have an actual editor, not not a Yaml editor, which you know there's lots of generic Yaml editors. But that doesn't really help with the domain
Stephen Curran: issue we have of. Of how do you understand all the parameters, and how they relate to one another, and which ones you might or might not want to use in anyone, give that in any one scenario. So Stephen Curran: I actually had done a project a while ago that used survey. Js, so I was thinking that would be a way to do it. for those not familiar with survey. Js. Stephen Curran: it is basically a way a nice Jason and user and and Ui Stephen Curran: development tool for creating a library. So you can have a library like this. Stephen Curran: where you just add in Stephen Curran: questions. So it's it's basically using. It is a lot like using Google forms, you just add those in when you edit Stephen Curran: those, what you're really doing is creating a Json. Js, so you're basically just building up these elements so one could see that it would be really easy to take all of the.
Stephen Curran: you know, 108 Stephen Curran: the animal parameters, or or start up parameters that we have, and simply. Stephen Curran: first of all, generate them into one of these, and then go through one time to Stephen Curran: adjust them to Stephen Curran: have the help text for them. Have the your, your sorry, generate all the help text into them, generate the right data types group them provide additional details. So I think we could have a one time effort to go through Stephen Curran: and essentially using a Google forms and creating something like this. So we would half generate, half manually down. The the manual part would be important, because that's really providing the domain knowledge Stephen Curran: in there. Stephen Curran: once we do that that creates a nice package that Stephen Curran: you know the Json Js, that you saw there is is an active component, so that would be part of the tool and then have a little bit of javascript code to initialize Stephen Curran: or low settings. a a yaml file.
Stephen Curran: put it into the format for the job survey Js format component, so that Stephen Curran: a user could use that survey Js Component actively to edit their their settings, and then a process for taking it out of the survey Js format and into it to to to save it. So I think that would be relatively light Stephen Curran: and then to maintain the tool over time, basically a a Github action that would monitor for changes in the startup parameters basically maintain a file within the repo. It takes the minus minus help output Stephen Curran: of the configuration data. Stephen Curran: and then a a Github action that runs a diff with that generates the latest output, diff it with the file we have, and creates an issue when the outputs differ. Stephen Curran: that if you would then bring her somebody to manually go in and adjust the components here. Stephen Curran: of the editor, and so it would be once the Stephen Curran: survey J as component, or whatever we use gets created, it would be maintaining it over. Time, I think, would be pretty simple as simple that these things do not change significantly
Stephen Curran: over time. So it would be a Stephen Curran: periodic, you know, as we do a release. adjust and add whatever parameters were necessary to it. So an idea there! Stephen Curran: Hoping I triggered some interest. I would be very glad to help out if somebody else I would do this part of it, and was interested enough to do this part of it. I could definitely help out with the the the true documentation parts of this, which is Stephen Curran: actually generating a list and and making it a useful survey. Js Component, that we can maintain over time Stephen Curran: any thoughts, comments. Does anyone know of other tools like this that would be better to use
Stephen Curran: and any experience in using these types of tools in the past. Stephen Curran: All right, then. Stephen Curran: I don't think we've only got a few prs, we really want to get 8 to done. Let me take a quick look at the Pr. As we have
Stephen Curran: oops Stephen Curran: that wasn't good, and I probably shouldn't. Yeah, let me just go to there. Stephen Curran: would like somebody to review the read me, and every the updates that I've done pretty trivial. We've got the deaf container. We're holding that till after Stephen Curran: the 8 to release. this is the big one that I'm wondering if any. No progress has been made on this one. we really need somebody to that has a little bit of time to look at this one. Any comments on it. Stephen Curran: 3, 6, support dropping it.
Daniel Bluhm: I left this as a as a comment already in in the er itself, but I did take some time to look through it, tried out a couple of things, still continuing to have the issue with Daniel Bluhm: the of action is timing up. Daniel Bluhm: so I don't really have much in the way of of real optics or progress here. But I was able to at least get some time to look at it. Jason Syrotuck: The Python Period Library that was written that I've been leveraging does not support 306, so that will those who are related. But again, I don't expect a a conflict, but just that is the means of this is a blocking change, as far as I'm considering, and probably the highest priority. Pr, we have Wade Barnes: do you want me to give a summary of sort of the testing that's been done so far? Okay, so basically what it is is. there's the Bdd test that get run the integration test that get run
Wade Barnes: and what ends up happening is there's one in particular that triggers it. quite a bit. I've got links to all of the Wade Barnes: branches and everything that I that I've worked on as well as the the runs. Wade Barnes: But basically what happens is, an agent starts up, mediator starts up, and then the bob agent starts up and then it tries to start the bob mediator.
Wade Barnes: and it just Wade Barnes: never does like nothing happens. And the process ends up timing out, and everything ends up either locking up or failing Wade Barnes: I've Wade Barnes: tried exactly what Daniel did. Tried extending the time out. That doesn't make a difference. So he extended it out to 10 min. so it it's not a timing issue. Wade Barnes: what I did do is I tried different versions of python. So Wade Barnes: tested in github actions and locally using 3, 6, 3, 7, 3, 8, and 3 9. The issue starts happening in Github actions at at 3 8 Wade Barnes: where, if I run it locally. It works fine all the way up to 3 9, so I can't reproduce it locally. Wade Barnes: So it's very difficult to debug I created a different branch that does nothing more than starts the mediator. that can't start up with the parameters that are used by the test, and it starts up just fine. So I don't understand. I I really don't understand why it's not starting up in in
Wade Barnes: the process of of the tests. Wade Barnes: funny thing is even it using python three-nine. Some of the integration tests work. So it seems to work when you have, you know, the one that runs before it is Wade Barnes: one meet one agent, one mediator, and a bob agent communicating together that one works fine, but as soon as you add that Wade Barnes: extra Wade Barnes: container. It seems to just not work. Wade Barnes: No. no idea why Stephen Curran: any thoughts from anyone on that you really use. Hop on this one.
Stephen Curran: Hey? Thanks way, thanks, Dan. Stephen Curran: This one is held up by the 3 6, one Here it will be Stephen Curran: and then the rest, I think, are pretty much that we want to hold off until Stephen Curran: 8, 2 goes out. Stephen Curran: The big one we're waiting on that we had been waiting on was this one updates on this one. Stephen Curran: sandshot, do you have an update? Shaanjot Gill: So the implementation is done. So the confusion I had yesterday with according to the and you get got past that Shaanjot Gill: implementation of basically the test cases unit test is what I'm working on right now. Shaanjot Gill: and should be pretty soon, I think. Well.
Shaanjot Gill: maybe before the Shaanjot Gill: that on the stand up, or maybe I can push the changes. Stephen Curran: is it worth pushing this into a 2 or Stephen Curran: Is this crucial to a 2? Or should we just put this as the next? The first one, you know, assuming it's ready very, very soon, assuming it's ready today. Do we want to? Just Stephen Curran: just because it is taking several iterations? it seems safer to put this into the next version. is there objections from anyone on on saying that we're not going to include this one in 8, 2, Stephen Curran: and we'll just put it. In the next version
Stephen Curran: comments Shaanjot Gill: The only thing is the Shaanjot Gill: The changes are already in interaction that it depends on. this to be most time. I think that's the only dependency Shaanjot Gill: I can see. And regarding the iteration, I think this would be the final, because Shaanjot Gill: I don't see any more iterations after this. Stephen Curran: Okay? Stephen Curran: All right. I think that's all we have for today. Any other topics anyone wants to raise today. Stephen Curran: All right. Thanks for joining. Have a great Tuesday, or whatever is left of it, where you are.
Jason Syrotuck: Thank you so much. Stephen Curran: Take care of folks, bye.
2023-07-03 08:41