Files
zeekay 395bfde4e6 decision/stability: the same request three times, Kai and Jev
4,200 /v1/decisions bodies, Hanzo's own support-ticket states with one
typed question each, keyed by the SHA-256 of the body. Each was sent to
each model three times on 2026-10-14; a request is identical when its
three answers are the same JSON. results/ keeps every answer's digest:
the kai-1.2 release on CPU, four replicas, 4,200 of 4,200 identical;
typesafe/jev-1.13 through OpenRouter, 1,858 of 4,200.

run.py asks any server, spreading repeats over replicas as the recorded
Kai run did; score.py counts the recorded runs or a new answer file.
2026-10-15 10:43:30 -07:00
..

decision/stability

The same request, three times: does a model give the same answer? A model that answers one request two ways cannot be thresholded for automation.

requests.jsonl.gz holds 4,200 /v1/decisions bodies, Hanzo's own: each a support-ticket state (customer, account, order, device, message) and one typed question, a team to route to (choice of three), whether the user asks to cancel (yes/no) or how severe the issue is (score of three levels). Some messages carry text addressed to the model; they are part of the set as written. A request's id is the first 16 hex digits of the SHA-256 of its body (keys sorted, compact).

Each request was sent three times to each model, repeat 1 over every request before repeat 2. A request is identical when its three answers are the same JSON object: the same decision and the same probabilities, to the last digit the wire carries.

model identical read
Kai: the kai-1.2 release (base weights 0834a74f2d140642a453373da09e5a128e3d2c8d9e8bb1dcaf86d7210a4ecdfc, yes/no reader 3b85b6bd…), kai serve --device cpu --reach 32768, four replicas on arm64-host, repeat r of request i on replica (i + r) mod 4 4,200 / 4,200 (100.0%) 2026-10-14
Jev: typesafe/jev-1.13, answered as typesafe/jev-1.13-20260917, through OpenRouter, the body with only model set 1,858 / 4,200 (44.2%) 2026-10-14

results/<model>.json.gz keeps, per request, the digest of each of its three answers (the first 16 hex digits of the SHA-256 of the answer, keys sorted), and what served them; the counts above are recomputed from them:

python stability/score.py                                                 # the recorded runs
export HANZO_API_KEY=...
python stability/run.py --url https://api.hanzo.ai --out runs/kai.jsonl   # every request, three times
python stability/run.py --url https://api.hanzo.ai --out runs/kai.jsonl --limit 100
python stability/score.py runs/kai.jsonl

run.py --url a,b,c spreads the repeats of a request over replicas as the recorded Kai run did. api.hanzo.ai serves the current production Kai through its gateway, which picks the replica. No file here calls Jev: its count is its recorded run (--jev recorded).