Gate Zero Experiment
Same task. Different words.
Same process shape.
Semantic tools see two different conversations. Ω-API sees the same process failure.
Your evals can tell you an answer was polite. They can’t tell you the case never moved.
One task. Two bots. The same failure.
Both bots are asked to fix a customer’s internet. One stays warm and never gets anywhere. The other keeps pushing upsells. Word for word they look like different problems · they are the same failure: the conversation never moves.
Polite loop
Upsell drift
A semantic evaluator files them apart · one “empathetic, unresolved”, the other “unhelpful, promotional”. Ω-API files them together · same stall, same code, same failure mode.
Different wording. Same stall. Same fingerprint.
What Ω-API measures.
Ω-API doesn’t read what a turn says. It measures one thing, every turn: did the conversation move toward its goal, hold still, or drift away?
Cconverging · the exchange moves toward the objective
Sholding · it stays where it is
Mdrifting · it moves away
String the letters together and a whole conversation becomes a short code · a fingerprint. Two conversations with the same fingerprint have the same shape, whatever the words.
turn → did it move? → C / S / M → fingerprint
It isn’t blind. It’s content-blind.
When a bot actually resolves the case, the shape changes. Same task, real progress · a different fingerprint.
A router that resolves the case
C3·S1·C1·S4 code 941d2d3a5a10
Ω-API joins the two that fail alike, and separates the one that works.
The Home showed the emotional version · one word flipped from “I love you” to “I hate you”, same shape. This is the operational version: different behaviour, same failure.
Run it yourself.
The two conversations are yours to download. Send each turn to Ω-API and read the fingerprint. Run your own semantic evaluator over the same text. Then compare how the two group them.
- Download the fixturesThe two scripted conversations, loop and drift.
- Send each turn to Ω-APIPOST to
/api/v1/judge.phpwith your Ω-API key · read the C/S/M and the fingerprint. - Run a semantic evaluatorYour own OpenAI key, over the same conversations · sentiment and helpfulness.
- Compare the groupingsMeaning splits them. Shape joins them.
A one-command runner and a public repo are coming. For now, the fixtures and the endpoint are enough to reproduce this.
For engineers.
Ω-API has two parts. A transducer reads each turn and produces a residual signal · how far the exchange is from its goal. A ruler turns that series into C / S / M and a fingerprint. The ruler is exact arithmetic: the same residual series in gives the same shape out, byte for byte. The transducer is version-pinned · not a claim of universal determinism.
| session | shape | code | turns | reliability |
|---|---|---|---|---|
| hbo_router_loop_A_5f4b17 | S9 | 2a02acd07f89 | 10 | prodrome |
| hbo_router_drift_A_203aea | S9 | 2a02acd07f89 | 10 | prodrome |
| hbo_router_converge_A_64a554 | C3·S1·C1·S4 | 941d2d3a5a10 | 10 | reliable |
The two S9 sessions read prodrome, not reliable: they hold from the first turn, so the signal is a shorter run of settled evidence. Shown, not hidden.