[0.39.0] - 2026-04-28
Changed
burn comparetakes models as a required positional, not a flag (#159). The verb "compare" implies selection — without an explicit list the oldburn compareproduced a wide N×M survey of every model in the ledger, which is whatburn summary(with--by-provider/--by-tool) already covers. The new shape isburn compare <model_a,model_b[,...]> [flags]with a minimum of 2 models. Trim/dedupe rules match the old--modelsflag. The--modelsflag is removed; passing it now exits 2 with a pointer to the positional form. Missing or single-model positional likewise exits 2 withburn compare: needs at least 2 models. Run \burn summary --by-provider` (or `burn summary --by-tool`) to see which models have data.` Help block, top-level help, and every example in this repo flip to the positional form. No behavioral change to filters, the cell schema, the JSON contract, or aggregation logic.