Re-vendor the kitchen_sink spec fixture under the authalic convention - #42
Merged
Conversation
…xtures # Conflicts: # CHANGELOG.md
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #41.
Re-vendors the
kitchen_sinkspec-conformance fixture under mortie 0.9.8's authalic latitude convention, tracking englacial/zagg#441 (merged 2026-08-16; the fixture re-pin is zagg commit30866c7d, "re-pin the kitchen_sink spec fixture + content hashes under authalic (issue #438)"). Without this, moczarr's O11 hash gate and its located-word goldens are pinned to pre-authalic morton words and would diverge from any zagg store written on 0.9.8.Drift list — exactly what moved
Refreshed from englacial/zagg
mainatb9347561:tests/data/spec/kitchen_sink/1/1/2/1/3/11213.zarr/6/h_tdigest_signal_locations/c/0tests/data/spec/kitchen_sink/1/1/2/1/3/11213.zarr/6/h_tdigest_noise_locations/c/0tests/data/spec/kitchen_sink.expected.jsoncombinedThe
expected.jsondiff in full — 10 changed lines, nothing else:Provenance / docs (no bytes):
tests/test_spec_conformance.py— fixture pin9e11e65→b9347561, plus an honest statement of the vendoring scope (see "Questions for review").tests/test_composition.py—TestStoreReadBindingfixture pin9e11e65→b9347561; the vendored6/compositionarray is byte-identical at the new sha (re-verified bycmp/diff), so this is a pure pin advance.CHANGELOG.md— one Unreleased bullet, so a downstream holding its own copy of the zagg vectors knows to refresh.Nothing in
src/changed. No reader behavior changed.How it was verified
Blast radius was measured before anything was edited, by exporting zagg's
tests/data/specat both shas and diffing whole trees against the vendored copy:diff -r zagg@9e11e65/tests/data/spec/kitchen_sink tests/data/spec/kitchen_sink→ identical, i.e. the vendored copy was exactly what PR Repin spec provenance to zagg main 9e11e65 #33 pinned (nothing local had drifted).diff -r zagg@b9347561/… kitchen_sink→ the two*_locations/c/0chunks, plus the pre-existing staleness listed below.minimalandminimal.expected.json→ byte-identical atb9347561(authalic does not move them;minimalhas no located field).tests/data/composition/{c/0,zarr.json}vskitchen_sink/…/6/composition/atb9347561→cmp/diffclean.57c41348…,ffd8bcc3…,05102b04…, and each of the 7 pre-authalic words): every hit is insidekitchen_sink.expected.json— no frozen located-word or parity-hash literal is duplicated insrc/,tools/,docs/or any other test.git show --stat 30866c7dis the two chunks,expected.json, and regeneration timestamps — no payload/count/morton/compositionarray moved.Testing
Env:
uv sync --extra test --extra zagg --extra xdggs→ zagg 0.44.0, mortie 0.9.8 (so the live-zagg parity legs ran, not skipped).origin/main(d3b4115): 768 passed, 2 skipped.test_hhdc.py:230("runs only in a core (no-zagg) environment") and adask-gatedtest_moc_indexcase.ruff check src tests toolsclean;ruff format --checkclean (44 files).The gate that matters here is
TestDecodedValues::test_o11_content_hashes_match(moczarr's own §5 O11 recipe over the refreshed chunks reproduces the new zagg-recorded hashes, includingcombined) andTestStrataFields::test_located_strata_match_expected(decodeduint64location words equal the refreshed goldens, byte-exact).Questions for review
The vendored fixtures were already stale in a second, unrelated way — I deliberately did not fix that here.
diff -ragainst zaggmainalso reports, for bothminimalandkitchen_sink:9e11e65:1/1/2/1/3/all.pyramid.stats.json,1/1/2/1/3/all.pyramid.zarr/**,1/1/2/1/3/granules.json;morton_hive.json: the manifest pyramid declaration went from{"orders": [], "aggregation": {}}to thezagg-pyramid/2block (overviews+overviewfields), i.e. pyramid v2: (node, cells) level grammar, validation, and the zagg-pyramid/2 spec revision englacial/zagg#382/#384;11213.zarr/zarr.jsonandmorton_hive.json.None of that is #441 and none of it is read by this suite (every byte these tests touch is identical at
b9347561), so pulling it in would have added ancestor overview zarrs to the fixture tree — a change of what the vectors are, with its own effect on leaf enumeration — under a fixture-refresh PR. I reworded thetest_spec_conformancedocstring to say precisely what is vendored (the leaf subtree +morton_hive.json) rather than keep the now-false blanket "vendored byte-identical, re-verifieddiff -r". Want a follow-up issue to adopt the pyramid-era fixture surface, or is the leaf-subset vendoring the intended steady state?I left the two spec-text pins alone (
src/moczarr/ragged.pyandsrc/moczarr/composition.pyboth say the § references are "re-checked at9e11e65"). Unlike the fixture pins, those assert a read-through ofdocs/specification.md, which grew +656/−45 lines between the two shas. §3 (composition) is byte-identical, socomposition.pycould move safely — but §1/§2 gained a new reader-relevant MUST: §2.0weights(GEDI waveform aggregation template: photon-currency digests (plan) englacial/zagg#422), where a digest payload array declarescountsvsfluxand "a reader MUST strict-check the value". moczarr does not gate onweightstoday, so advancingragged.py's pin would assert a re-check that has not happened. Following PR Repin spec provenance to zagg main 9e11e65 #33's precedent (it declined the §5.3 overview-sidecar sentence and filed Read (and verify) the D20 sidecars zagg now writes for overview leaves #32 instead), this looks like its own issue rather than a line in a fixture PR — confirm, and I'll leave both spec-text pins at9e11e65until it's worked?tests/data/strata_hivealso carries located words, generated from a much older zagg checkout (166e908, recordedzagg_version: 0.39.1.dev44+g166e908e4). zagg#441 did not touch it and it is self-consistent, so it is untouched here — flagging only so the asymmetry is on the record.