Local Model Benchmarks

Local test machine: Apple M5 Pro · 64 GB unified memoryRun window 29 September — 18 October 202622 recorded runs

12 October 2026 · Agentic task loop · interactive figure

Prefix Cache Anatomy

Session completed Local run

The orchestrator reached COMPLETE after 10 h 26 min of run time in three segments. All 14 model-planned tasks are done, the project's verify passes 35 checks in 103 s (limit 240 s), and the final reviewer accepted all 26 requirements. The model invented a paper-tape telegraph relay desk whose parts show prefix reuse, partial reuse, a miss, LRU eviction and refusal. 21 of 62 sessions ended on engine memory errors; none counted against a task.

Isometric line drawing of a paper-tape relay desk with a peg rack, a shuttle and a sprocket, above four prompt buttons
Prefix Cache Anatomy · Sushi 1.2.2 · interactive figure

What was checked

  • Bootstrap was accepted on its first session: 26 requirements, 14 task cards, full requirement coverage and a deterministic verify.
  • Each task was accepted only after the orchestrator ran verify --all and verify --task <ID> and a fresh reviewer returned ACCEPT. Reviewers sent T004 and T007 back once and T008 twice.
  • verify covers model.mjs behaviour, both page builds, headless-Chrome loads without console errors (the skill's capture.mjs), the skill's geometry audit, the line-end check (0 loose ends on both pages), and dark/light screenshots at 1440 px and 390 px plus one mid-motion frame.
  • The final reviewer drove the pages itself: the four prompt cases by pointer and keys 1-4, the idle tour, pause offscreen, reduced motion, and readouts matching a Node replay of the model.
  • Independent check after the run: verify --all passed 35/35 in 103 s; the screenshots are non-blank and show the machine and live readout; model.mjs was exercised outside the figure for reuse, partial reuse, miss, LRU eviction, oversized refusal and the 1.2 GB size of a 15,000-token state. One deviation: a full miss is charged the 0.3 s resume time on top of the prefill time.

Limits of this evidence

Run configuration changed between segments. Before the second segment the orchestrator gained a context cap driven by the engine's reported maximum, a large-tool-output steer, and a shared rule against reading large files whole (journal records templates-refreshed and orchestrator-changed). The cap never triggered, because every later engine error reported a maximum below the 32k floor. The generated project, transcripts and engine logs stay on the workstation.

Configuration

The model, serving engine and agent used for this execution.

Recorded configuration and setup details
FieldValueDetail
Model · primaryQwen 3.8 Flash Next · primary · reasoning mediumEXL3 2.625 bpw (K=2.625; MCG codebook, window 15), confirmed by the Sushi 1.2.2 startup log
Checkpoint · primaryQwen3.8-Flash-Next-Sushi-2.6bpwprimary model artifact
RuntimeSushi 1.2.2 · OpenAI-compatible server, one process for the whole run, greedy sampling, MTP drafts, 8-bit KV cache, SSD prefix cache, vision on, /metrics enabled modeinference engine and exact build
HarnessPi coding agent, driven by the task-loop orchestrator, with the anatomy skill 1.1.0the agent or client that drove the run
HardwareApple MacBook Pro · 64 GB unified memoryhardware recorded for this execution
WorkloadPrefix Cache Anatomy · revision 1Second run of the task-loop orchestrator (scripts/task-loop.mjs), and the first with a visual, open-ended brief: an interactive isometric figure that explains an LLM server's prefix cache, built with the anatomy skill loaded in every session. The orchestrator ran 62 fresh Pi sessions with no human input to the model. The run blocked twice on engine memory and was resumed with --resume after the operator freed memory.
Context window131,072 tokensmaximum context configured for the serving runtime
Repetitions1executions recorded for this workload; one means an indicative result, not an estimate

Inference measurements

Engine-side rates for this run. Each figure states its own statistic; figures from different runs are not interchangeable.

Inference measurements: recorded value and measurement definition
MetricValueDefinition
TTFT · median3.064 sMedian engine-measured TTFT from Sushi /metrics deltas around each response (p90 19.18 s). · n=871
Decode · output-weighted40.14 tok/sOutput tokens / engine decode seconds over requests with engine timings (output-weighted). · n=871
Draft acceptance63.01 %Accepted MTP draft tokens / drafted tokens from Sushi spec-stats over matched requests. · n=872 · 346605 accepted of 550069 drafted.
Swapped in during the run197.86 GiBPages swapped in during the run (vm_stat Swapins deltas, 16 KiB pages) over 1350 samples at 30 s and session boundaries. · n=1350 · Kernel memory pressure reached warning in 129 samples and never critical.

Agent session counters

Agent-wide usage totals. These include reasoning, tool calls and waiting, and are not model decode speed.

Agent session counters: recorded value and measurement definition
MetricValueDefinition
Run elapsed626.5 minSum of the three run segments (start or --resume to COMPLETE or BLOCKED): 4 h 55 min, 1 h 9 min and 4 h 23 min. Excludes the time the run sat BLOCKED; includes 103 min of engine-retry backoff. · n=1
Agent sessions62 sessionsFresh Pi sessions started by the orchestrator: 1 bootstrap, 40 builder, 18 reviewer, 2 replan, 1 final reviewer. · n=1
Sessions ended by engine errors21 sessionsSessions that ended with a Sushi 400 error because the prompt needed more GPU memory than was available. Rerun without counting as task attempts. · n=1 · 14 in the first segment (large contexts on a nearly full machine), 7 in the second (a 5-7 GB browser was open). None in the third, after the operator closed other applications.
Model responses898 responsesAssistant responses with usage records across all sessions, including 26 error responses. · n=1
Matched model requests872 requestsSuccessful Pi responses matched in order to Sushi 1.2.2 request summaries by prompt total, output tokens and cached (SSD-restored) tokens. · n=1 · All 872 matched in one process log (PID 97969). 17 key tuples occur more than once because rerun sessions replayed identical first turns under greedy decoding; each repeat appears once per session in the same order, so the ordered assignment is forced. 22 engine summaries are left unassigned: preflight probes, the deleted first launch, and two unrelated requests.
Tool calls1,099 callsPi tool calls across all sessions. · n=1
Context compactions1 compactionsPi context compactions across all sessions (T006, session 037). · n=1

Context and token counters

Token totals as reported by the harness or engine. Cached and cumulative figures are not additive with fresh input.

Context and token counters: recorded value and measurement definition
MetricValueDefinition
Maximum prompt context113,626 tokensLargest engine-reported prompt among matched requests. · n=872
Fresh input4,001,102 tokensSum of Pi uncached input counters across all sessions. · n=1
Cached input25,155,774 tokensSum of Pi cache-read counters; equals Sushi's cached counts for the matched requests. · n=1
Prompt-cache token share86.28 %Cached input tokens / prompt tokens over matched requests (25,155,774 / 29,156,876). · n=872
Output tokens807,277 tokensPi output usage across all sessions; includes reasoning tokens. · n=1
of which reasoning output584,641 tokensPi-reported reasoning tokens included in output tokens. · n=1

Recorded check counters

Counts from the checks recorded with this run.

Recorded check counters: recorded value and measurement definition
MetricValueDefinition
Tasks completed14 tasksTask cards with status done at the end; none split, blocked or dropped. · n=1
Reviews returning changes4 reviewsReviewer sessions that returned CHANGES. · n=1
Project checks passing35 checksChecks passed by the project's own ./verify --all at the end (103 s). · n=1
Hidden acceptance cases passed8 checksHidden acceptance cases passed, of 10: written from the brief, never shown to the model, and scored the same way for every run. Added after the run. · n=1 · Failed miss.cold and miss.unrelated, one defect: a prompt with no stored match is charged the 0.3 s resume time on top of prefill.
Request records & provenance

Per-request numbers are not published. All 872 successful Pi responses were matched in order to the Sushi 1.2.2 process log (prompt total, output and cached tokens). TTFT and decode come from Sushi /metrics counters read before and after each response; 871 responses had exactly one finished engine request with token counts equal to Pi's.

Run ID: 2026-10-12-qwen38-flash-next-sushi-v122-pi-task-loop-anatomy-prefix-cache

One execution, with checks transcribed from the retained record. A completed session is not a quality score. Measurement method · All runs