Skip to content

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

Closed

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

Activity

  1. neversettle17-101 commented on May 28, 2026

    @neversettle17-101
    CollaboratorAuthor

    Follow-up filed: #19 — OpenAPI 3.1 spec + request/response validation, builds on this PR's route shell and contract-preview stubs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

coreCore FunctionalitydaemonHTTP daemon lane

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions