zeekay 862aec32b6 State a version once
A version written into a manifest is written into every manifest that wants it,
which is how eslint came to exist in a hundred and four forms across this estate
and how a package came to resolve twice at run time. The catalog moves the number
out of the manifest: a manifest names the package, the workspace names the
version.

Four are held below their latest because the newer release cannot be used, and
the reason is recorded rather than the version alone: @noble/hashes 2 renamed
every subpath the web3 stack imports, @splinetool/runtime 2 depends on a package
that was never published, @dynamic-labs 5.4.1 the same, and react-resizable-panels
3 points its types condition at the bundle.
2026-08-29 13:46:58 -07:00
2026-08-29 13:46:58 -07:00

hanzoai/migration

Migration & decommission plan of record for Hanzo V8 "Open Cloud" — one unified Go binary (ghcr.io/hanzoai/cloud) that go:embeds the console2 SPA, every capability in the FE (console2) or BE (cloud), all-SQLite (no internal Postgres), collapsed to one Service / one origin, all live in production.

What's here

File Role
migration.yaml The chart (single source of truth): the migration matrix, the ordered execution list, and the Postgres decommission runbook.
LLM.md The narrative — what V8 is, where we are (~40%), the four load-bearing gaps, how to read the chart.
scripts/pg-export.sh The safe first step — pg_dump every internal DB to the operator desktop before any migration.

Status: ~40%

The unified binary is live and healthy (api.cloud.hanzo.ai/v1/health → ok, SQLite-backed, Postgres refused at boot). The go:embed mechanism is wired and tested. Still ahead: the real SPA embed, the RED cloud build, the Postgres shutdown (code-ready, not executed in GitOps), and the FE→BE contract fixes.

The rule that protects customers

All-SQLite is about internal storage. The customer-facing managed-Postgres product (the pgx provisioner + Neon cloud-sql) stays. The sql StatefulSet is both — carve out the product role before any shutdown (see keep_postgres_product and step 2 of the decommission runbook). Nothing is killed before a verified replacement and a verified backup.

Order of operations

migration.yaml:execution, rank 1 first. Export before flip; shutdown dead last.

S
Description
Migration and decommission runbook for consolidating Hanzo Cloud onto one SQLite-backed binary.
Readme Apache-2.0
56 KiB
Languages
Shell 100%