Observed
A cloud child that reported the same cumulative usage in two terminal events had that usage added twice.
Measured on Runtime 0.196.0, child meta-operator-recursion-smoke-r2c:s1:s0 (harness opencode, model glm-5.3):
| Source |
Fresh input |
Visible output |
| Native transcript, six steps |
2,791 |
1,238 |
| Runtime's recorded node usage |
5,582 |
2,476 |
Both recorded values are exactly twice the native totals.
Runtime marks the node tokensKnown: true, so the doubled number is reported as measured, not as an estimate.
Why it matters
Token totals are the only complete usage receipt this path has: the same run's USD is unknown for the cloud arm, so a doubled token count silently doubles the one measurement a caller can trust. A budget enforced on that number stops a run at half its real allowance.
Evidence
discovery-lab artifacts/meta-operator-recursion-smoke-r2c/ (retained by discovery-lab #626).
The provider blobs, the raw usage fields, and the per-generation Router comparison are all retained; accounting.json records the finding as Provider usage is duplicated at terminal in Runtime.
Read Runtime's own numbers with projectPursuit over runtime/observer.jsonl in that directory.
Ask
Treat a usage report as cumulative-or-incremental explicitly rather than by accumulation: when a provider re-reports a cumulative total at terminal, replace the running total instead of adding to it, or ignore a terminal usage event whose values are not greater than what is already recorded.
A receipt that cannot be classified must leave tokensKnown: false rather than record a sum that is certainly wrong.
Observed
A cloud child that reported the same cumulative usage in two terminal events had that usage added twice.
Measured on Runtime 0.196.0, child
meta-operator-recursion-smoke-r2c:s1:s0(harness opencode, modelglm-5.3):Both recorded values are exactly twice the native totals.
Runtime marks the node
tokensKnown: true, so the doubled number is reported as measured, not as an estimate.Why it matters
Token totals are the only complete usage receipt this path has: the same run's USD is unknown for the cloud arm, so a doubled token count silently doubles the one measurement a caller can trust. A budget enforced on that number stops a run at half its real allowance.
Evidence
discovery-lab
artifacts/meta-operator-recursion-smoke-r2c/(retained by discovery-lab #626).The provider blobs, the raw usage fields, and the per-generation Router comparison are all retained;
accounting.jsonrecords the finding asProvider usage is duplicated at terminal in Runtime.Read Runtime's own numbers with
projectPursuitoverruntime/observer.jsonlin that directory.Ask
Treat a usage report as cumulative-or-incremental explicitly rather than by accumulation: when a provider re-reports a cumulative total at terminal, replace the running total instead of adding to it, or ignore a terminal usage event whose values are not greater than what is already recorded.
A receipt that cannot be classified must leave
tokensKnown: falserather than record a sum that is certainly wrong.