PH1.7 — API surface: every DTO and endpoint from docs/09-api.md stubbed, openapi.json committed #15

Open
opened 2026-09-11 09:02:10 +00:00 by bart · 0 comments
Collaborator

Parent

Row PH1.7 in docs/12-implementation-plan.md (branch, owned paths and doc section are defined there).

What to build

Every endpoint in docs/09-api.md exists with its final signature, DTOs and role requirements, returning 501 until its track fills it in. backend/openapi.json is committed and is the frontend's frozen contract; from here every frontend track generates its client once.

Acceptance criteria

  • Every path/method in docs/09-api.md appears in openapi.json with typed request/response DTOs
  • Each stub enforces its role requirement (403 before 501)
  • npm run api:gen against the committed spec compiles in the frontend
  • CI freshness check passes for the committed openapi.json
  • Contracts are marked sealed in docs/12 after merge

Blocked by

  • #10 — Schema 0003: planning tables and typed mapped classes
  • #11 — API platform: pagination, idempotency, ETag, soft-delete repository, crud_router factory
  • #12 — Engine contracts: PlanningSnapshot, PlanResult, Finding, projector/scorer I/O, task payloads, code lists, fixtures
## Parent Row **PH1.7** in `docs/12-implementation-plan.md` (branch, owned paths and doc section are defined there). ## What to build Every endpoint in docs/09-api.md exists with its final signature, DTOs and role requirements, returning `501` until its track fills it in. `backend/openapi.json` is committed and is the frontend's frozen contract; from here every frontend track generates its client once. ## Acceptance criteria - [ ] Every path/method in docs/09-api.md appears in `openapi.json` with typed request/response DTOs - [ ] Each stub enforces its role requirement (403 before 501) - [ ] `npm run api:gen` against the committed spec compiles in the frontend - [ ] CI freshness check passes for the committed `openapi.json` - [ ] Contracts are marked sealed in docs/12 after merge ## Blocked by - #10 — Schema 0003: planning tables and typed mapped classes - #11 — API platform: pagination, idempotency, ETag, soft-delete repository, crud_router factory - #12 — Engine contracts: PlanningSnapshot, PlanResult, Finding, projector/scorer I/O, task payloads, code lists, fixtures
Sign in to join this conversation.
No labels
ready-for-agent
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
patrick/Polaris#15
No description provided.