fak · the turn-tax demo

kernel replay · no model weights
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 really 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 three agents:
Naive agent — takes an extra round-trip for every little thing.
Tuned agent (a well-built 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 square is a real decision by the fak kernel (no model involved). Green ✓ = handled in one shot · dashed – = the tuned agent skipped it · 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

naive SOTA (two-pass loop)0 turns
tuned SOTA (stronger agent + framework)0 turns
fak (1-shot kernel)0 turns
naive pays an extra turn tuned pays a forced turn tuned elides the optional call fak resolved in-syscall (no turn) safety floor (separate axis) engine pass (all arms pay)
fak skips 0 slow model round-trips that the naive agent makes — and still 0 that even a tuned 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, which holds on any backend; the turn-saving is self-host-regime upside.