Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions argus_skill/adapters/agent_cli_backend/_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ def set_acp_scope(self, scope: str) -> None:
def prewarm_acp_client(
self,
*,
run_label: str,
model: str | None,
reasoning_effort: str | None,
lean: bool,
Expand All @@ -166,6 +167,7 @@ def prewarm_acp_client(
prewarm = getattr(self._runner, "prewarm_acp_client", None)
if callable(prewarm):
prewarm(
run_label=run_label,
model=model,
reasoning_effort=reasoning_effort,
lean=lean,
Expand Down
3 changes: 3 additions & 0 deletions argus_skill/agent_cli/_acp_routing.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ def set_acp_scope(self, scope: str) -> None:
def prewarm_acp_client(
self,
*,
run_label: str,
model: str | None,
reasoning_effort: str | None,
lean: bool,
Expand All @@ -61,6 +62,8 @@ def prewarm_acp_client(
read_only: bool = False,
add_dirs: list[str] | None = None,
) -> None:
if not self._acp_enabled(run_label):
return
from .copilot_acp import get_client

get_client(
Expand Down
4 changes: 2 additions & 2 deletions argus_skill/release_manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"package_version": "0.1.1",
"release_id": "0.1.1+6602ba3ec767d3f5",
"release_id": "0.1.1+16cbbf8491922893",
"schema_version": 1,
"source_digest": "6602ba3ec767d3f5f63d5dcb1ec840b7750e5933cf3cc274f40ff78d3acdf03b"
"source_digest": "16cbbf8491922893bf1552882ad288342d84b865d0f7644544e4a4223e2d6413"
}
2 changes: 2 additions & 0 deletions argus_skill/webapi/manager_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,13 +154,15 @@ def _prewarm_manager_context(
"low",
).value.strip() or "low"
prewarm_classifier(
run_label="manager-frontdoor-classify",
model=resolve_manager_classify_model(),
reasoning_effort=classify_effort,
lean=True,
cwd=cwd,
front_door_session=True,
)
prewarm_reply(
run_label="simple-1",
model=resolve_manager_reply_model(),
reasoning_effort=resolve_role_reasoning_effort(
"ARGUS_SKILL_SELF_REASONING_EFFORT",
Expand Down
4 changes: 2 additions & 2 deletions frontend/core/src/release.generated.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
// Generated by argus_skill.release_tools.generate_manifest. Do not edit.
export const RELEASE_ID = "0.1.1+6602ba3ec767d3f5";
export const RELEASE_SOURCE_DIGEST = "6602ba3ec767d3f5f63d5dcb1ec840b7750e5933cf3cc274f40ff78d3acdf03b";
export const RELEASE_ID = "0.1.1+16cbbf8491922893";
export const RELEASE_SOURCE_DIGEST = "16cbbf8491922893bf1552882ad288342d84b865d0f7644544e4a4223e2d6413";
2 changes: 1 addition & 1 deletion frontend/tui/bundle/argus.mjs

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion frontend/web/dist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
document.documentElement.dataset.theme = dark ? 'dark' : 'light';
})();
</script>
<script type="module" crossorigin src="/assets/index-BbCY0C-f.js"></script>
<script type="module" crossorigin src="/assets/index-BoGCagzS.js"></script>
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
<link rel="modulepreload" crossorigin href="/assets/icons-BgG77X6K.js">
<link rel="modulepreload" crossorigin href="/assets/query-DOc9YWJi.js">
Expand Down
31 changes: 31 additions & 0 deletions tests/agent_cli/test_acp_scope_gate.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,37 @@ def test_copilot_manager_acp_defaults_on_with_explicit_rollback(monkeypatch) ->
assert runner._acp_enabled("simple-1") is False


def test_prewarm_honors_acp_rollback_and_label_override(monkeypatch) -> None:
runner = AgentCliRunner("copilot-bin", backend=BACKEND_COPILOT)
calls: list[str] = []
monkeypatch.setattr(
copilot_acp,
"get_client",
lambda *_args, **_kwargs: calls.append("started"),
)

monkeypatch.setenv("ARGUS_SKILL_COPILOT_ACP", "0")
runner.prewarm_acp_client(
run_label="manager-frontdoor-classify",
model="gpt-5.4-mini",
reasoning_effort="low",
lean=True,
cwd="/workspace",
)
assert calls == []

monkeypatch.setenv("ARGUS_SKILL_COPILOT_ACP", "1")
monkeypatch.setenv("ARGUS_SKILL_COPILOT_ACP_LABELS", "simple-1")
runner.prewarm_acp_client(
run_label="manager-frontdoor-classify",
model="gpt-5.4-mini",
reasoning_effort="low",
lean=True,
cwd="/workspace",
)
assert calls == []


def test_front_door_label_takes_acp_and_never_spawns_cli(monkeypatch) -> None:
monkeypatch.setenv("ARGUS_SKILL_COPILOT_ACP", "1")
acp_proc = _FakeAcpProc()
Expand Down
Loading