@@ -39,8 +39,12 @@ def test_default_compose_pulls_release_image_and_preserves_cli_state() -> None:
3939 assert agent ["pull_policy" ] == "always"
4040 assert agent ["environment" ]["APODEX_IN_CONTAINER" ] == "1"
4141 assert agent ["environment" ]["SANDBOX_BACKEND" ] == "container"
42+ assert agent ["environment" ]["FRONTIER_AGENT_REQUIRE_TOOL_USER" ] == "1"
4243 assert "security_opt" not in agent
4344 assert ".:/project" in agent ["volumes" ]
45+ # Compose injects these files into the harness environment, but the
46+ # project bind must not expose their on-disk contents to tool commands.
47+ assert "/dev/null:/project/.env:ro" in agent ["volumes" ]
4448 assert agent ["working_dir" ] == "/project"
4549 assert "./.apodex/runs:/apodex-runs" in agent ["volumes" ]
4650 assert "frontier-agent-inputs:/inputs:ro" in agent ["volumes" ]
@@ -58,6 +62,18 @@ def test_default_compose_pulls_release_image_and_preserves_cli_state() -> None:
5862 )
5963 assert agent ["environment" ]["APODEX_WORKSPACE_LINK" ] == "/workspace"
6064
65+ evaluator = compose ["services" ]["eval" ]
66+ assert evaluator ["environment" ]["SANDBOX_BACKEND" ] == "bwrap"
67+ assert evaluator ["environment" ]["SANDBOX_PROFILE" ] == "service"
68+
69+ for overlay , filename in (
70+ ("compose.sglang.yaml" , ".env.sglang" ),
71+ ("compose.transformers.yaml" , ".env.transformers" ),
72+ ):
73+ assert f"/dev/null:/project/{ filename } :ro" in (
74+ _yaml (overlay )["services" ]["agent" ]["volumes" ]
75+ )
76+
6177
6278def test_development_compose_is_the_only_compose_file_that_builds () -> None :
6379 compose = _yaml ("compose.yaml" )
0 commit comments