Which optional ROOT-LEVEL sidecar groups (chunk_packs/, environment/) a
store has, answered from an index known to be current — so a store without
them costs no request, and no console GET … 404.
Both sidecars are excluded from the scene digest, so a root index that a cache
tier served (revalidated by content_hash alone) can predate them and its
silence proves nothing. Two sources ARE current:
The opened store's consolidated index, when it came from the network this
load (rootIndexFromNetwork).
The load-time root-document fetch (cache/root-document-prefetch.ts), which
goes to the server on EVERY load to validate the cache. For a format-3
store that document IS the consolidated index, so even a warm load whose
store opened from the cache has this load's network copy in hand.
Neither available (a format-2 store, whose index is .zmetadata rather than
the root .zattrs; a presigned or zipped source; a failed fetch): the answer
is "unknown" and the caller probes — but for ONE format, the one the store
turned out to be, instead of zarrita's guess at both.
Which optional ROOT-LEVEL sidecar groups (
chunk_packs/,environment/) a store has, answered from an index known to be current — so a store without them costs no request, and no consoleGET … 404.Both sidecars are excluded from the scene digest, so a root index that a cache tier served (revalidated by
content_hashalone) can predate them and its silence proves nothing. Two sources ARE current:rootIndexFromNetwork).cache/root-document-prefetch.ts), which goes to the server on EVERY load to validate the cache. For a format-3 store that document IS the consolidated index, so even a warm load whose store opened from the cache has this load's network copy in hand.Neither available (a format-2 store, whose index is
.zmetadatarather than the root.zattrs; a presigned or zipped source; a failed fetch): the answer is "unknown" and the caller probes — but for ONE format, the one the store turned out to be, instead of zarrita's guess at both.