Skip to content

test(indexing): broaden planner property coverage - #4346

Merged
d-v-b merged 16 commits into
zarr-developers:mainfrom
d-v-b:codex/indexing-planner-properties
Sep 14, 2026
Merged

d-v-b merged 16 commits into
zarr-developers:mainfrom
d-v-b:codex/indexing-planner-properties

Conversation

@d-v-b

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

Copy link
Copy Markdown
Contributor

This AI-authored PR ensures that zarr-indexing chunk planner machinery is tested against chunk grids with negative chunk indices.

🤖 AI text below 🤖

Depends on #4345. This draft targets upstream main, so its diff includes the prerequisite audit commits until that PR merges. Follow-up-only diff.

The planner's generated dependency-graph tests previously used zero-origin requests and a single nonnegative fixed grid. Expand the pointwise oracle to signed request origins, translated custom grids with signed chunk IDs, arbitrary broadcast ArrayMap dependencies, independent affine axes, ConstantMaps, offsets and strides, duplicate storage points, and empty requests. The oracle enumerates small transforms independently of planner grouping and verifies exact request/storage pairs, each request position exactly once, and the touched chunk set.

Add separate generated checks for shared affine dependencies and mixed affine/array dependencies, which the planner currently rejects explicitly. No production behavior changes.

Validation: 1,523 package tests passed; all applicable prek checks passed. Temporarily removing the negative chunk-ID guard in _chunk_keys made the expanded property fail on an out-of-bounds chunk-local coordinate (1 failed, 121 deselected); production code was restored and the 122 planner tests passed again. No new production defects were found.

Corresponding fork review: d-v-b#334.

All four final follow-up heads were also combined and verified together: 1,633 package tests/doctests passed, no skips, and the strict documentation build passed.

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
@github-actions github-actions Bot added the needs release notes Automatically applied to PRs which haven't added release notes label Sep 13, 2026
@read-the-docs-community

read-the-docs-community Bot commented Sep 13, 2026

Copy link
Copy Markdown

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
@d-v-b
d-v-b marked this pull request as ready for review September 14, 2026 09:49
@d-v-b
d-v-b merged commit 1f13742 into zarr-developers:main Sep 14, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs release notes Automatically applied to PRs which haven't added release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant