Repository navigation
Conversation
Validate node names before writing Zarr v3 metadata.
Keep the branch diff focused by preserving repository line endings.
Reject reserved Zarr v3 node names before metadata writes.
Cover array, group, hierarchy, and v2 compatibility cases.
Document the reserved-node-name validation change.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4551 +/- ##
=======================================
Coverage 94.90% 94.90%
=======================================
Files 96 96
Lines 14048 14057 +9
=======================================
+ Hits 13332 13341 +9
Misses 716 716
🚀 New features to boost your workflow:
|
Use the compatibility fix in mkdocstrings 1.0.8 so ReadTheDocs builds work with the current pymdownx.highlight API.
Use mkdocstrings 1.0.8, which handles the current pymdownx.highlight constructor API.
Use mkdocstrings 1.0.8, which handles the current pymdownx.highlight constructor API.
Preserve repository line endings after resolving the branch update.
|
Update: I have now personally reviewed and understand every change in the diff, and can explain why each is correct. The AI assistance and validation disclosures above remain accurate. |
Documentation build overview
26 files changed ·
|
|
The whole batch from 2026-11-09 06:06Z failed in the setup phase: every job hit I do not have admin rights on this repository, so I cannot re-run the failed jobs myself. Could a maintainer re-run them? The branch is also |
|
Synced the branch with |
Summary
Fixes #4453 by rejecting Zarr v3 node names that are reserved by the format: names beginning with
__, the exact namezarr.json, and names made only of periods. The validation runs before metadata is written, preventing hierarchies that cannot be discovered or reopened reliably. Zarr v2 behavior remains unchanged.For reviewers
The two
pyproject.tomlfiles now preserve LF line endings; the default diff shows the single dependency-pin change in each file.Please focus on the validation boundary across array creation, group creation, hierarchy creation, and metadata writes. The tests cover each reserved-name rule, nested paths, v2 compatibility, and the no-write-on-failure behavior.
Validation run locally:
pytest tests/test_group.py— 990 passed, 209 skippedpytest tests/test_metadata/test_io.py tests/test_api.py tests/test_array.py— 2942 passed, 765 skippedAI assistance was used to inspect the existing code path, draft the implementation and tests, and run the validation listed above. The PR author later stated in a follow-up comment that they personally reviewed and understood the final diff. The validation results above remain agent-executed.
Author attestation
TODO
docs/user-guide/*.mdchanges/