Fix #339: ssh-keys lane carve-out #351

Merged
crueber merged 1 commit from fix/issue-339 into main 2026-09-11 22:45:39 +00:00
Owner

Docs-only: amends docs/go/07_api.md §3 lane note to carve self-service ssh-keys (GET/POST/DELETE /api/v1/ssh-keys) out as token-lane-only, plus a Decisions entry (law 12).

Why carve-out over twins: grep over the repo finds zero references to api-browser/v1/ssh-keys; the only consumer (web/src/pages/Keys.jsx) fetches /api/v1 directly, and 17_ssh.md §3 + 11_config_cli.md name only the /api/v1 routes. Twins would widen the browser-lane surface for no consumer.

Verification: internal/api/routes.go confirms twins absent for ssh-keys and present for every other NonRepo core route (me, owners, owners/detailed, ownerRepos, repos/detailed, profile GET/PUT; instance is services-only by design; discovery served on both lane roots). Feature ExtraRoutes surfaces (repoimport, pulls, mirror, notify, identity, social) all carry both-lane twins. No code changed, no tests affected.

Closes #339.

Docs-only: amends docs/go/07_api.md §3 lane note to carve self-service ssh-keys (GET/POST/DELETE /api/v1/ssh-keys) out as token-lane-only, plus a Decisions entry (law 12). Why carve-out over twins: grep over the repo finds zero references to api-browser/v1/ssh-keys; the only consumer (web/src/pages/Keys.jsx) fetches /api/v1 directly, and 17_ssh.md §3 + 11_config_cli.md name only the /api/v1 routes. Twins would widen the browser-lane surface for no consumer. Verification: internal/api/routes.go confirms twins absent for ssh-keys and present for every other NonRepo core route (me, owners, owners/detailed, ownerRepos, repos/detailed, profile GET/PUT; instance is services-only by design; discovery served on both lane roots). Feature ExtraRoutes surfaces (repoimport, pulls, mirror, notify, identity, social) all carry both-lane twins. No code changed, no tests affected. Closes #339.
docs/go/07_api.md §3 claimed /api-browser/v1 twins for every non-repo
endpoint, but GET/POST/DELETE /api/v1/ssh-keys never had them; carve-out
documents the intentional shape instead of adding unused twins.
Sign in to join this conversation.
No description provided.