mirror of
https://github.com/hanzoai/hips.git
synced 2026-10-30 15:04:16 +00:00
The CI rule needed correcting twice in one pass, and the second correction came from measuring rather than from the brief. `hanzoai/hips` moved its own workflows to `.github/workflows` on 2026-09-08 with a sound reason: the forge reads that directory natively and github.com reads nothing else, so one directory serves both planes. Measured across the first-party checkouts, twelve keep their caller in `.hanzo/workflows/` and two forks carry an upstream's inherited `.github/workflows` — 24 files in datastore, six in kms, none of them ours. So the rule is not the directory's name. It is that a repository keeps exactly ONE, because the forge reads the first that exists rather than the union: a split silently retires half the pipeline, and the checks that would go red are the ones no longer running. The rest of this pass takes the per-app stores out of six more HIPs. The admin console had Postgres+Prisma, ClickHouse, Redis+BullMQ and MinIO of its own; serverless had a `hanzo_functions` database; commerce tracked idempotency in "Redis"; the zero-trust HIP named SPIFFE identities for `postgres` and `redis`, which are the upstreams we fork rather than the services we run. Payment processing also had Commerce POSTing balances into IAM through `add-balance` and `add-transaction`, which contradicts both HIP-0111's forbidden-verb list and the correction that Commerce owns the position and IAM mirrors it. Deployment carried the last `/api/` paths and the corpus's only `v2` (`api.hanzo.ai/v2`, offered as an example of path routing), plus a `resources:` block that provisioned a per-app Postgres and Redis. It now names which rank of the shared tier an app is a tenant of. HIP-0144 replaces the number this HIP was drafted at: 0138 was published as "Cloud — Unified Hanzo Binary" and retired, and the index generator refused the reuse — correctly, since every existing reference to HIP-0138 would have resolved to a different specification. Two self-test guards were reported as not holding. Both were the harness's own: the FM011 case appended a second `implementation-go:` key to a subject that already declared one, so the later key won and the contradiction was never built; and test-index restored HANZO_CAPABILITIES only when the caller had exported it, so every case after the capabilities case ran against a missing input. A check whose test is a no-op has never been shown to work. The corpus now passes lint, index --check and both self-tests, from 23 errors. Co-authored-by: Hanzo Dev <[email protected]>