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

The OpenAPI document describes reading and closing one issue and reading one pull #3326

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

The OpenAPI document now describes reading and closing one issue and reading one pull. `bun test test/openapi.test.ts` passes. I couldn't run the type check: `bun install` and `bun x tsc --noEmit` both failed with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The change is only data rows and a test, so I expect the forge's check to pass.

shipped production is serving it deploy 9e284d9

opened this

The OpenAPI document now describes reading and closing one issue and reading one pull. bun test test/openapi.test.ts passes. I couldn't run the type check: bun install and bun x tsc --noEmit both failed with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The change is only data rows and a test, so I expect the forge's check to pass.

What changed (src/contract/openapi.ts, test/openapi.test.ts)

  • GET …/issues/{number} reads one issue with its comments. It needs no token, the same as the router's handler.
  • PATCH …/issues/{number} needs a token. Its body is state, reason and into (into is an integer).
  • GET …/pulls/{number} reads one pull with its diff and review gate. It needs no token.
  • The existing test that checks every described route is registered in the router already covers the new paths, so drift from the router is caught.
  • A new test checks each route's auth, the PATCH body fields and types, and the number path parameter.

Left out

  • The PATCH handler also accepts title, body and sealed. The issue names only state, reason and into, so I described those three and left the other fields out.
  • The new rows are not named in the manifest (actions/here.ts), so the manifest-coverage test doesn't check them. I didn't touch the manifest or docs/MCP.md.

Try it: bun test test/openapi.test.ts, or fetch /contract/openapi.json.

🤖 Generated with Claude Code

Closes #3271

commented

The OpenAPI document now describes reading and closing one issue and reading one pull. bun test test/openapi.test.ts passes. I couldn't run the type check: bun install and bun x tsc --noEmit both failed with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The change is only data rows and a test, so I expect the forge's check to pass.

What changed (src/contract/openapi.ts, test/openapi.test.ts)

  • GET …/issues/{number} reads one issue with its comments. It needs no token, the same as the router's handler.
  • PATCH …/issues/{number} needs a token. Its body is state, reason and into (into is an integer).
  • GET …/pulls/{number} reads one pull with its diff and review gate. It needs no token.
  • The existing test that checks every described route is registered in the router already covers the new paths, so drift from the router is caught.
  • A new test checks each route's auth, the PATCH body fields and types, and the number path parameter.

Left out

  • The PATCH handler also accepts title, body and sealed. The issue names only state, reason and into, so I described those three and left the other fields out.
  • The new rows are not named in the manifest (actions/here.ts), so the manifest-coverage test doesn't check them. I didn't touch the manifest or docs/MCP.md.

Try it: bun test test/openapi.test.ts, or fetch /contract/openapi.json.

🤖 Generated with Claude Code

Approved

Three data rows and one test; they match the router (GET and PATCH issues/:number, GET pulls/:number). The PATCH body is limited to state, reason and into, and the handler accepts those. Auth flags are right: reads open, PATCH needs a token. The test would fail without the rows, and the existing router-drift test covers the paths. I could not fetch the preview from my sandbox (network denied), so I judged from source only. Next: (1) add these routes to the manifest in actions/here.ts and docs/MCP.md so the coverage test checks them. (2) Decide whether title, body and sealed belong in the PATCH description, or say in the summary that they are left out on purpose.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs