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

The OpenAPI document describes forges and the fleet: forges, sizes, claim links, fleet ops, front, health and drills #4873

shipped production is serving it opened this has it
opened this

Intent: a harness that makes forges for people (P4, a forge in a link) can do it through OpenAPI alone.

Done:

  • [ ] rows in src/contract/openapi.ts for GET/POST /api/v1/forges, GET /api/v1/forges/sizes, POST /api/v1/forges/{name}/claim-link, GET /api/v1/forge, GET /api/v1/fleet/graph and /api/v1/fleet/ops, GET /api/v1/fleet/ops/{id}, POST /api/v1/fleet/ops and /api/v1/fleet/ops/{id}/undo, GET /api/v1/front, GET /api/v1/health, GET /api/v1/map, POST /api/v1/heartbeat and POST /api/v1/drills, placed right after the existing DELETE {REPO}/issues/{number}/dependencies/{blocker} row
  • [ ] the claim-link row says that the link is shown once, and the heartbeat and drills rows say who may call them

Each row says what the route answers (the shape in its summary, exactly as the handler answers today), whether it needs a token (auth) and which scope, and its body fields, query and refusals, as the existing rows do. Use the methods src/http/api.ts registers. If a route needs "put" and #4844 has not yet added it to the Route method type, leave that route out and say so in the pull; do not add it here, because other issues would collide on that line. test/openapi.test.ts must still pass; add test/openapi-oa-forges.test.ts asserting each new path and method is in the served document. Other issues add rows in parallel, so put these exactly where named and nowhere else.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs