@@ -632,13 +632,14 @@ export function buildStatusMessage(args: StatusArgs): string {
632632 let outputTokens = entry ?. outputTokens ;
633633 let cacheRead = entry ?. cacheRead ;
634634 let cacheWrite = entry ?. cacheWrite ;
635- const freshTotalTokens =
636- entry ?. totalTokensFresh === true ? resolveFreshSessionTotalTokens ( entry ) : undefined ;
635+ const freshTotalTokens = resolveFreshSessionTotalTokens ( entry ) ;
636+ // Undefined freshness is legacy, not stale: keep persisted totals for /status,
637+ // but let a fresh transcript prompt snapshot replace them when available.
637638 const allowTranscriptContextUsage = entry ?. totalTokensFresh !== false ;
638639 let totalTokens = freshTotalTokens ;
639640
640- // Context percentages need a fresh prompt snapshot; cumulative session/cache
641- // usage can still hydrate Tokens/Cache lines but must not become Context.
641+ // Explicitly stale session/cache usage can still hydrate Tokens/Cache lines
642+ // but must not become Context.
642643 if ( args . includeTranscriptUsage ) {
643644 const logUsage = readUsageFromSessionLog (
644645 entry ?. sessionId ,
@@ -655,7 +656,10 @@ export function buildStatusMessage(args: StatusArgs): string {
655656 allowTranscriptContextUsage &&
656657 candidate !== undefined &&
657658 candidate > 0 &&
658- ( ! totalTokens || totalTokens === 0 || candidate > totalTokens )
659+ ( entry ?. totalTokensFresh !== true ||
660+ ! totalTokens ||
661+ totalTokens === 0 ||
662+ candidate > totalTokens )
659663 ) {
660664 totalTokens = candidate ;
661665 }
0 commit comments