Split GitHub guard write inventory by source - #11432
Conversation
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
There was a problem hiding this comment.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
Note
This error may be related to your runner configuration. You can now configure runners for Copilot code review separately from Copilot cloud agent by creating a copilot-code-review.yml file with your setup steps. Read the docs for details.
🔒 mcpg Read-Only Stress — defaultSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: INCONCLUSIVE
No writes succeeded. No leak detected. References: §32101183724
|
🔒 mcpg Read-Only Stress — gVisorSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: INCONCLUSIVE
No writes leaked. All enforcement surfaces either blocked or were inconclusive due to structural limitations of the test environment (backend read-only mode + unauthenticated
|
This comment has been minimized.
This comment has been minimized.
| A CLI write operation has a **guard coverage gap** if: | ||
| 1. It uses a mutating HTTP method (POST, PATCH, PUT, DELETE) against the GitHub API, AND | ||
| 2. There is no equivalent MCP tool name in the guard's `WRITE_OPERATIONS` or `READ_WRITE_OPERATIONS`, AND | ||
| 2. There is no equivalent MCP tool name in the guard's upstream MCP buckets (`WRITE_OPERATIONS` or `READ_WRITE_OPERATIONS`), CLI buckets (`CLI_WRITE_OPERATIONS` or `CLI_READ_WRITE_OPERATIONS`), synthetic bucket (`SYNTHETIC_WRITE_OPERATIONS`), or deprecated alias buckets (`DEPRECATED_WRITE_ALIASES` or `DEPRECATED_READ_WRITE_ALIASES`), AND |
| ### 5.4 Stale entries (bonus check) | ||
|
|
||
| Check if any entries in `WRITE_OPERATIONS` or `READ_WRITE_OPERATIONS` are **no longer in the upstream MCP tool list** and also have no equivalent in the CLI write-operations list. These are stale guard entries that should be removed. | ||
| Check if any entries in the upstream MCP buckets (`WRITE_OPERATIONS` or `READ_WRITE_OPERATIONS`) are **no longer in the upstream MCP tool list**. Do not report entries from `CLI_WRITE_OPERATIONS`, `CLI_READ_WRITE_OPERATIONS`, `SYNTHETIC_WRITE_OPERATIONS`, or the deprecated alias buckets as MCP drift; audit those against their explicit source buckets instead. |
|
@copilot address review feedback |
Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Addressed in |
🔒 mcpg Read-Only Stress — docker-sbxSurface coverage: MCP tool calls + proxied CLI (REST) + GraphQL mutations
Overall: INCONCLUSIVE
No writes leaked. No FAIL conditions observed. References: §32152693613
|
The GitHub guard mixed upstream MCP tools, GitHub CLI-only mutations, and deprecated compatibility aliases in the same write inventories. That made coverage drift checks noisy and obscured whether entries were real upstream MCP coverage or local synthetic guard coverage.
WRITE_OPERATIONSandREAD_WRITE_OPERATIONSas upstream MCP-derived buckets.is_write_operation()andis_read_write_operation()consult all relevant buckets.Added inventory invariants
binary_search.Updated coverage-checker contract