Skip to content

feat(api): 1b — Route shell (all 25 routes as 501 stubs) #18

@neversettle17-101

Description

@neversettle17-101

Part of #10 — Go HTTP Daemon lane.

🧭 Umbrella issue. The original "all 25 routes as 501 stubs" scope has been split into three reviewable sub-PRs after a REST audit of the existing TS surface revealed (a) the route count was undercounted and (b) several endpoints violate REST conventions. The Go shell corrects them; legacy paths are NOT registered and the mapping is documented via planned.legacy arrays on the 501 stubs.

Sub-issues

Closes when all three merge.

REST audit summary (locked across the three PRs)

# TS violation Go fix
R1 POST /api/spawn outside /sessions/ Canonical POST /api/v1/sessions. Legacy not registered.
R2 /message + /send duplicate POSTs Canonical POST /sessions/{id}/messages. Both legacy paths unregistered.
R3 PUT /projects/:id aliased to PATCH PATCH only. PUT not registered → 405.
R4 POST /projects/:id overloaded for repair Canonical POST /projects/{id}/repair. Legacy unregistered.
R5 Degraded GET returns 200 with error field Discriminator {project, status:"ok"|"degraded"}.
R6 Inconsistent ok/success flags Drop on 2xx; return affected resource.
R7 GET /sessions/patches bespoke projection Kept for parity; long-term sparse-fieldset candidate.
R8 POST /:id/kill|restore|remap RPC-style Kept — state-machine commands, REST-justified.
R9 Bare {error: msg} Locked envelope {error, code, message, requestId, details?}.

Locked decisions

Out of scope (across all three)

  • Real handler logic — handler-impl phase.
  • Reading TS config files / replicating Next-specific helpers (recordActivityEvent, revalidatePath).
  • Updating the Next-side frontend to call canonical paths — separate PR in old orchestrator repo.

Owner: @neversettle17-101

Metadata

Metadata

Labels

coreCore FunctionalitydaemonHTTP daemon lane

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions