Skip to content

fix: scope a resumed run's benchmark artifacts to that run - #43

Merged
ostepan8 merged 1 commit into
mainfrom
fix/benchmark-report-per-invocation
Oct 5, 2026
Merged

ostepan8 merged 1 commit into
mainfrom
fix/benchmark-report-per-invocation

Conversation

@ostepan8

@ostepan8 ostepan8 commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

marathon -p --continue loads every earlier turn of the session, and rc-session rebuilds total_usage and total_cost from all of them. --benchmark-report and --benchmark-trajectory were built from that whole session, so step 2 of a multi-step benchmark reported step 1's tokens, cost, requests and transcript again. Harnesses that sum per-step reports double-counted.

The checkpoint writer now records where the run starts (message count, usage and cost so far) and publishes both artifacts from that point on. A fresh run is unchanged.

Test plan

  • New unit tests: a resumed session's report and trajectory hold only the new turns; a fresh run's view is the whole session
  • cargo test --locked --workspace: 570 passed, 0 failed
  • cargo +1.99.0 clippy --locked --workspace --all-targets -- -D warnings, cargo fmt --check
  • Live two-step run on api.subconscious.dev with glm-5.3-marathon: step 2 (--continue) recalled the word, and its report showed 1 request and only its own tokens

🤖 Generated with Claude Code

@ostepan8
ostepan8 merged commit c72bd2c into main Oct 5, 2026
6 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant