diff --git a/apn/solver.py b/apn/solver.py index f3e0d1e..d7783a2 100644 --- a/apn/solver.py +++ b/apn/solver.py @@ -34,8 +34,6 @@ logger = logging.getLogger(__name__) -MAX_BACKGROUND_SUBAGENTS = 64 - # Deliberately reveals nothing about *why* (no verifier output), so the model # cannot search for verifier gaps. INCORRECT_MESSAGE = ( @@ -129,9 +127,8 @@ def build_agent( """Construct the configured agent loop. Only exposes functionality common to ``deepagent`` and ``react`` so the two - behave identically apart from the loop itself. The ``deepagent``-only - settings are the subagent roster, restricted to ``general()``, and - background dispatch, capped at ``MAX_BACKGROUND_SUBAGENTS``. + behave identically apart from the loop itself. The one ``deepagent``-only + setting is the subagent roster, restricted to ``general()``. """ constructor: Callable[..., Agent] loop_kwargs: dict[str, Any] = {} @@ -142,7 +139,6 @@ def build_agent( # research() and plan() default to read-only sandbox tools (read_file, # list_files, grep), and this is not made clear to agents. loop_kwargs["subagents"] = [general()] - loop_kwargs["background"] = MAX_BACKGROUND_SUBAGENTS elif agent_type == "react": constructor = react else: diff --git a/configs/bloom68.yaml b/configs/bloom68.yaml index 80cb3cd..4ef26b0 100644 --- a/configs/bloom68.yaml +++ b/configs/bloom68.yaml @@ -27,7 +27,7 @@ models: # 1 model x 68 samples x $300/sample cap = $20,400 max; gated runs sit near max. cost_limit: 300.0 -working_limit: 129_600 # 36 * 60 * 60 +working_limit: 259_200 # 72 * 60 * 60 # $ per 1M tokens; keys must match Inspect's resolved / names. model_cost_config: diff --git a/tests/test_agent.py b/tests/test_agent.py index 8e570f8..48ed3b0 100644 --- a/tests/test_agent.py +++ b/tests/test_agent.py @@ -106,3 +106,9 @@ def test_deep_agent_offers_only_general_subagent( # alone, since it is the only one that inherits the parent's Lean tools. seen = _build(monkeypatch, "deep") assert [sa.name for sa in seen["subagents"]] == ["general"] + + +def test_react_agent_gets_no_subagents_kwarg(monkeypatch: pytest.MonkeyPatch) -> None: + # react() has no subagents parameter; the deep-only kwarg must not leak. + seen = _build(monkeypatch, "react") + assert "subagents" not in seen