Open jhamman opened 3 months ago
the normativity of that section also stood out to me. I don't know why we need normativity here; in fact, it's probably healthy to allow different implementations to use whatever internal APIs seem appropriate. If there is a "right way" to implement zarr, then it can probably only be discovered empirically (and I doubt there is a "right way").
FWIW the wording is strong:
For a store to be compatible with this specification, it must support a set of operations defined in the Abstract store interface subsection.
Agreed that this is not intended to specify the actual API in any implementation.
I would like to understand why the spec includes a Abstract store interface section and ask if this section should be clarified as descriptive, not normative.
Why should the spec care what interface and implementation chooses for the Store abstraction? So long as the store does the right thing, surely the implementation is free to choose a different abstract interface?