# fak · the turn-tax demo

kernel replay · no model weights hardware: …
Every time an AI agent uses a tool, little things go wrong: a slightly-wrong argument, asking for the same thing twice, or calling a tool it didn't need. The usual fix is to send the whole chat back to the model and try again — a slow, pricey extra round-trip. Below the same tool calls run through two agents, side by side, one row per call:
• Tuned agent (a 2026 framework) — skips the calls it didn't need, but is still forced into the round-trips to fix a bad argument or a repeated read.
• fak — fixes all of it in one shot, inside the call. No extra round-trips, even vs the tuned agent.
Each cell is a real decision by the fak kernel (no model). Purple = a separate safety win (blocked poison / dangerous commands), never counted as a turn.

## ① Replay a trace through the real kernel self-contained · reproducible on any box

suite
turn latency
tuned SOTA (2026 framework)
elides optional calls; still forced into error-recovery turns
0
forced round-trips
fak (1-shot kernel)
every condition resolved inside the syscall
0
extra round-trips
the tool call
tuned SOTA
fak
tuned pays a forced turn tuned elides the optional call fak resolved in-syscall (no turn) safety floor (separate axis)
fak skips 0 forced model round-trips that even a tuned 2026 agent makes.
vs tuned SOTA (forced turns)0
optional calls a tuned agent skips0
tokens saved0
money saved0
time saved0
fak's own work per call0
safety floor — the deterministic moat (NOT a turn count)
The turn count is fixed by the kernel; only the per-turn price (latency × prompt size) is a knob — flip the latency selector and re-run. This slice is deliberately error/dup/pure-rich so every lever fires; the real-world addressable rate is far lower (see `TURN-TAX-RESULTS.md §3.1` and the break-even curve). The honest headline is the safety floor (its own side-by-side: `guarddemo`), which holds on any backend; the turn-saving is self-host-regime upside.