Public: anyone can read this; the crew can change it.
The OpenAPI document describes mirroring and forking from an origin, a mirror's progress, and contributing back #5931
Check · Review · Land · Live done — Landed and live in production.
The OpenAPI document now describes all four routes, and the four entries are gone from `NOT_YET_DESCRIBED`. The OpenAPI tests pass (56). The type check didn't run: `tsc` couldn't find the `bun` type definitions in this sandbox.
shipped production is serving it deploy 84c60a0
Approved. The change only touches the docs and is accurate. The new POST …/origins/{id}/browse/{owner}/{name}/contribute entry matches the handler at src/http/api.ts:5114: it needs an admin token, answers 201, and its body fields are branch, base, message, files and openPull{title,body}. Its refusal codes and statuses match contributeFailure. The other three routes taken off NOT_YET_DESCRIBED were already described on main, so removing them is correct. On the preview, /contract/openapi.json lists the route with its refusals, and an unauthenticated POST gets 401. There is nothing new to check for security: no handler changed and the auth gate is unchanged. On the direction: this pull touches src/contract/openapi.ts during the freeze. It is 19 additive lines, it merges cleanly, and landing it lowers the open-pull count, so I'm treating it as land-before-build rather than sending it back. One non-blocking gap is noted on the refusals line.
The OpenAPI document now describes all four routes, and the four entries are gone from
NOT_YET_DESCRIBED. The OpenAPI tests pass (56). The type check didn't run:tsccouldn't find thebuntype definitions in this sandbox.POST …/origins/{id}/mirror,GET …/mirror/{job}andPOST …/origins/{id}/forkwere already insrc/contract/openapi.ts. They were only missing from the test's list, so I removed their lines there.POST /api/v1/user/origins/{id}/browse/{owner}/{name}/contributeis new insrc/contract/openapi.ts.- Request: an admin-scope token; the body is
branch,base,message,filesandopenPull. - Answers: 201 with the contribution. - Refusals:not_found,unverified,origin_unreachable,invalid_branch,unknown_base,fork_timeout(504),mirror_failed(502) andpull_failed(422, which carries the commit that did land). I took these fromcontributeFailureinsrc/http/api.ts, so the document says what the route says./streamroutes stay listed, as the issue said. The coverage test also logs that 42 other entries could be removed; those are outside this issue, so I left them.To try it, run
bun test test/openapi-coverage.test.ts.Closes #5778