Updated just nowruns daily

All components

GitHub 0.1.0

99 of 100 API surfaces match the real GitHub response.

GitHubOperational
Baseline
23 Sept39 of 39 days matchedToday

1 Responses

Whether this twin's answers match a captured real vendor response.

Read comparison
compared against a committed capture of the real vendor response
Baseline
captured 79d ago, re-captured on dispatch rather than on the daily run
Write round trip
ran this run
MCP read leg
ran this run

GET /repos/:o/:r/commits/:ref/check-runs Ruled — GH-DIV-024

Nothing will ever verify this surface, and the reason is structural rather than pending. GitHub serves check-runs only under the Checks permission, which is available to a GitHub App and not to a fine-grained personal access token, so every capture attempt under FIDELITY_GH_TOKEN returns HTTP 403 regardless of scope (measured 2026-08-11).

The surface's committed golden was deleted in the same change that added this entry: the one it carried (total_count 0 with an empty check_runs array, captured 2026-05-30) bound no key, no leaf type and no element, so it published green having compared nothing — and because oldestUpstreamGoldenMeasuredAt reads golden capture instants, that one stale row also held twin-github's entire baseline clock in May while the other 35 surfaces refreshed. The honest state is unverified with this waiver naming it, not a green nobody earned.

Every surface this twin publishes (100)

REST · read comparison 33 of 34 match

GET /repos/:o/:rMatched
GET /repos/:o/:r/contentsMatched
GET /repos/:o/:r/contents/README.mdMatched
GET /repos/:o/:r/commitsMatched
GET /repos/:o/:r/commits/:refMatched
GET /repos/:o/:r/commits/:ref/statusMatched
GET /repos/:o/:r/commits/:ref/check-runsRuled GH-DIV-024
GET /repos/:o/:r/compare/:baseheadMatched
GET /repos/:o/:r/issuesMatched
GET /repos/:o/:r/issues (closed filter)Matched
GET /repos/:o/:r/issues/:nMatched
GET /repos/:o/:r/issues/:n/commentsMatched
GET /repos/:o/:r/issues/:n/labelsMatched
GET /repos/:o/:r/labelsMatched
GET /repos/:o/:r/collaboratorsMatched
GET /repos/:o/:r/pullsMatched
GET /repos/:o/:r/pulls/:nMatched
GET /repos/:o/:r/pulls/:n/filesMatched
GET /repos/:o/:r/pulls/:n/reviewsMatched
GET /repos/:o/:r/pulls/:n/commentsMatched
GET /repos/:o/:r/pulls/:n/commitsMatched
GET /repos/:o/:r/branchesMatched
GET /repos/:o/:r/branches/mainMatched
GET /repos/:o/:r/branches/featureMatched
GET /repos/:o/:r/milestonesMatched
GET /repos/:o/:r/tagsMatched
GET /repos/:o/:r/releasesMatched
GET /repos/:o/:r/releases/latestMatched
GET /repos/:o/:r/releases/tags/:tagMatched
GET /search/issuesMatched
GET /search/repositoriesMatched
GET /search/codeMatched
GET /search/usersMatched
GET /userMatched

MCP · write round trip 17 of 17 match

MCP create_branchMatched
MCP create_or_update_fileMatched
MCP issue_writeMatched
MCP add_issue_commentMatched
MCP create_pull_requestMatched
MCP merge_pull_requestMatched
MCP create_repositoryMatched
MCP fork_repositoryMatched
MCP push_filesMatched
MCP pull_request_review_writeMatched
MCP add_reply_to_pull_request_commentMatched
MCP update_pull_requestMatched
MCP update_pull_request_branchMatched
MCP delete_fileMatched
MCP get_latest_releaseMatched
MCP get_release_by_tagMatched
MCP get_tagMatched

REST · write round trip 32 of 32 match

POST /user/reposMatched
POST /orgs/:owner/reposMatched
POST /repos/:owner/:repo/forksMatched
POST /repos/:owner/:repo/git/refsMatched
PUT /repos/:owner/:repo/contents/*Matched
POST /repos/:owner/:repo/labelsMatched
POST /repos/:owner/:repo/issuesMatched
POST /repos/:owner/:repo/issues/:number/commentsMatched
PATCH /repos/:owner/:repo/issues/comments/:comment_idMatched
DELETE /repos/:owner/:repo/issues/comments/:comment_idMatched
POST /repos/:owner/:repo/issues/:number/labelsMatched
DELETE /repos/:owner/:repo/issues/:number/labels/:nameMatched
POST /repos/:owner/:repo/issues/:number/assigneesMatched
PATCH /repos/:owner/:repo/issues/:numberMatched
POST /repos/:owner/:repo/milestonesMatched
PATCH /repos/:owner/:repo/milestones/:numberMatched
DELETE /repos/:owner/:repo/milestones/:numberMatched
PUT /repos/:owner/:repo/collaborators/:usernameMatched
GET /repos/:owner/:repo/collaborators/:usernameMatched
POST /repos/:owner/:repo/pullsMatched
PATCH /repos/:owner/:repo/pulls/:numberMatched
POST /repos/:owner/:repo/pulls/:number/commentsMatched
POST /repos/:owner/:repo/pulls/:number/comments/:comment_id/repliesMatched
POST /repos/:owner/:repo/pulls/:number/reviewsMatched
PUT /repos/:owner/:repo/pulls/:number/update-branchMatched
PUT /repos/:owner/:repo/pulls/:number/mergeMatched
DELETE /repos/:owner/:repo/git/refs/heads/:branchMatched
DELETE /repos/:owner/:repo/contents/*Matched
POST /repos/:owner/:repo/statuses/:shaMatched
POST /repos/:owner/:repo/check-runsMatched
POST /repos/:owner/:repo/releasesMatched
GET /search/commitsMatched

MCP · read comparison 17 of 17 match

MCP get_meMatched
MCP search_repositoriesMatched
MCP search_codeMatched
MCP search_usersMatched
MCP search_issuesMatched
MCP search_commitsMatched
MCP get_file_contentsMatched
MCP list_commitsMatched
MCP get_commitMatched
MCP issue_readMatched
MCP list_issuesMatched
MCP list_repository_collaboratorsMatched
MCP pull_request_readMatched
MCP list_pull_requestsMatched
MCP list_branchesMatched
MCP list_tagsMatched
MCP list_releasesMatched

2 Tool list

Whether this twin offers the same MCP tools the vendor's own server declares. A name-and-contract comparison with no response in it.

GitHub twin34
Vendor tools/list46

34 shared names, on one scale.

Both declare it and the contracts agree 34

add_issue_comment
add_reply_to_pull_request_comment
create_branch
create_or_update_file
create_pull_request
create_repository
delete_file
fork_repository
get_commit
get_file_contents
get_latest_release
get_me
get_release_by_tag
get_tag
issue_read
issue_write
list_branches
list_commits
list_issues
list_pull_requests
list_releases
list_repository_collaborators
list_tags
merge_pull_request
pull_request_read
pull_request_review_write
push_files
search_code
search_commits
search_issues
search_repositories
search_users
update_pull_request
update_pull_request_branch
Measured against digital-twins 0cc3559 · the twin's docs page · status.json