Libp2p commonlisp implementation?

beginner question here, I recently became interested in a keyboard driven browser written in CL https://github.com/atlas-engineer/next , in disussion the plans for storage of history, bookmarks, associated tags, etc are to be stored in plain text after on the fly encrption into a git structure and synchronised by server (self hosted or otherwise), this isn’t implemented yet, I wondered whether it would be possible to (optionally) do away with the sever and just sync across different machines with libp2p. My first question is can the sync happen between devices if one is no longer connected to the net and my second question is would this need a libp2p implementation in CL, to work (I presume yes)
Sorry for the dumb questions I have very little experience but I got the gist of what these projects are about without knowing the detail of implementation…

My first question is can the sync happen between devices if one is no longer connected to the net

I assume you mean the device you want to sync from is no longer on the network? If so, this is where persistent peer storage comes in, but you would need to have at least 1 device connected that has the data.

my second question is would this need a libp2p implementation in CL

Potentially, depending on your needs. There is a go-libp2p daemon that you could write CL bindings for, GitHub - libp2p/go-libp2p-daemon: a libp2p-backed daemon wrapping the functionalities of go-libp2p for use in other languages, so you wouldn’t necessarily have to reimplement libp2p. This also has the nice benefit of being able to stay on, so when you close the browser your data could still be made available via the daemon.

Thanks for the reply. Apologies for my clumsy wording, Im very green in this area! what I now think I was trying to ask is, can there be conflict free replicated data types, when 1 (or 0) libp2p nodes are ever online at any one time, is that level of asynchronous crdt possible, or is it an impossibility, that you would always need some level of persistence, essentially a server, running throughout?

I guess I’m thinking this may be possible given the matrix community are developing a serve less p2p alternative utilising go libp2p, I don’t know how it would work in a one to one p2p chat if they both were never online at the same moment, though maybe they rely on that being an unlikely occurance…