fix(savings): report savings as yearly instead of monthly - #202
Merged
liamcervante merged 1 commit intoAug 6, 2026
Merged
Conversation
The dashboard switched to displaying annualized (/yr) savings; the CLI and MCP surfaces still quoted the monthly figures the plugins and the Agents API report. Annualize at the boundary instead: - Scan output: finops issue monthly_savings -> yearly_savings (x12 at the plugin proto conversion), summary total_potential_yearly_savings, and the inspect views/fields/renderers follow (total_yearly_savings, yearly_savings columns, /yr labels). Costs and environmental metrics stay monthly. - Findings/tasks: new FindingOutput/TaskOutput wire shapes annualize the Agents API's monthly figures (floored after x12, matching the dashboard's Format.annualizedDollars) as estimatedYearlySavings / yearlySavings, with /yr in the human renderers and updated MCP tool descriptions.
liamg
approved these changes
Aug 6, 2026
liamcervante
deleted the
fix-521-mcp-providing-monthly-savings-instead-of-yearly-savings-for
branch
August 6, 2026 15:57
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes FIX-521
The dashboard switched to displaying annualized (
/yr) savings, but the CLI and MCP surfaces still quoted the monthly figures the plugins and the Agents API report. This annualizes savings at the boundary where they enter the CLI, so every user-facing surface — human CLI output,--json, and MCP structured output — quotes savings per year. Costs and environmental metrics stay monthly.Scan path
The plugin proto still reports monthly savings;
format.convertProjectResultnow multiplies by 12 into a renamedyearly_savingsfield on FinOps issues.summary.total_potential_monthly_savings→total_potential_yearly_savingstotal_monthly_savings→total_yearly_savings(summary, top-savings,--total-savings),monthly_savings→yearly_savings(top-savings rows,--fieldsprojections), budget-detailsavingsrows →yearly_savings/yron savings lines (Yearly Savingscolumn, group-by and budget-detail views)Findings path
The Agents API keeps returning
estimatedMonthlySavingsand the API client still decodes it faithfully. NewFindingOutput/TaskOutputwire shapes convert at the CLI layer — floored after ×12, matching the dashboard'sFormat.annualizedDollars— exposed asestimatedYearlySavings/yearlySavings. Thefindings_listpage total becametotal_yearly_savings, human renderers print$X/yr, and the findings/inspect MCP tool descriptions now say yearly.Also updates the llmbench harness prompts and regenerates the inspect golden files.
Important
This changes the public
scan --jsonwire format (monthly_savings→yearly_savings, with ×12 semantics). Consumers of the scan JSON need to pick up the rename. Companion skill-docs change: infracost/agent-skills PR to follow.