Meter the Wait, Not the Tokens: A Slot-Time Ledger for Free AI Lanes
09:12 — the token meter reads zero, the deadline does not At 09:12 you enqueue 40 summarization jobs on the free lane. At 09:14 the token meter still reads zero. Your cost dashboard looks perfect. At 09:41 job 37 finally finishes. The batch deadline was 09:30. That gap is not a token problem. It is a slot problem. This is a composite drill, not a customer incident. Every number below reproduces…
At 09:12, the token meter reads zero and the deadline is at 09:30. Forty summarization jobs are queued on the free lane. At 09:14, the token meter still reads zero, and the cost dashboard appears flawless. At 09:41, job 37 finally completes. The batch deadline was missed by a significant margin, not due to token limitations, but rather a slot problem.
This scenario is a composite drill, not a customer incident. To reproduce these results locally, use a single Python file and a fixed seed. Token counters only move when work completes, making them blind to waiting times. Two slots and forty jobs mean queue time dominates. The real cost consists of occupied slot-seconds, not emitted tokens.
Retries double the damage, as they not only spend tokens twice but also occupy a concurrency slot twice. The declared test conditions are not sourced from any vendor and include inputs like concurrency (2 slots, FIFO), base latency (6.0 s per attempt), jitter (gaussian, sigma 2.0 s), and a retry probability of 0.18 per attempt with a maximum of three attempts.
Batch size is set at 40 jobs, with a seed value of 112 and a single process without network calls. The output is a single JSONL ledger, one summary block, and a breaker decision. Each ledger line represents one attempt and includes identity (job_id, attempt, lane), timing (enqueued_at, dispatched_at, finished_at), occupancy (slot_seconds, attempt_seconds), and result (outcome, prompt_tokens, completion_tokens, breaker_state).
Slot_seconds is the most crucial field that teams often overlook, as it answers the cost question. To run the drill locally, save the code as slot_ledger.py and execute it without any dependencies beyond the standard library.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.