π€ from Claude
Design record: docs/design/sparse_coverage.md Β§7 (D11/D12), tracked on #198. discuss β the write-time layout (#199) is settled; this second-pass process has genuinely open design questions.
Settled framing (from the design discussion)
- Overview generation is a separate post-process sweep, never write-time β it aggregates across worker-shard boundaries, so shard workers can't produce it anyway.
- Overview zarrs live at ancestor nodes of the hive tree, explicitly marked (
role: overview + source order + aggregation method in attrs). Never inferred from position: a shallow zarr may equally be coarse source in a sparse region.
- Full pyramid storage cost is geometric ~1/3 extra (4 children per order).
- The sweep is idempotent and non-load-bearing: it can fail or lag without corrupting anything. It also owns MOC regeneration and any optional derived interop artifacts (e.g. a
zarr.open-able root hierarchy or consolidated index β the D12 escape hatch, generated as a cache, never required).
To discuss
- Aggregation semantics per field: mean/count compose trivially up-tree; t-digests merge natively; which fields degrade (e.g. located/ragged CSR fields β summarize, subsample, or omit at overview orders?).
- Level schedule: every order up to base? Sparse levels (e.g. every 2β3 orders)? Declared in
morton_hive.json's pyramid section β who writes that declaration, template time or sweep time?
- Orchestration: same Lambda fan-out machinery over ancestor cells (bottom-up levels, each level reading the one below), or a coarser local/batch job? Reuses the leaves-to-root construction argument from
docs/design/architecture.md.
- Trigger: manual CLI, end-of-run hook from the dispatcher, or scheduled?
- Walker/read interplay: display readers may stop at an overview; analysis readers must not conflate it with source β is the
role attr enough, or does the manifest also enumerate overview orders for zero-open filtering?
π€ from Claude
Design record:
docs/design/sparse_coverage.mdΒ§7 (D11/D12), tracked on #198.discussβ the write-time layout (#199) is settled; this second-pass process has genuinely open design questions.Settled framing (from the design discussion)
role: overview+ source order + aggregation method in attrs). Never inferred from position: a shallow zarr may equally be coarse source in a sparse region.zarr.open-able root hierarchy or consolidated index β the D12 escape hatch, generated as a cache, never required).To discuss
morton_hive.json's pyramid section β who writes that declaration, template time or sweep time?docs/design/architecture.md.roleattr enough, or does the manifest also enumerate overview orders for zero-open filtering?