Event analysis
Eight repeat pairs. Three were confirmed waste.
Every pair below is a call your agent made more than once on the same execution path.
Confirmed waste
$0.0280
3 pair(s)
Pairs evaluated
8
3 confirmed waste · 3 likely legitimate · 2 unclassified
Trace coverage
64%
16 of 25 events carried a price
16 of 25 events carried a price (64%). $0.1060 of tracked spend is what this analysis actually covers. All amounts are USD, as reported by each event's own cost_usd; this report never converts or estimates a currency.
9 event(s) had no cost_usd and are excluded from every dollar figure above and below. Percentages are computed on the priced subset, not the total.
Where the spend went
Cost by verdict, across the priced subset. Select a row to open its detail.
Confirmed waste 3 $0.0280 → Likely legitimate 3 $0.0035 → Unclassified 2 $0.0220 → Near duplicate 0 $0.0000 → Cross-task redundancy 0 $0.0000 → Recurring pattern 0 $0.0000 →The verdicts
▸
Confirmed waste
The call repeated, the result didn't change, nothing wrote to state in between, and the task still failed. All four have to be true. Drop any one and this is a guess, not a finding.
Action Cache the result or guard the retry. This spend bought nothing.
| By model | Count | Cost | Tokens in | Tokens out |
|---|---|---|---|---|
| gpt-5.6 | 3 | $0.0280 | 3,240 | 230 |
| By workflow | Count | Cost | Tokens in | Tokens out |
|---|---|---|---|---|
| research_agent | 2 | $0.0080 | 240 | 30 |
| summarizer | 1 | $0.0200 | 3,000 | 200 |
▸ Sample cases to spot-check by hand (3)
- task=session-001 step=2 (tool_call/web_search): result identical; no intervening write; task terminated in failure
- task=session-001 step=4 (tool_call/web_search): result identical; no intervening write; task terminated in failure
- task=session-006 step=1 (llm_call/gpt-5.6): result identical; no intervening write; task terminated in failure
▸
Likely legitimate
A specific reason it's not waste: the result changed (polling worked), a write intervened (verification), or the task succeeded and neither the result nor the write status already confirms waste on its own.
Action Leave these alone. Cache them and you'll break polling and verification.
| By model | Count | Cost | Tokens in | Tokens out |
|---|---|---|---|---|
| gpt-5.6 | 2 | $0.0015 | 70 | 15 |
| claude-sonnet-5 | 1 | $0.0020 | 80 | 40 |
| By workflow | Count | Cost | Tokens in | Tokens out |
|---|---|---|---|---|
| coding_agent | 1 | $0.0020 | 80 | 40 |
| trading_agent | 1 | $0.0010 | 50 | 10 |
| healthcheck | 1 | $0.0005 | 20 | 5 |
▸ Sample cases to spot-check by hand (3)
- task=session-002 step=3 (tool_call/read_file): result changed; write intervened at step 2
- task=session-003 step=2 (tool_call/get_stock_price): result changed
- task=session-004 step=2 (tool_call/ping_endpoint): result changed
▸
Unclassified
Everything else. A required signal (the result, the write status, or the outcome) was missing from the trace, or the call already looks wasteful on its own and the task's overall success can't settle whether it actually mattered. No verdict here, and that's on purpose.
Action Emit result hashes and task outcome, then re-run to get a verdict.
| By model | Count | Cost | Tokens in | Tokens out |
|---|---|---|---|---|
| claude-sonnet-5 | 1 | $0.0020 | 60 | 8 |
| gpt-5.6 | 1 | $0.0200 | 3,000 | 200 |
| By workflow | Count | Cost | Tokens in | Tokens out |
|---|---|---|---|---|
| legacy_pipeline | 1 | $0.0020 | 60 | 8 |
| summarizer | 1 | $0.0200 | 3,000 | 200 |
▸ Sample cases to spot-check by hand (2)
- task=session-005 step=1 (tool_call/legacy_lookup): no legitimate-use signal fired, but result not observable for one or both calls; task terminal outcome not recorded
- task=session-007 step=1 (llm_call/gpt-5.6): no legitimate-use signal fired, but result not observable for one or both calls
▸
Near duplicate
Arguments are similar but not identical to an earlier call on the same execution path (a SimHash fingerprint comparison, not exact content_hash equality). Surfaced for manual review, not a waste or legitimate verdict. See docs/hashing.md for what a similarity fingerprint can and can't support.
Action Nothing to do. When these appear, read them by hand.
▸
Cross-task redundancy
Same or near-identical call as an earlier one in a different task, and the two tasks are confirmed related (a source-reported delegation link, never inferred from timing or content). Surfaced for review, not a waste verdict: what changed between the two calls isn't checked here yet.
Action Read these by hand. A confirmed link exists between the two tasks, but not yet enough signal here to call it waste or legitimate.
▸
Recurring pattern
Same or near-identical call recurring across tasks with no confirmed relationship to each other. Not a waste or legitimate verdict, and not evidence the two tasks are related, most likely a common or generic operation, not redundant work.
Action Nothing to do by default. If this recurs a lot, it may be worth caching or memoizing globally, but it isn't evidence of wasted spend on its own.
Unclassified pairs are reported with a count and no verdict, deliberately: a confident wrong classification here is worse than an honest unknown.
Events with no cost
The blind spot in every figure above.
Events total
25
Priced
16
No cost_usd
9
9 event(s) carried no price, so no dollar figure in this report includes them. A repeat among them is invisible, not free.
Action Set cost_usd on every span. Coverage under 80% makes totals indicative, not auditable.
▸ Sample unpriced events to spot-check by hand (9)
- task=session-001 step=1 (tool_result/web_search): no cost_usd recorded
- task=session-001 step=3 (tool_result/web_search): no cost_usd recorded
- task=session-001 step=5 (tool_result/web_search): no cost_usd recorded
- task=session-002 step=1 (tool_result/read_file): no cost_usd recorded
- task=session-002 step=4 (tool_result/read_file): no cost_usd recorded
- task=session-003 step=1 (tool_result/get_stock_price): no cost_usd recorded
- task=session-003 step=3 (tool_result/get_stock_price): no cost_usd recorded
- task=session-004 step=1 (tool_result/ping_endpoint): no cost_usd recorded
- task=session-004 step=3 (tool_result/ping_endpoint): no cost_usd recorded