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.

GitHub REST APIDeveloper platform APIVersioned API schemagh_rest2026

Agent Quick Fix

Repair against the current GitHub REST API contract, then keep the change narrow and source-backed.

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.

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.

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: