mirror of
https://github.com/hanzoai/ci.git
synced 2026-10-20 15:28:05 +00:00
It was package main, so nothing could import it — and that is why this surface is the one a valid hanzo.id token cannot read. api.hanzo.ai already carries /v1/deploy, the CD half of this same delivery plane, behind the gateway's IAM identity; the CI half sits behind admin-guard instead, which trusts an X-Org-Id header and answers a bearer with a bare 401. A capability can be mounted; a package main can only be deployed beside things. Serve builds the handler and starts the pollers, taking a context so the caller owns their lifetime. Both caches answer "no snapshot yet" rather than blocking, so a mount never waits on an upstream fetch. Main keeps the standalone server — listener and shutdown — and cmd/ci is four lines over it, so the image is unchanged apart from the path it builds. Main, not Run: a Run in this package is a CI run, the domain object, and the binary's body is not one. Co-authored-by: Hanzo Dev <[email protected]>