Skip to content

fix(indexing): audit factual contracts and close validation gaps - #333

Closed
d-v-b wants to merge 13 commits into
mainfrom
codex/zarr-indexing-factual-audit
Closed

d-v-b wants to merge 13 commits into
mainfrom
codex/zarr-indexing-factual-audit

Conversation

@d-v-b

@d-v-b d-v-b commented Sep 13, 2026

Copy link
Copy Markdown
Owner

🤖 AI text below 🤖

Correct factual claims in zarr-indexing's documentation, source comments, examples, and testing contracts, and fix the correctness defects exposed while checking those claims.

Runtime changes:

  • Reject mixed boolean/integer wire arrays and coordinates outside intp before NumPy can coerce or wrap them.
  • Reject computed canonical bounds outside signed 64-bit range and enforce the existing input-rank limit consistently across message forms, preserving normalization idempotence.
  • Route intersections with shared affine/index-array dependencies to the explicit unsupported path instead of returning extra coordinates. Planning this mixed case now raises NotImplementedError, consistent with its general classification.
  • Group signed chunk-coordinate tuples without collisions; distinct chunks such as (-1, 0) and (0, -1) must remain separate.

Expand regression coverage across integer widths, indexing modes, origins, normalization boundaries, map order, negative chunk IDs, repeated points, and one-/two-axis dependencies. Keep main's existing unsigned-selector fix.

The documentation now distinguishes structural box classification from density/order, actual NumPy compatibility from tested examples, metadata inspection from tokenization reads, and parent partition context from direct part resolution. It also corrects TensorStore wire/partition comparisons, cache and benchmark claims, and source integration descriptions. Finite index_array_bounds remain unenforced during engine loading and are explicitly documented as a limitation.

Validation against fork main ba883a556:

  • Full package tests and doctests: 1,521 passed, no skips, including TensorStore 0.1.84 and Dask 2026.8.0.
  • Strict documentation build passed.
  • Applicable changed-file repository checks passed, including Ruff, mypy, codespell, and numpydoc.
  • Package Pyright check: 0 errors, 90 warnings with the Hatch interpreter explicitly selected.

Correct mathematical API documentation to match supported coordinate, grid, and chunk projection contracts.

Assisted-by: Codex:GPT-6
Retain the existing unsigned selector fix and update the unsupported mixed-dependency error assertion for general intersection routing.

Assisted-by: Codex:GPT-6
Use lexicographic tuple grouping when chunk indices contain negative values. Cover shared one-axis and two-axis array dependencies, repeated points, and extreme signed coordinates.

Assisted-by: Codex:GPT-6
Remove implementation history and unsupported historical claims from source and test docstrings. Distinguish immutable coordinate mappings from mutable source values.

Assisted-by: Codex:GPT-6
* fix: complete imagecodecs codec package hints

Assisted-by: Codex:GPT-6

* docs: associate codec changelog with PR 338

Assisted-by: Codex:GPT-6

* docs: associate codec changelog with upstream PR 4351

Assisted-by: Codex:GPT-6
@d-v-b

d-v-b commented Sep 30, 2026

Copy link
Copy Markdown
Owner Author

🤖 AI text below 🤖

The agent closed this draft as superseded: its head is byte-identical under packages/zarr-indexing to the squash commit that merged upstream as zarr-developers#4345.

@d-v-b d-v-b closed this Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant