Fix #272: all surfaces in discovery/docs #294

Merged
crueber merged 2 commits from fix/issue-272 into main 2026-09-10 16:44:50 +00:00
Owner

Fixes #272: discovery (GET /api/v1) and the /api docs page omitted every feature surface but imports/checks. Reuses the #271 ExposedTemplates + RegisterExposed precedent for issues, pulls, releases, review, social, notify, identity, tags, and mirror repo lanes; per-surface exact-shape + covers-routes contract tests plus a composition registration test (negative control verified: removing a template fails CI); Apidocs route table now derived from the registry with per-surface auth/shape notes (spot-checked, SDK links verified, no mismatches) and release-upload + notification-SSE worked examples; docs updates in 07_api.md + 14_extensibility.md. No wire/behavior change, no new deps. Tests: gofmt/vet/build clean, go test -race green on all touched packages + cmd/walhub, coverage >=95% per touched internal package, node --test 557 pass (smoke hang pre-existing on main), vite build green.

Fixes #272: discovery (GET /api/v1) and the /api docs page omitted every feature surface but imports/checks. Reuses the #271 ExposedTemplates + RegisterExposed precedent for issues, pulls, releases, review, social, notify, identity, tags, and mirror repo lanes; per-surface exact-shape + covers-routes contract tests plus a composition registration test (negative control verified: removing a template fails CI); Apidocs route table now derived from the registry with per-surface auth/shape notes (spot-checked, SDK links verified, no mismatches) and release-upload + notification-SSE worked examples; docs updates in 07_api.md + 14_extensibility.md. No wire/behavior change, no new deps. Tests: gofmt/vet/build clean, go test -race green on all touched packages + cmd/walhub, coverage >=95% per touched internal package, node --test 557 pass (smoke hang pre-existing on main), vite build green.
Discovery (GET /api/v1) lists every ExtraRoutes surface via ExposedTemplates + api.RegisterExposed from composition (the #271/Feature 10 precedent, law 12: template + handler, same change): issues, pulls, releases, review, social, notify, identity, tags, and mirror's repo lanes (the top-level-only exception is gone). Byte routes outside the api lanes stay out (static contract, not JSON API). Each package pins its list both ways (TestExposedTemplatesExact + TestExposedCoversRoutes); cmd/walhub pins the wiring (TestCollabServicesRegisterDiscovery, incl. new newIdentityService/newIssuesService constructors so the test never double-registers task kinds). The /api page renders live discovery beside a route table now derived from the same registry, with per-surface auth/shape notes (spot-checked against Handle/service gates) and worked release-upload + notification-SSE examples. SDK already wrapped every surface; no method/route mismatch found. No wire or behavior change.

Docs: 07_api.md section 8 + Decisions (#272 entry, #210 bullet supersession note); 14_extensibility.md #272 amendment (+ mirror bullet supersession note).
Sign in to join this conversation.
No description provided.