Skip to content

[BUG] Fix typing_extensions 4.16.0 Sentinel repr break in lowest-direct CI leg#563

Merged
Victor Schappert (vcschapp) merged 1 commit into
mainfrom
fix-typing-extensions-sentinel-repr
Jul 15, 2026
Merged

[BUG] Fix typing_extensions 4.16.0 Sentinel repr break in lowest-direct CI leg#563
Victor Schappert (vcschapp) merged 1 commit into
mainfrom
fix-typing-extensions-sentinel-repr

Conversation

@sethfitz

Copy link
Copy Markdown
Collaborator

Closes #554.

typing-extensions 4.16.0 (2026-07-02) changed the repr of its Sentinel from <MISSING> to MISSING. pydantic's experimental MISSING sentinel delegates its repr to typing_extensions.Sentinel, so the Feature doctest in overture-schema-system — which pins the rendered repr — breaks against 4.16.0.

The default CI legs install from uv.lock (pinned to 4.15.0) and pass; the lowest-direct leg re-resolves transitives to latest, picks up 4.16.0, and fails on every branch and PR, independent of the change under test.

Fix

  • Update the doctest expectation to the current repr (MISSING).
  • Re-lock typing-extensions to 4.16.0 so the default legs agree.
  • Floor typing-extensions>=4.16 as a direct dependency of overture-schema-system. The sentinel repr is load-bearing for its doctest, so flooring it makes the lowest-direct resolution deterministic at 4.16.0 rather than floating to whatever transitive is newest.

Verified locally: the doctest passes under both the committed lock (4.16.0) and a lowest-direct re-resolution (which now floors typing-extensions to 4.16.0). Independent of #551 — lands cleanly before it; once merged, #551 needs a rebase onto main to turn its lowest-direct leg green.

typing-extensions 4.16.0 (2026-07-02) changed the repr of its Sentinel
from <MISSING> to MISSING. pydantic's experimental MISSING sentinel
delegates its repr to typing_extensions.Sentinel, so the Feature doctest
in overture-schema-system -- which pins the rendered repr -- breaks
against 4.16.0.

The default CI legs install from uv.lock (pinned to 4.15.0) and pass;
the lowest-direct leg re-resolves transitives to latest, picks up
4.16.0, and fails on every branch and PR, independent of the change
under test.

- Update the doctest expectation to the current repr (MISSING).
- Re-lock typing-extensions to 4.16.0 so the default legs agree.
- Floor typing-extensions>=4.16 as a direct dependency of
  overture-schema-system. The sentinel repr is load-bearing for its
  doctest, so flooring it makes the lowest-direct resolution
  deterministic at 4.16.0 rather than floating to whatever transitive is
  newest.

Closes #554.

Signed-off-by: Seth Fitzsimmons <seth@mojodna.net>
@github-actions

Copy link
Copy Markdown

🗺️ Schema reference docs preview is live!

🌍 Preview https://staging.overturemaps.org/schema/pr/563/schema/index.html
🕐 Updated Jul 15, 2026 16:15 UTC
📝 Commit 5026ebf
🔧 env SCHEMA_PREVIEW true

Note

♻️ This preview updates automatically with each push to this PR.

@vcschapp
Victor Schappert (vcschapp) merged commit ea519ac into main Jul 15, 2026
22 of 23 checks passed
@vcschapp
Victor Schappert (vcschapp) deleted the fix-typing-extensions-sentinel-repr branch July 15, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

typing_extensions 4.16.0 Sentinel repr change breaks the lowest-direct CI leg

3 participants