PR review pages you publish are now strictly validated, with a clear refusal message when something is off.
What's wrong with this entry?
PR review artifacts now go through a strict validator covering what the page may declare and what its approve action may do, with a specific refusal string per failure.
- The capabilities declaration may only carry
mcpandself, andselfmust be the empty-object marker. - The mcp manifest must name exactly one GitHub connector and must declare exactly the live read tool and the approve tool, once each.
- The live slot must be a read-shaped tool: "a read verb prefix such as get_/list_/search_, or an entity_read suffix such as pull_request_read / issue_read".
- The approve stamp's inputs must all be the anchored PR's own owner/repo/number, or an approve word under an event-named key.
live.shaPathmust point at a head sha field.
stamp.input does not carry an explicit approve value under an event-named key
Strings lifted out of the shipped bundle, so the claim above can be checked against them.