Known differences

GitHub

A GitHub organization that answers REST v3, GraphQL v4, Git smart HTTP reads and webhooks, plus the GitHub MCP server's tools.

Vendor reference: https://docs.github.com/rest ↗. Machine-readable: compat/github.json.

Surfaces

KindPathNotes
REST/REST API v3 (repos, contents, git data, issues, pulls, releases, search, Actions, checks)
GraphQL/graphqlGraphQL API v4
Git/<owner>/<name>.gitsmart HTTP clone and fetch, read-only
Webhooksrepository and organization hooksevent deliveries to your endpoint
MCP/mcpStreamable HTTP, the github-mcp-server tool set

API versions: REST API v3, GraphQL API v4

Supported

Not supported

Known differences and test guidance

ScenarioDifference from GitHubIn your tests
GitHub ActionsWorkflows do not execute; runs, jobs, logs and artifacts are derived from commit history, and every fourth run fails.Do not assert on what a workflow did; assert that your client reads runs, jobs and logs.
Merging a pull requestThe merge flips state and mints a merge sha; there is no three-way merge or conflict detection, and mergeable is stored, not computed.Do not test merge conflicts against the replica.
ChecksChecks are green unless the run is one of the seeded failures.Do not expect checks to react to your commits.
SearchA qualifier parser over the stored data; relevance ordering, best-match scoring and code-search tokenization differ.Assert that the expected item is found, not on rank.
Branch protectionThe default branch reports a protection object, but nothing enforces it.Do not assert that a push or merge to a protected branch is refused.
Rate limits/rate_limit is static; real throttling only comes from fault injection.Inject throttle or quota_limit to test backoff.

Fault injection

KeyWhat the client sees
throttle403 "API rate limit exceeded" with Retry-After and X-RateLimit-Remaining 0, GitHub's primary limit
fail_nextThe next N calls fail as throttle does, then clear
quota_limit429 with the secondary-rate-limit message and Retry-After
error_rate500 "Server Error" for the given fraction of calls
latency_msFixed added latency on every data-plane request

Applies to every system