You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #76 (#41 first cut) landed summarizeFidelity / hasMinimumFidelity and per-turn fidelity flags. The granular fidelity-aware command follow-ups landed for compare (#95 → PR #135), waste (#100 → PR #133), limits (#105 → PR #132), and plans (#108 → PR #134). `burn summary` was never given its own granular issue.
PR #127 ("Complete fidelity-aware command contracts", closed in favor of the granular PRs) included a substantial `burn summary` block (~119 lines in `packages/cli/src/commands/summary.ts`) that no granular PR covers. This issue tracks porting that work.
`burn summary` should distinguish a literal $0 / 0 tokens from "no cost data" / "no token data" — render `—` (or equivalent) for the latter, and never imply $0.00 attribution where the source is silent.
Proposal
In `packages/cli/src/commands/summary.ts`:
Per-field usage coverage accumulator. While building the per-(model, project, …) cells, track `{ knownTurns, missingTurns, unknownTurns }` for each token field (input/output/reasoning/cache_read/cache_create) using the `TurnRecord.fidelity.coverage` flags.
Cell rendering.
When `knownTurns === 0` and `missingTurns > 0`: render `—` (no number, no $0.00).
When `knownTurns > 0` and `missingTurns > 0`: render the value with a `*` suffix (or equivalent partial-coverage marker) and add a footer note explaining the marker.
Footer notice. When any cell carries the partial-coverage marker, append a single line: `* partial coverage: N of M turns omitted per-turn token data`. Suppress when every cell is fully covered (avoid noise in the common case).
Context
PR #76 (#41 first cut) landed
summarizeFidelity/hasMinimumFidelityand per-turn fidelity flags. The granular fidelity-aware command follow-ups landed for compare (#95 → PR #135), waste (#100 → PR #133), limits (#105 → PR #132), and plans (#108 → PR #134). `burn summary` was never given its own granular issue.PR #127 ("Complete fidelity-aware command contracts", closed in favor of the granular PRs) included a substantial `burn summary` block (~119 lines in `packages/cli/src/commands/summary.ts`) that no granular PR covers. This issue tracks porting that work.
Issue #41's "Command behavior contract → burn summary" bullet captures the intent:
Proposal
In `packages/cli/src/commands/summary.ts`:
Acceptance criteria
Out of scope
Refs