Sync allow_rotated / allow_unparseable_crs tiers in geotiff_release_contract.md (#2389)#2391
Merged
Conversation
…ontract.md (#2389) The contract page lagged the runtime tier after #2340 demoted the two permissive reader opt-ins from advanced to experimental. The companion release-gate page and SUPPORTED_FEATURES already agree on experimental, so the contract was the lone outlier. Also fix the codec.jpeg tier string from "internal-only" to "internal_only" so every tier string in the table matches the runtime key, and align the matching section heading. Closes #2389
brendancol
commented
May 26, 2026
Contributor
Author
brendancol
left a comment
There was a problem hiding this comment.
PR Review: Sync allow_rotated / allow_unparseable_crs tiers in geotiff_release_contract.md (#2389)
Four-line doc-sync PR. The two advanced → experimental rows match the explicit ask in the issue. The diff also catches a third tier-string mismatch in the same table (codec.jpeg: internal-only → internal_only). After the change, every key the contract page lists agrees with both SUPPORTED_FEATURES and release_gate_geotiff.rst.
Blockers (must fix before merge)
- None.
Suggestions (should fix, not blocking)
- No automated check pins
geotiff_release_contract.mdagainstSUPPORTED_FEATURES. The PR fixes the current drift but the same drift can re-appear the next time a key gets re-tiered in_attrs.py.test_release_gate_2321.pyonly parses the.rstgate page, not this.mdcontract page. Worth a follow-up to add a parity test that walks the markdown table and compares each row's tier column againstSUPPORTED_FEATURES[key]. Out of scope for this PR, but the issue itself exists because that lock was missing.
Nits (optional improvements)
- The heading rename
### internal-only→### internal_only(geotiff_release_contract.md:46) goes slightly past the issue's "two rows" wording. The heading is the tier label and the body prose already saysinternal_only, but it does change the MyST anchor. A repo-wide grep for#internal-onlycame back empty, so no link is broken. Flagging for traceability. - geotiff_release_contract.md:52 still uses "internal-only" as an English compound adjective ("Do not build on internal-only features."). That is correct hyphenation in prose, not a tier string, so it should stay. Noting here so a future reviewer does not "fix" it.
What looks good
- Doc edit is small and contained; no unrelated changes pulled in.
- Commit message explains why (post-#2340 drift), not just what.
- Existing tier tests still pass locally.
Checklist
- Tier strings on every listed key now match
SUPPORTED_FEATURES. - Tier strings on every shared key now match
release_gate_geotiff.rst. - No code change. Runtime behaviour unchanged.
- No anchor / cross-reference breakage from the heading rename.
- No new tests needed (issue notes existing tests cover the source of truth).
) Add a small parser test that walks the contract page's feature tier table and asserts each row's tier column matches SUPPORTED_FEATURES[key] verbatim. test_release_gate_2321 already locks the sibling .rst gate page; this fills in the missing markdown side and would have caught both the #2381 and #2389 drifts before they shipped. Addresses the parity-test suggestion from the PR #2391 self-review, which the original issue scoped to a follow-up. Folds the follow-up (#2392) into this PR since the test is mechanical and small.
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.
Summary
reader.allow_rotatedandreader.allow_unparseable_crsfromadvancedtoexperimentalingeotiff_release_contract.mdso the contract page agrees withSUPPORTED_FEATURESandrelease_gate_geotiff.rstafter the Epic: GeoTIFF release contract and feature tiering #2340 demotion.codec.jpegfrominternal-onlytointernal_onlyso every tier string in the table is a verbatim runtime key, and align the matching section heading.test_supported_features_tiers_2137.py,test_release_gate_2321.py) still pass locally.Closes #2389. Follow-up from #2381 / PR #2388.
Test plan
pytest xrspatial/geotiff/tests/test_release_gate_2321.py xrspatial/geotiff/tests/test_supported_features_tiers_2137.py