lean-bench

6.7. Suite-level CI budget🔗

--total-seconds N on run puts the whole suite under a wallclock cap (issue #9). The orchestrator schedules benchmarks in their natural order and, before each one, checks whether the deadline has passed; benchmarks that don't fit are recorded as BudgetSkip entries in the report and the export rather than silently dropped, so partial-suite runs are explicit.

The deadline is also threaded into runBenchmark, which can cut a single benchmark short between rungs (the BenchmarkResult.budgetTruncated flag). Total wallclock is therefore approximately total_seconds + maxSecondsPerCall — one rung may be in flight when the deadline trips. The flag is only meaningful in suite mode (--tag / --filter); in single-benchmark mode the per-benchmark cap already bounds runtime.