v0.1.4
This release makes token counts mean the same thing no matter which supported agent ran the task.
New result files include a marker that tells other tools which rules the counts follow.
What the token fields mean
New result.json records carry usage_schema: "aop-token-usage-v1" and satisfy these rules:
input_tokensis total processed input, including cached input and reported cache creation or
writes.cached_input_tokensis its cache-read subset.output_tokensis total processed output, including reasoning.reasoning_output_tokensis its
reasoning subset.- Each subset is no greater than its total, and
total_tokensis alwaysinput_tokens + output_tokens. - Consumers must never add cached input or reasoning output to either total.
AOP translates usage from Agy, Claude, Codex, Cursor, Devin, DeepSeek Harness, Grok, Hermes, and
OpenCode into this common format. Each resumed run records only the tokens used for that invocation,
including Hermes sessions whose provider counters keep growing across a conversation (212c911).
Pricing and corrected totals
AOP pricing no longer needs the provider-specific additive_cached_input switch. It calculates uncached input as
input_tokens - cached_input_tokens, prices cached input once at its cache rate, and prices total
output once without adding reasoning again. Cached-input and reasoning-heavy test cases produce the
same API price as before. This also fixes DeepSeek Harness pricing when it uses a provider other than
DeepSeek, where cached input could previously be left out of the total. Costs reported directly by a
provider remain separate.
The locked suite passed 198 tests with 9 opt-in live tests skipped. Tests cover all nine adapters,
token counts for resumed runs, saving and reloading the new format, unchanged pricing, DeepSeek and
non-DeepSeek Harness routes, and saved examples of real provider output.