What is measured

The three kinds of record in the ledger, what each panel word is derived from, what each CLI reports, and the one thing that is not measured.

What the ledger records #

The ledger records calls, limits and commits, and nothing else.

RecordWritten whenWhat it holds
callA provider call ends. Any call AutoDev makes counts, and so does a call that fails or throws.The start time, the duration, the provider, the model, whether it succeeded, and the project's path. When the provider reports them: the cost of the call, tokens and their breakdown, the quota snapshots it sent, how many times the model was called, the context window and the size of the context, and the compactions it crossed.
limitA call reports a usage limit.The time, the provider, the reset time, whether the limit was found as a structured event or as text, and the window kind.
workAutoDev credits a commit.The time, the provider, the commit, the mode of the run, which is always thread now, and the task id, which is empty.

A login probe and a version check make no model call and spend no quota, so they are not recorded. A failed write to the ledger never fails the call. It is reported as a quota.record_failed warning.

What each CLI reports #

Every CLI gives the ledger the start and the duration of a call, and whether it succeeded, because AutoDev measures those itself. The rest depends on what the CLI prints.

claude reports the cost of a call, its tokens, quota snapshots with their reset time, the number of times the model was called, and the size of the context. codex and agy report tokens. A usage limit reaches AutoDev as a notice from any of the three, so every limit is recorded, with a reset time when the notice carries one, but only claude also says how much of the window was used. A figure a CLI does not report is stored as unknown, never as zero.

That is why the windows in autodev quota are only ever claude's, and why a provider that should send snapshots and sent none is shown as a warning.

From records to words #

Panel wordDerived from
Agent timeThe durations of the call records in the window, cut to the window, added up. Two calls that ran at once add up.
UsedThe union of the calls' time spans. Overlapping calls count once.
IdleThe window minus the time used. It is time with nothing running.
ConvertedThe number of work records.
CrossedThe number of limit records.
A window's peakThe highest utilisation among the quota snapshots of one provider's window. The window is exhausted when a limit record falls inside it.

Where a provider does not send quota snapshots, it has no window and no peak.

What converted means #

A work record exists when AutoDev credits a commit. The shared thread says how: a commit is the evidence, and a claim with no commit is not credited.

converted therefore counts commits. It does not say that the work was good or that it stayed. The ledger is append-only, and nothing in it changes when a commit is later undone. The provider on a work record is the one in the run's state when the commit was credited, which is not always the one that wrote it.

Misspent quota is not measured #

AutoDev does not measure misspent quota. The ledger has no field for a turn whose work was thrown away, no code decides that a turn was wasted, and no figure in the panel is computed from one.

The picture on the home page, one month as four weekly quota windows with and without AutoDev, is an illustration of how to read a window, and it is labelled as one. It shows quota used and quota unused. In the panel, converted is a count of commits and idle is time with nothing running. Nothing on this site claims to measure it.

Money is measured only in part. The ledger keeps the cost of a call for the CLIs that report one, and the run adds those up into the est. cost of the report and of autodev status. autodev quota does not print costs or tokens, and neither number is the size of a plan.

Reading the quota panel shows where each word appears, and Where the ledger lives describes the file.