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

The OpenAPI document describes an issue's teams, labels and private repository, and a pull's labels #5040

shipped production is serving it opened this has it
opened this

Intent: a harness can triage an issue — teams, labels, the private fix repository — through OpenAPI alone.

Done:

  • [ ] src/contract/openapi.ts has a row for GET and PUT {REPO}/issues/{number}/teams, PUT {REPO}/issues/{number}/labels and PUT {REPO}/pulls/{number}/labels (the Route type's method gains put, and the document builder emits it), and POST {REPO}/issues/{number}/private, each with auth, the body and query fields its handler reads, its success status when not 200, and the refusals it answers by stable error code
  • [ ] each summary says the answer's shape exactly as the handler answers it today
  • [ ] test/openapi.test.ts still passes, and a new test asserts each new path and method is in the served document (GET /contract/openapi.json)

Files: src/contract/openapi.ts, one new test. Other issues add OpenAPI rows in parallel: add these as one block after the last ${REPO} row and before /mcp, and change no other row. Do not change any route.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs