Turn app.Run's per-target render loop into collect-then-render: gather all findings (and layouts) across targets into one slice, then filter → sort → render → summary. No behavior change (golden tests unchanged). Foundation for -summary/-sort/-threshold. Introduces a shared savings(common.Finding) int64 helper (landed with its first consumer to avoid an unused-func lint). PR 1 of v0.6.0.
Turn
app.Run's per-target render loop into collect-then-render: gather all findings (and layouts) across targets into one slice, then filter → sort → render → summary. No behavior change (golden tests unchanged). Foundation for -summary/-sort/-threshold. Introduces a sharedsavings(common.Finding) int64helper (landed with its first consumer to avoid an unused-func lint). PR 1 of v0.6.0.