"""校验 5 个进化/动量模板存在且输出契约关键词与解析代码对齐。""" from pathlib import Path import pytest _PROMPTS_DIR = Path("prompts") @pytest.mark.parametrize( "name, required_tokens", [ ("evolve_skill.md", ["suggestions", "edits"]), ("evolve_system.md", ["suggestions", "edits"]), ("evolve_tool.md", ["edits_extract", "edits_verify"]), ("evolve_rank.md", ["selected_indices"]), ("slow_momentum.md", ["slow_update_content"]), ], ) def test_evolve_template_present_and_contract(name: str, required_tokens: list[str]) -> None: path = _PROMPTS_DIR / name assert path.exists(), f"缺模板: {path}" text = path.read_text(encoding="utf-8") assert text.strip(), f"模板为空: {path}" for token in required_tokens: assert token in text, f"{name} 缺输出契约关键词 {token!r}(与解析代码不对齐)"