Skip to content

Persist response token usage in rollout history - #41912

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/ef9e0c4a9102a08a2c382be4cdac68c84353c90a
Aug 31, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/ef9e0c4a9102a08a2c382be4cdac68c84353c90a

Conversation

@copyberry

@copyberry copyberry Bot commented Aug 31, 2026

Copy link
Copy Markdown

Persist response token usage in rollout history

Why

Resumed threads need to continue per-turn and per-thread token totals without scanning arbitrarily far beyond the latest compaction checkpoint.

What changed

  • Add durable TokenUsageRecord rollout items with response, turn, thread, session, and root-turn attribution.
  • Restore accumulated usage on resume and snapshot the latest record plus the compaction response ID in compaction checkpoints.
  • Preserve root-turn lineage in persisted turn context, while ensuring forked child threads start with their own usage totals.

Testing

  • Cover usage accumulation across multiple responses and resumed turns.
  • Cover local and remote compaction checkpoints, invalid remote compaction output, rollout reconstruction, and fork isolation.

## Why

Resumed threads need to continue per-turn and per-thread token totals without scanning arbitrarily far beyond the latest compaction checkpoint.

## What changed

- Add durable `TokenUsageRecord` rollout items with response, turn, thread, session, and root-turn attribution.
- Restore accumulated usage on resume and snapshot the latest record plus the compaction response ID in compaction checkpoints.
- Preserve root-turn lineage in persisted turn context, while ensuring forked child threads start with their own usage totals.

## Testing

- Cover usage accumulation across multiple responses and resumed turns.
- Cover local and remote compaction checkpoints, invalid remote compaction output, rollout reconstruction, and fork isolation.

GitOrigin-RevId: ef9e0c4a9102a08a2c382be4cdac68c84353c90a
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/ef9e0c4a9102a08a2c382be4cdac68c84353c90a branch from 5683a50 to 5f79a92 Compare August 31, 2026 21:16
@copyberry
copyberry Bot merged commit 5f79a92 into main Aug 31, 2026
24 of 30 checks passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/ef9e0c4a9102a08a2c382be4cdac68c84353c90a branch August 31, 2026 21:17
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant