feat: adapt review budget to diff size
This commit is contained in:
@@ -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}) == ""
|
||||
|
||||
Reference in New Issue
Block a user