9 Commits
Author SHA1 Message Date
zeekay ca016d4bb6 runtimes: gym by its multi-arch tag 2026-09-01 19:24:51 -07:00
zeekayandHanzo Dev 29e117a904 runtimes: hanzo-ft-lora runs gym trainjob
The lora runtime's node container is ghcr.io/hanzoai/gym:0.1.1-amd64 —
the Rust trainer, driven by the same env contract. qlora and full stay on
finetune-runtime until gym serves them.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-01 11:59:22 -07:00
zeekayandHanzo Dev 7838f05287 ci: build this fork, so the cluster stops running upstream vanilla
ns kubeflow runs ghcr.io/kubeflow/* images — upstream, and on :latest — even
though this fork exists and carries our commits. It runs them because nothing
here ever published an alternative: the repo has upstream .github/workflows
(which do not run on our estate) and no .hanzo lane at all, so there was no
hanzo image to point at.

Builds exactly the images the cluster consumes, no more. Building artifacts
nothing deploys is how a pipeline rots unnoticed.

⚠️ The hanzo-ml ORG HAS NO ACTIONS SECRETS — hanzoai carries GHCR_USER,
GHCR_TOKEN, GH_PAT, OCI_*, KMS_*; hanzo-ml carries none. So this BUILDS
unconditionally (which proves the fork still compiles — the thing most worth
knowing) and PUSHES only when a token is present, emitting a ::warning:: when
it is not. Until the org gets credentials the run is honestly green with "built
but not published" in the log, rather than the cluster silently serving upstream
forever.

To finish: give hanzo-ml GHCR_USER/GHCR_TOKEN (KMS-sourced, per policy), then
repoint the ns kubeflow deployments at ghcr.io/hanzoai/<image>:sha-<sha7>.

Also note the repo is a PULL MIRROR on the forge, so Actions were off entirely
(has_actions=false); enabled now, and the sync interval cut 8h -> 10m so a push
is picked up in minutes.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-27 19:36:37 -07:00
zeekay 5707910af9 Merge upstream/master into master (sync fork with upstream)
# Conflicts:
#	README.md
2026-07-05 21:03:15 -07:00
0b97a47048 feat(runtimes): hanzo-ft-{lora,qlora,full} — env-driven HF fine-tuning runtimes (#2)
Adds one transformers + PEFT + TRL ClusterTrainingRuntime per method that
fine-tunes ANY HuggingFace causal LM. The base model + dataset come from the
TrainJob's model/dataset initializers (hf:// or s3://, secretRef for private/gated
repos); every hyperparameter is read from the trainer container env that the Hanzo
Cloud broker sets. Adapters are merged into the base on completion, so one serving
path (KServe HuggingFace runtime) works for lora/qlora/full alike; output is
written to OUTPUT_DIR (the org's S3 Space when s3://).

- manifests/base/runtimes/hanzo_finetune.yaml  3 ClusterTrainingRuntimes (+kustomization)
- cmd/trainers/hanzo/finetune.py               env-driven entrypoint (LoRA/QLoRA/full)
- cmd/trainers/hanzo/finetune_test.py          pytest for the pure config/format helpers
- cmd/trainers/hanzo/{Dockerfile,requirements.txt,README.md}
- examples/yaml/hanzo-finetune-qlora.yaml      example TrainJob (the broker's output)

kustomize build clean · ruff clean · 14 pytest pass. Image built in CI
(ghcr.io/hanzoai/finetune-runtime), not locally.

Co-authored-by: Hanzo Dev <[email protected]>
2026-06-29 23:53:55 -07:00
zeekay b7feee3f9a scrub Liquidity branding + ringtail→corona (OSS brand hygiene) 2026-06-10 23:37:18 -07:00
zeekay 08f9c6bdd9 merge: feat/brand-neutral-rebrand 2026-06-01 16:20:26 -07:00
zeekayandGitHub e081842b6f feat: brand-neutral rebrand (consume @<org>/brand contract) (#1)
5 new root markdown files. UPSTREAM_README.md preserves original.
No upstream code modified. Branding consumed at runtime from a
brand package per BRAND.md (@hanzo/brand, @luxfi/brand,
@zooai/brand, etc.). Multi-tenant via JWT tenant claim per
MULTI_TENANT.md. Apache-2.0 preserved; NOTICE attributes upstream.
2026-05-19 08:12:22 -07:00
zeekay 748f8ddf50 feat: brand-neutral rebrand (consume @<org>/brand contract)
5 new root markdown files. UPSTREAM_README.md preserves original.
No upstream code modified. Branding consumed at runtime from a
brand package per BRAND.md (@hanzo/brand, @luxfi/brand,
@zooai/brand, etc.). Multi-tenant via JWT tenant claim per
MULTI_TENANT.md. Apache-2.0 preserved; NOTICE attributes upstream.
2026-05-19 08:10:05 -07:00