Files
opensquilla--opensquilla/tests/test_public_release_golden_static.py
2026-07-13 13:12:33 +08:00

49 lines
1.6 KiB
Python

from __future__ import annotations
from pathlib import Path
import yaml
from opensquilla.identity.prompt import assemble_system_prompt
from opensquilla.identity.types import AgentProfile
GOLDEN_PATH = Path("tests/golden/public_release_open.yaml")
def _golden_cases() -> list[dict]:
data = yaml.safe_load(GOLDEN_PATH.read_text(encoding="utf-8"))
assert isinstance(data, dict)
cases = data.get("cases")
assert isinstance(cases, list)
return cases
def test_public_golden_file_uses_public_schema_and_no_removed_tool_names() -> None:
cases = _golden_cases()
assert {case["id"] for case in cases} == {
"canonical-image-tool",
"session-vs-channel-message",
"session-spawn-canonical-name",
"raw-http-is-owner-only",
}
for case in cases:
assert isinstance(case.get("prompt"), str) and case["prompt"]
assert "generate_image" not in " ".join(case.get("must_contain", []))
assert "spawn_subagent" not in " ".join(case.get("must_contain", []))
assert "send_message" not in " ".join(case.get("must_contain", []))
def test_public_golden_static_prompt_contract_matches_tool_policy() -> None:
prompt = assemble_system_prompt(
AgentProfile(agent_id="main", prompt_mode="full"),
tools=["image_generate", "sessions_spawn", "sessions_send", "message"],
)
assert "`image_generate`" in prompt
assert "`sessions_send`" in prompt
assert "`message` only for channel adapter delivery" in prompt
assert "generate_image" not in prompt
assert "spawn_subagent" not in prompt
assert "send_message" not in prompt