Delete the /api/v3 alias once the CLI fleet is on 0.4.0 #216
Evidence
Shipped in the release at 0bf2706, promoted 2026-08-27.
1 pushes receipt
- AtlantisPleb opened this issue 5d ago
-
A Author 4d ago Unblocked by the #215 decision, and the scope is unchanged: delete the alias.
#215 resolved that
ghis not a supported client, so nothing makes/api/v3permanent. Measured againstgh2.89.0, its ported commands run on GraphQL (POST /api/graphql) andGET /api/v3/meta, neither of which this application serves, and thegh apipassthrough already reaches/api/v1when given a full URL. Seedocs/decisions/0009-serve-a-github-shaped-api-not-a-gh-compatible-one.md.The deletion is now a one-file change plus tests, and FORGEAPI-002 (INVARIANTS.md) keeps it that way: no route is declared at the old prefix, no response emits it, and
test/openagents_web/api_version_posture_test.exsproveslib/openagents_web/plugs/api_v3_rewrite.exis the only file underlib/that names it. When the fleet is on CLI 0.4.0, delete the plug, its line inlib/openagents_web/endpoint.ex,test/openagents_web/plugs/api_v3_rewrite_test.exs, and the@alias_plugexemption in the posture test, then drop the alias paragraph frompriv/docs/rest-api.mdand mark FORGEAPI-002 amended.One residue was already cleared in 1666117:
POST /api/v1/traceswas returning aurlfield naming/api/v3/traces/{id}, which this issue would have broken. -
A Author 4d ago Assessed 2026-08-25. Still blocked, but on a different thing than the issue said.
#215 is cleared
ADR 0009 (
docs/decisions/0009-serve-a-github-shaped-api-not-a-gh-compatible-one.md,
accepted 2026-08-25) settled the gh posture against permanence: "/api/v3stays a
dated migration alias for released clients, and it gets deleted on the schedule issue
#216 describes. Nothing aboutghmakes it permanent." It states outright that
"Issue #216 proceeds." Theunless the gh-posture decision made it permanentclause in
this issue's outcome is resolved: it did not. I have dropped the #215 edge.The ADR also shrank the job.
INVARIANTS.mdFORGEAPI-002 now holds
OpenAgentsWeb.Plugs.ApiV3Rewriteas the only place inlib/naming the old prefix,
andtest/openagents_web/api_version_posture_test.exsproves it. Measured today, the
whole deletion surface is:lib/openagents_web/plugs/api_v3_rewrite.exand its endpoint linetest/openagents_web/plugs/api_v3_rewrite_test.exs- the
@legacy_prefix "api/v3"arm oftest/openagents_web/api_version_posture_test.exs - the FORGEAPI-002 paragraph and the
docs/taxonomy.md:95sentence
#212 is closed, but its downstream condition is not met
This issue's gate is not "#212 merged", it is "the CLI fleet is on 0.4.0". It is not.
@openagentsinc/clidist-tags.lateston the npm registry is 0.3.5
(published 2026-08-24T06:37:52Z). 0.4.0 is not in the registry at all — the
published version list ends at 0.3.5.- The packed
@openagentsinc/cli@0.3.5artifact contains 61 occurrences of
api/v3and zero ofapi/v1. - The CLI installed on the host administering this tracker is 0.3.4, whose
dist/
carries 44api/v3references. This comment was filed over the alias. - CLI 0.4.0 exists only as monorepo source at
655689a480, where
src/constants.tssetsAPI_BASE_PATH = "/api/v1/".
#213 closed honestly about this — "Publishing the package to npm is the one remaining
step and stays an owner action" — but nothing open was tracking that step, which is how
this issue came to look ready while its real precondition had no owner. Filed as #247
and added as the blocker.Verdict
Do not delete the alias. Every install made from the documented instruction
(npm install --global @openagentsinc/cli@latest) speaks only/api/v3today, so
deleting the plug now breaks the entire installed fleet, this tracker's own tooling
included. Unblocks when #247 publishes 0.4.0 and installs have moved. -
A Author 4d ago Unblocked as of 2026-08-25:
@openagentsinc/cli@0.4.0is published andlatestpoints at it (#247). The packed artifact speaks/api/v1only — 74 references, zeroapi/v3— and was verified by installing from the registry and running a real command against the live forge.Still not safe to delete the alias today. Publishing makes the upgrade possible; it does not move the installed fleet. Anything still on 0.3.x reaches this forge over
/api/v3, and that included this machine's own CLI until minutes ago. What this issue now needs is a way to know the fleet has moved — the alias's own request counts by client version would answer it — rather than a date.Per ADR 0009 the alias stays temporary and is not made permanent for
gh, and FORGEAPI-002 has already reduced its deletion to one plug, one endpoint line, two test files, and a docs paragraph. -
AtlantisPleb
closed this as completed in
4eb5b1c4d ago
Outcome
After the server rename and CLI 0.4.0 have both shipped and installed CLIs have upgraded, delete the transparent alias — unless the gh-posture decision made it permanent. Audit:
docs/2026-08-24-api-v1-rename-audit.md.