4 Commits
Author SHA1 Message Date
zeekayandHanzo Dev 88ea26b88c Go 1.27.1, and the code it can say more simply
spec sync / check (push) Canceled after 0s
Hanzo CI/CD / cicd (push) Failing after 58m41s
CI/CD / cicd (push) Failing after 58m40s
Modules declare go 1.27.1 and the build images follow. go fix had nothing to
change in the probe.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-16 18:52:40 -07:00
zeekayandHanzo Dev f5178906a8 go 1.26.8
One toolchain across the estate. The tree carried 1.26.0, .1, .3, .4 and .5
at once, so which compiler built a binary depended on which repo it came
from.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-08 23:56:01 -07:00
zeekay 2244adee60 The Go probe reads the answer through its type
It used to take resp.Body and hand-decode an anonymous struct, because there
was nothing else available: the document declared no response for /v1/models,
so the generator gave GetModels a bare *http.Response and every caller had to
know the shape by heart.

Reading through the generated AiModelList is the assertion. It only compiles if
the shape crossed from hanzoai/ai, through cloud's relay, into the document
this client was projected from — the whole chain, checked by the compiler
rather than by a comment.
2026-08-28 15:55:09 -07:00
zeekay 8e00304bca e2e: run the clients against a real cloud
Every gate in this repo compares a client to the document, and every build
proves the client is well-formed. Neither answers the question a user actually
has: does it work against a server. Seven languages now answer it -- go, python,
typescript, dart, php, ruby, rust -- against the local cloud by default and
against anything HANZO_BASE_URL names.

Each probe asserts a 200 whose body decodes AND a 403 that arrives as an error,
because a client that swallows a refusal and returns a zero value looks exactly
like one that works.

It earned its place on the first run: GET /v1/models is AiAPI.GetModels in Go
and ai_api::get_models in Rust but ModelsApi.getModels in TypeScript. One
document, three groupings, and nothing but a call finds it.
2026-08-28 12:14:01 -07:00