Files
zeekay 311f5625e0 give chat a native pipeline so a push actually builds
cloud/apps/git/build_on_push.go reads an `images:` block to know what a push
should build, looking first in .hanzo/workflows/*.yml and then at root
hanzo.yml. This repo had neither, and a repo with no native pipeline is a
deliberate no-op — so a push here enqueued nothing, reported nothing, and
failed nothing.

That is how the analytics ingest-key fix landed on main and never became an
image: the bundle kept shipping keyless, cloud kept filing every pageview under
the reserved $public tenant that our own org cannot read, and ingest kept
answering 200. Three silent layers, one missing file.

The declaration matches .hanzo/workflows/deploy.yml on the only things that
decide the artifact — context `.`, the root Dockerfile, ghcr.io/hanzoai/chat —
so whichever lane runs the image is the same. No tag here: imgver derives the
semver from client/package.json against the registry floor, so it is computed,
never typed.
2026-08-03 23:42:15 -07:00
..