Cool - FWIW one of the big advantages of separating things out is making it easier to review, so generally trying to do so before pushing things is handy… And if you can have your published commit history be useful standalone changes, that helps too…
Things I would separate out into separate PRs:
• Move encoding/decoding to Store
• Switch
remote.rs to use new protos
Things I would separate out into separate commits:
• Add new lmdb to Store
• Create caching thing
• Wire up flags and
context.rs so that the caching thing is actually used
I think ideally each of those bullet points would correspond to exactly one commit, and two of them would happen to also be other PRs…