Everything in this "Implementation" section is how the reference implementation of this metadata spec operates. It is not neccesary for any other implementation to do the same things, but I figured it would be nice to document how I decided to make this work as a plumbing set that follows the exchange spec.
I have decided to keep the local data cache in SQLite, which is documented in Local storage.
I have implemented the basics in Rust as a library and CLI that can get and set values, serialize and materialize. The Rust library API is documented in Rust library API, and the CLI surface is documented here.
That CLI has a few ways of returning data, which I document in Output and query semantics.