π€ from Claude
Tracking issue for the moczarr side of englacial/zagg#299 (template-hash leaf naming, multi-product hive stores β a breaking store change, pre-1.0 per the zagg#262 rationale). Opened per the phase-6 plan on #1 (item 5): the coordination zagg#299 asks for ("coordinate the rename with moczarr before its vectors harden") needs a home on this side.
Blocked on zagg landing englacial/zagg#299. Nothing here moves until the zagg-side decisions (per-product manifest shape, sidecar shard_key validation, hash truncation length) are final and the writer ships.
Blast radius in moczarr (mirrors zagg#299's list)
- Leaf basename
{full_id}.zarr β {hash}.zarr (windowed: {full_id}_{window}.zarr β {hash}_{window}.zarr). The morton id survives only as the digit-tree path; the basename becomes product identity.
convention.py surface: check_node_invariant (asserts full_id == head + digits via the basename β loses its self-validation; placement validation moves to the sidecar's recorded shard_key), split_leaf_name, and leaf_path all assume the current basename grammar.
- Per-product manifests:
morton_hive.json becomes per-product ({hash}.morton_hive.json or a products map β open question on zagg#299); moczarr's manifest/coverage readers follow whichever shape zagg lands.
- SERC fixture + golden vectors regenerate:
tests/data fixture stores and the read-side golden parity vectors are pinned to {full_id}.zarr basenames and must be regenerated from the flipped zagg writer in the same PR.
- One coordinated breaking PR here, landed in lockstep with (immediately after) the zagg writer flip β not piecemeal.
What is already insulated
Phase 6 (the cross-resolution join, #1) is deliberately basename-agnostic: parent_cells/join_coarse operate on coordinate values, and phase-6 tests go through open_hive outputs only β never raw leaf paths or basenames β so the join layer needs no changes when the rename lands.
Refs #1 (phase-6 plan, item 5). Blocked by englacial/zagg#299.
π€ from Claude
Tracking issue for the moczarr side of englacial/zagg#299 (template-hash leaf naming, multi-product hive stores β a breaking store change, pre-1.0 per the zagg#262 rationale). Opened per the phase-6 plan on #1 (item 5): the coordination zagg#299 asks for ("coordinate the rename with moczarr before its vectors harden") needs a home on this side.
Blocked on zagg landing englacial/zagg#299. Nothing here moves until the zagg-side decisions (per-product manifest shape, sidecar
shard_keyvalidation, hash truncation length) are final and the writer ships.Blast radius in moczarr (mirrors zagg#299's list)
{full_id}.zarrβ{hash}.zarr(windowed:{full_id}_{window}.zarrβ{hash}_{window}.zarr). The morton id survives only as the digit-tree path; the basename becomes product identity.convention.pysurface:check_node_invariant(assertsfull_id == head + digitsvia the basename β loses its self-validation; placement validation moves to the sidecar's recordedshard_key),split_leaf_name, andleaf_pathall assume the current basename grammar.morton_hive.jsonbecomes per-product ({hash}.morton_hive.jsonor a products map β open question on zagg#299); moczarr's manifest/coverage readers follow whichever shape zagg lands.tests/datafixture stores and the read-side golden parity vectors are pinned to{full_id}.zarrbasenames and must be regenerated from the flipped zagg writer in the same PR.What is already insulated
Phase 6 (the cross-resolution join, #1) is deliberately basename-agnostic:
parent_cells/join_coarseoperate on coordinate values, and phase-6 tests go throughopen_hiveoutputs only β never raw leaf paths or basenames β so the join layer needs no changes when the rename lands.Refs #1 (phase-6 plan, item 5). Blocked by englacial/zagg#299.