Files
zeekay 69f9a79cfe say what the routes actually answer
Five claims in the prose had drifted from the API and from the tree:

- `GET /v1/keys` was described as minting a key. It lists; `POST` mints, as
  the document's own summaries say. Wrong in README and CLAUDE.md.
- The examples quoted `403 {"error":"X-Org-Id required"}` for /v1/kv and
  /v1/agents. That wording is gone: cloud collapsed thirty-seven hand-rolled
  refusals into one that names WHICH half is missing — "a validated principal
  is required" or "an org scope is required". api.hanzo.ai answers the former
  today.
- store said the KV value plane is authored in the document. It is not: the
  document declares /v1/kv and /v1/kv/{name}, the value plane's spec was
  deleted, and /v1/kv/keys/{key} 404s.
- tools said POST /v1/mcp answers 200 with the tool list. It answers 503.
  The durable half — no declaration, so no generated method — stands alone.
- `propertyKeys` was explained as a name a Kotlin data class cannot carry. It
  can; the rename is the generator's reserved list, which is exactly `size`,
  `keys`, `values`, `entries`, `class` — the five it prefixes across 2,461
  models, so a reader can predict the next one.

Also: Hanzo.kt is the one hand-written file under src/main, not in the module
— FlowsTest.kt sits beside it.
2026-08-14 15:01:05 -07:00
..