Finding taxonomy
What counts as confirmed waste
Only confirmed waste findings count toward:wasteSpendUsdstructuralWasteRate--fail-above-waste-rate--fail-above-waste-usd
retry-waste, loop-waste, and Cursor cache-carryover when its billed pattern clears the waste threshold. Opportunity classes roll up into opportunitySpendUsd and are shown as directional savings opportunities.
Provenance fields
Local audit summaries include provenance fields on findings. These fields are intentionally not part of the pushed v2 wire payload yet.signalSource and confidence are separate axes. An observed field can feed a lower-confidence heuristic, and an inferred retry proxy can still be useful while remaining visibly different from an observed failed attempt.
Older stored summaries may not have signalSource. Xerg treats that provenance as unknown in local rollups and compare output.
Recommendation objects
When you runxerg audit --json, Xerg includes a ranked recommendations array derived from the findings. The same recommendation objects are part of the v2 push payload and power hosted Optimizations, policies, and MCP recommendation tools.
Current recommendation patterns
| Finding kind | Bucket | Typical action | | --- | --- | |retry-waste | fix_now | add retry backoff or lower retry count |
| loop-waste | fix_now | cap iteration depth or add an early exit |
| tool-loop | fix_now | break repeated tool-call sequences with a loop guard |
| context-outlier | test_next | trim prompt or context size |
| context-growth | test_next | summarize or reset context that grows every turn |
| idle-spend | test_next | reduce cadence or switch to event-driven work |
| candidate-downgrade | test_next | A/B test a cheaper model |
| cache-thrash | test_next | stabilize prompt prefixes so cache writes get read back |
| cache-carryover | test_next | reset or summarize long Cursor chats |
| max-mode-concentration | test_next | reserve max mode for the hardest Cursor turns |
What not to overread
- Opportunity findings are directional recommendations, not proven waste.
signalSource: observedmeans the decisive input field was present. It does not make an opportunity into confirmed waste.- A
candidate-downgradefinding is intentionally low-confidence and should be treated as an experiment, not an automatic downgrade order. - Cost per outcome only covers runs that carry an outcome signal; audits without any signal report it as unavailable rather than guessing.