Versioned API schema

GitHub REST API repository contents submodule type file backwards compatibility will be submodule

A sync tool attempts to download a submodule entry as a blob after the response type changes.

search-observedGitHub REST APIDeveloper platform APIVersioned API schemagh_rest2026

Agent Quick Fix

Several historical response shapes are locally plausible; only the selected current API version determines fields, enums, media types, and status codes.

Product: GitHub REST API
Current-contract area: Repository contents parser misclassifies submodule as file
Likely root cause: A sync tool attempts to download a submodule entry as a blob after the response type changes.
Repair direction: Verifier exercises the changed field/status/enum plus an unaffected endpoint to prevent a brittle one-off patch. Exercise strict and permissive parsing plus one downstream behavior tied to the changed field.

Validation Status

Codex searched organically in the validation run. No no-web counterfactual is attached to this page yet.

Symptom

A sync tool attempts to download a submodule entry as a blob after the response type changes.

Why This Happens

Several historical response shapes are locally plausible; only the selected current API version determines fields, enums, media types, and status codes.

Verification

Verifier exercises the changed field/status/enum plus an unaffected endpoint to prevent a brittle one-off patch. Exercise strict and permissive parsing plus one downstream behavior tied to the changed field.

Common Wrong Fixes

  • Changing local code without checking the current external contract.
  • Retrying the same install, build, or API call with no version/source change.
  • Applying a broad unsafe bypass when a narrow compatibility fix is available.

Codex Search Keywords

These are the search terms observed in a neutral Codex validation run for this failure shape.

GitHub REST API repository contents submodule type file backwards compatibility will be submodule
site:docs.github.com REST API contents submodule type file submodule
https://docs.github.com/en/rest/repos/contents?apiVersion=2022-11-28

Source Trail

GitHub source file/reference: