¢ Cap forecast
02 · Data plan

Pair task tokens with meter movement—only when the pair is identifiable.

Agent Studio sees token turns, quota percentages, run timing, model, and thinking level, and now emits cached quota state at run boundaries. The missing bridge is a calibration-grade fresh and settled raw pair tied to the same run and window identity.

Research plan only: completing that capture contract is a parallel dependency; calibration implementation still requires explicit operator GO.

Observation inventory

The plan reuses current Studio signals. It does not ask TokenEconomy to probe a CLI or parse provider output.

ObservationStatusFields usedForecast role
Per-turn bus token eventsExistsmodel; input/output; cache read/write; reliable run correlation on the rich path; optional timingBuild model-specific observed attempt consumption. Legacy events without an unambiguous run join are ineligible.
Quota snapshotsExistsCLI/plan; fetched time; normalized used %; reset; raw/source; error/suspiciousObserve the provider meter and screen parser quality.
Run lifecycleExistsstart/finish; duration; terminal outcomeBracket events and detect reset crossing, overlap, and censoring.
Run configurationExistsexact model; thinking level; task metadataDefine calibration and task-history cohorts.
Calibration-grade quota at run start/endPartial · fresh/settled pair missingcached boundary state + age exists; still needs fresh raw used/remaining semantics, resolution, settled end, and same run/window IDCached boundary events are audit evidence, not sufficient calibration pairs; completion stays with the parallel card.
Handoff update · 2026-07-12: current boundary events mirror cached quota and expose its age; they do not force a fresh probe. Only token events with a provably unique run join qualify—timestamp proximity is not enough.

Source anchors: Studio's bus bridge ↗, token usage contract ↗, and quota snapshot contract ↗.

From raw events to one calibration observation

01 CAPTURE

Bracket

Raw start snapshot with meter direction and resolution, all run token events, terminal outcome, and an end snapshot after a defined settle policy.

02 IDENTIFY

Match scope

CLI, opaque account/plan, window kind, reset identity, exact model, and thinking level.

03 VALIDATE

Exclude confounding

No reset/expiry, unknown account use, overlap, missing tokens, parser suspicion, or saturated meter endpoint.

04 VERSION

Keep evidence

Append-only raw record, normalized record, parser/calibration version, and explicit exclusion reasons.

Token semantics matter: preserve input/output/cache components and have the Studio adapter produce one documented observed-token unit without double-counting cached input. V1 fits a total; richer component weights are an upgrade path.

Estimate the slope, explain the equivalent capacity

First convert used/remaining provider readings into one increasing usedPct, while preserving the raw direction and resolution. Estimate percentage points per canonical observed token from those endpoint and token observations.

deltaPctᵢ = usedPctend − usedPctstart
deltaPctᵢ = betascope × tokensᵢ + errorᵢ
effectiveWindowTokensscope = 100 / betascope

Fit directly

Use a positive, interval-aware weighted robust slope through the origin. Per-pair 100 × tokens / deltaPct ratios become unstable near a rounded zero; an unidentified slope returns uncalibrated.

Name honestly

The inverted result is an effective token-equivalent window under observed conditions—not an official provider token budget.

V1 transfer assumption: meter response is locally stable and approximately linear over observed support. Diagnose an intercept, curvature, and residual bias by task/token mix; downgrade extrapolation or changed component mixes.

For a shared provider meter, model-specific equivalents describe all-one-model workloads against the same window. They are not separate model quotas.

Eligibility is stricter than “two timestamps”

A usable pair requires

  1. Same CLI/account-plan/window kind and compatible reset identity; a first-use anchored window needs a trusted pre-use state and explicit new anchor.
  2. No reset crossing and no unmodelled rolling-window expiry.
  3. No unknown concurrent account usage.
  4. Complete, non-duplicated tokens and known model/effort.
  5. A known outcome and settled, trusted end; saturation must be explicitly bound-coded for an interval-aware estimator.

Calibration campaign

Combine controlled, serial spans in fresh/quiet windows with opportunistic production spans that pass the same gates. Vary model, thinking, and task size, and collect evidence across multiple distinct windows.

controlledsame-windowserialmulti-window
Outcome is not a calibration gate: a failed or cancelled run can calibrate the meter when its closed interval and tokens are complete. A quota-wall endpoint is usually floor/ceiling-censored and needs interval treatment or exclusion from the simple slope.

Rounding, parser glitches, and confidence

Quarantine before robust fitting

  • Impossible values or sign/direction errors
  • Unexplained downward jumps or reset changes
  • Parser-suspicious or stale snapshots
  • Incomplete tokens, overlaps, or unknown background use

Never silently winsorize a known parser fault; retain the raw record and reason.

Rounded zero and saturation are censored

An integer meter can remain at 17% after small real use; a floor/ceiling can clip a large delta. V1 derives endpoint intervals from known rounding—or a one-resolution error bound only when the capture contract can defend it—and fits against feasible delta intervals. Otherwise return uncalibrated.

Bootstrap distinct windows

Pairs from the same window are correlated. Resample complete window instances, diagnose a free intercept for background use, and validate on later time periods.

Confidence has several inputs

Distinct windows, movement vs quantization, recency, residuals, evidence quality, hold-out error, and coverage. Sparse or stale means low confidence or uncalibrated; a detected regime change closes the old calibration instead of blending it with new data.

Freeze the estimator before replay: TE-F1 must version its weights, Huber tuning, minimum-evidence/estimability rules, and confidence-label thresholds. Changing them after seeing hold-out results requires a new untouched time period.