feat: adapt review budget to diff size

This commit is contained in:
Claude
2026-09-01 11:50:46 +00:00
parent f9eef969e6
commit 4d51e14a1a
5 changed files with 60 additions and 2 deletions
+13
View File
@@ -18,6 +18,19 @@ def test_budget_reads_config_over_environment(monkeypatch):
assert budget.max_steps == 7
def test_budget_scales_for_broad_diff():
diff = "".join("+changed\n" for _ in range(850))
budget = Budget.for_review({}, diff)
assert budget.max_steps == 60
assert budget.max_total_tokens == 800_000
def test_explicit_budget_wins_over_diff_profile():
diff = "".join("+changed\n" for _ in range(2_100))
budget = Budget.for_review({"budget": {"max_steps": 9}}, diff)
assert budget.max_steps == 9
def test_budget_state_stops_at_token_limit():
state = BudgetState(Budget(max_steps=20, max_total_tokens=100))
assert state.record({"steps": 1, "total": 60, "output": 10}) == ""