chopratejas commited on
Commit
47a9422
·
1 Parent(s): 8d902fd

fix: capture Zone 1 + Zone 2 savings in token_headroom stats

Browse files

In token_headroom mode, original_tokens was being overwritten with the
pipeline's input view (post-Zone-1-swap), causing tokens_saved to only
reflect Zone 2 compression. Zone 1 savings from cached content swaps
were invisible in stats, cost tracking, and the session summary.

Now keeps original_tokens as the real original (from Claude Code's
uncompressed messages) so tokens_saved = Zone 1 + Zone 2.

Files changed (1) hide show
  1. headroom/proxy/server.py +5 -2
headroom/proxy/server.py CHANGED
@@ -2243,7 +2243,9 @@ class HeadroomProxy:
2243
  optimized_messages = result.messages
2244
  transforms_applied = result.transforms_applied
2245
  pipeline_timing = result.timing
2246
- original_tokens = result.tokens_before
 
 
2247
  optimized_tokens = result.tokens_after
2248
  else:
2249
  result = self.anthropic_pipeline.apply(
@@ -4802,7 +4804,8 @@ class HeadroomProxy:
4802
  optimized_messages = result.messages
4803
  transforms_applied = result.transforms_applied
4804
  pipeline_timing = result.timing
4805
- original_tokens = result.tokens_before
 
4806
  optimized_tokens = result.tokens_after
4807
  else:
4808
  result = self.openai_pipeline.apply(
 
2243
  optimized_messages = result.messages
2244
  transforms_applied = result.transforms_applied
2245
  pipeline_timing = result.timing
2246
+ # Keep original_tokens as the REAL original (pre-Zone-1-swap)
2247
+ # so tokens_saved captures both Zone 1 + Zone 2 savings.
2248
+ # original_tokens was set at line ~2183 from uncompressed messages.
2249
  optimized_tokens = result.tokens_after
2250
  else:
2251
  result = self.anthropic_pipeline.apply(
 
4804
  optimized_messages = result.messages
4805
  transforms_applied = result.transforms_applied
4806
  pipeline_timing = result.timing
4807
+ # Keep original_tokens as the REAL original (pre-Zone-1-swap)
4808
+ # so tokens_saved captures both Zone 1 + Zone 2 savings.
4809
  optimized_tokens = result.tokens_after
4810
  else:
4811
  result = self.openai_pipeline.apply(