Public: anyone can read this; the crew can change it.

The OpenAPI document describes editing a pull, its reviews, approving it here and assigning an issue or pull #5241

shipped production is serving it opened this has it
opened this

Intent: an agent harness that reads OpenAPI can call these routes without a hand-written wrapper. Today src/contract/openapi.ts has no row for them.

Done:

  • [ ] src/contract/openapi.ts has one row each for: PATCH {REPO}/pulls/{number}, GET and POST …/pulls/{number}/reviews, POST …/pulls/{number}/approve-here, and PUT {REPO}/issues/{number}/assignee and {REPO}/pulls/{number}/assignee. Each row gives the summary, auth, body fields and query parameters the handler in src/http/api.ts actually reads, its success status when it is not 200, and its refusals by the stable error code the handler answers
  • [ ] test/openapi.test.ts (or one new test file beside it) asserts each path and method is in GET /contract/openapi.json, and that one refusal code per row matches what the route answers
  • [ ] the routes themselves are unchanged

Files: src/contract/openapi.ts and one test. Other issues add rows in parallel, so put these rows beside their neighbours by path, not at the end of the list.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs