0.10.0
Added
-
A store can say what it holds.
StateProvider::ids(entity)lists every identity stored under an entity type, sorted, so a shell can open a store it did not write and rebuild from it — the one question the SPI could not answer, and the reasonengineering-protocols' SQLite backend refused any row it had not written itself. Every provider implements it:MemoryStore,FileStore,SqliteStore,RemoteStoreandHybrid(through its read path — an unreachable authority isUnreachable, never an empty list). The conformance suite gained three cases, andBrokennow also lists an id it does not hold, so the suite is shown to catch that too. R-109. -
entity list --store <root> --entity <type>prints what a store holds, one id per line, or as JSON or YAML. A type nobody stored under prints nothing and exits 0.
Changed
-
The wire is
entity.store/3.Ask::IdsandAnswer::Idsare new variants on tagged enums a/2peer cannot decode, so the version moved and a/2peer is refused by name — the same rule 0.9.0 applied whenAnswergrew. Both ends of a deployment upgrade together. -
StateProviderhas a new required method. A provider outside this repository must implementids; there is deliberately no default, because a default returning an empty list would let a provider claim to hold nothing while holding everything.