You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
spec(api): after #25104 retires GET {base}/docs, rest-server.zod.ts still names the docs viewer (enableOpenApi's TSDoc and describe, and the documentation.enabled tombstone prescription) #25121
Filing gate ④: the spec half of a cross-layer retirement. Filed by domain:cli seat 2 (seat post #22648) · os-justin · session session_01LmjU2x1faLZ39DVTFyVca6. ⛔ Not a claim.
Reader, and what they do:domain:spec's seat updates the spec text once #25104's PR lands. Until then the text is still true. Blocked-by: #25104.
The order this carries
The maintainer chose, in domain:cli seat 2's session chat, to retire the REST docs viewer page and keep the OpenAPI document: the option labelled 「C 下线页面」, recorded on #25104 as 6317642533. #25104's build round (amendment on that card) retires GET {base}/docs in packages/rest. packages/spec/** is held off there, as always.
What names the viewer (origin/mainf2b6cf230b)
packages/spec/src/api/rest-server.zod.ts:
:138–:139, the TSDoc: "…and GET <basePath>/docs for a zero-dep Scalar-rendered HTML viewer";
:235–:236, the documentation.enabled tombstone prescription: "api.enableOpenApi: false is the switch that leaves the /openapi.json document and its /docs viewer unmounted."
After the retirement, each should name the OpenAPI document only. Then regenerate (gen:schema, gen:docs) per the spec lane's process.
Related, for the spec seat's judgement:packages/spec/src/api/documentation.zod.ts declares ApiTestingUiConfigSchema (viewer type including 'scalar', path default /api-docs) as ApiDocumentationConfigSchema.ui. rest: the API docs viewer page loads a third-party script by an unpinned URL with no integrity check #25104's dev report 6315947498 found no authorable surface or runtime reading it. That makes it an enforce-or-remove candidate under ADR-0049. It is noted here, not decided.
Dedupe
One MCP search_issues query returned 8 hits, all closed spec(ui) cards, none this. New.
Pointer from domain:cli seat 2 · os-justin · session session_01LmjU2x1faLZ39DVTFyVca6 · 2026-10-21T15:24Z. ⛔ Not a claim, and no label change.
PR #25124 (#25104) retires GET {base}/docs. Its dev found more spec-side text naming the viewer, beyond this card's three sites. Same family, so for this card's sweep (read at origin/mainedcc8ceae6):
packages/spec/liveness/rest_api.json:73: evidence that reads "mounts both /openapi.json and the /docs viewer";
packages/spec/scripts/lib/openapi-self-consistency.ts:34 (a comment) and :156 (a refusal message naming the Scalar viewer at GET /api/v1/docs);
packages/spec/migrations/entries/semantic/18.rest-api-config-dead-keys-retired.ts:20 and :46 (prose);
dormant, with zero pull: packages/spec/src/api/plugin-rest-api.zod.ts declares uiPath (default /api/docs, "URL path to serve documentation UI"), and packages/spec/REST_API_PLUGIN.md echoes it. No reader outside packages/spec was found. It is an ADR-0049 enforce-or-remove candidate beside ApiTestingUiConfigSchema.
This card stays Blocked-by: #25104 until PR #25124 lands.
Pointer from domain:cli seat 2 · session session_01LmjU2x1faLZ39DVTFyVca6 · 2026-10-21T18:32Z. ⛔ Not a claim, and no label change.
The blocker has cleared: #25104 landed as PR #25124 (1b3b65e64), and GET {base}/docs is retired on main. This card's spec text, and the extra sites in the pointer above, can now be brought to what main serves.
Activity
objectstack-fleet commentedon Oct 21, 2026
Pointer from
domain:cliseat 2 ·os-justin· sessionsession_01LmjU2x1faLZ39DVTFyVca6· 2026-10-21T15:24Z. ⛔ Not a claim, and no label change.PR #25124 (#25104) retires
GET {base}/docs. Its dev found more spec-side text naming the viewer, beyond this card's three sites. Same family, so for this card's sweep (read atorigin/mainedcc8ceae6):packages/spec/liveness/rest_api.json:73: evidence that reads "mounts both /openapi.json and the /docs viewer";packages/spec/scripts/lib/openapi-self-consistency.ts:34(a comment) and:156(a refusal message naming the Scalar viewer atGET /api/v1/docs);packages/spec/migrations/entries/semantic/18.rest-api-config-dead-keys-retired.ts:20and:46(prose);packages/spec/src/api/plugin-rest-api.zod.tsdeclaresuiPath(default/api/docs, "URL path to serve documentation UI"), andpackages/spec/REST_API_PLUGIN.mdechoes it. No reader outsidepackages/specwas found. It is an ADR-0049 enforce-or-remove candidate besideApiTestingUiConfigSchema.This card stays
Blocked-by: #25104until PR #25124 lands.Generated by Claude Code
objectstack-fleet commentedon Oct 21, 2026
Pointer from
domain:cliseat 2 · sessionsession_01LmjU2x1faLZ39DVTFyVca6· 2026-10-21T18:32Z. ⛔ Not a claim, and no label change.The blocker has cleared: #25104 landed as PR #25124 (
1b3b65e64), andGET {base}/docsis retired onmain. This card's spec text, and the extra sites in the pointer above, can now be brought to whatmainserves.Generated by Claude Code