mirror of
https://github.com/hanzoai/o11y.git
synced 2026-10-15 12:58:33 +00:00
o11y wrote the same server down twice. Emitter A is the typed op registry:
identity 45 + infra 44 + logs 9 + telemetry 5 = 103 ops registered on the
cloud.Router at their full public /v1/o11y/... paths, read from a real mount by
cloud's describe.go and woven into the one published document.
Emitter B was `o11y generate openapi`: a swaggest reflector walked the runtime's
gorilla/mux tree and wrote a committed 629 KB docs/api/openapi.yml — 120 paths,
174 ops, spelled /api/v1 x59, /api/v2 x57, /api/v3, /api/v4, /api/v5 x2, and
ZERO /v1/o11y. It described the fork's internal tree behind the delegation
wildcard's /v1/o11y/* -> /api/* rewrite: a surface no customer can address, in a
shape that breaks two house rules on its face (/api/, and v2 through v5). No CI
step regenerated or verified it, so it could only drift.
B dies whole: cmd/openapi.go, registerGenerateOpenAPI, pkg/o11y/openapi.go (the
reflector, unreachable once the command went) and the committed artifact.
pkg/http/handler's OpenAPIDef stays — it is per-handler prose the typed ops read,
not a second document.
Two scratch leaks from the same effort go with it:
- zzz_surface_measure_test.go, self-labelled "TEMPORARY … not for commit",
committed anyway and writing to a hardcoded /home/z/.cache path.
- replace github.com/hanzoai/cloud => ../cloud. No CI runner has that sibling,
so ci.yaml carried a second checkout of cloud at an exact commit to supply
it — the same fact in two places, which is what LLM.md's own section warned
about. The replace hid a broken pin, too: the required v1.801.218 no longer
compiles against current hanzoai/tasks, and nothing noticed because CI never
built the required version. go.mod now requires cloud v1.801.350 from the
proxy like every other private hanzoai module; the checkout step is gone.
go build ./... clean; go test ./ ./cmd/... ./pkg/http/handler/... ./pkg/apiserver/...
./pkg/o11y/... all ok.
Co-authored-by: Hanzo Dev <[email protected]>