add skills
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
try:
|
||||
import tomllib
|
||||
except ModuleNotFoundError: # pragma: no cover
|
||||
import tomli as tomllib
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
AGENTS_ROOT = ROOT / ".codex" / "agents"
|
||||
|
||||
AGENT_SKILL_REFERENCES = {
|
||||
"coordinator-agent.toml": (
|
||||
"fesa-requirements-baseline",
|
||||
"fesa-reference-models",
|
||||
"fesa-release-readiness",
|
||||
),
|
||||
"requirement-agent.toml": ("fesa-requirements-baseline",),
|
||||
"research-agent.toml": (
|
||||
"fesa-research-evidence",
|
||||
"fem-theory-query",
|
||||
),
|
||||
"formulation-agent.toml": (
|
||||
"fesa-formulation-spec",
|
||||
"fem-theory-query",
|
||||
),
|
||||
"numerical-review-agent.toml": (
|
||||
"fesa-numerical-review",
|
||||
"fem-theory-query",
|
||||
),
|
||||
"io-definition-agent.toml": (
|
||||
"fesa-io-contract",
|
||||
"fem-theory-query",
|
||||
),
|
||||
"reference-model-agent.toml": (
|
||||
"fesa-reference-models",
|
||||
"fem-theory-query",
|
||||
),
|
||||
"implementation-planning-agent.toml": (
|
||||
"fesa-formulation-spec",
|
||||
"fesa-reference-models",
|
||||
"fesa-cpp-msvc-tdd",
|
||||
"fem-theory-query",
|
||||
),
|
||||
"implementation-agent.toml": ("fesa-cpp-msvc-tdd",),
|
||||
"build-test-executor-agent.toml": ("fesa-cpp-msvc-tdd",),
|
||||
"correction-agent.toml": ("fesa-cpp-msvc-tdd",),
|
||||
"reference-verification-agent.toml": (
|
||||
"fesa-reference-comparison",
|
||||
"fesa-io-contract",
|
||||
),
|
||||
"physics-evaluation-agent.toml": (
|
||||
"fesa-physics-sanity",
|
||||
"fem-theory-query",
|
||||
),
|
||||
"release-agent.toml": ("fesa-release-readiness",),
|
||||
}
|
||||
|
||||
|
||||
class AgentSkillReferenceTests(unittest.TestCase):
|
||||
def test_agents_reference_their_solver_skills(self):
|
||||
for agent_file, skill_names in AGENT_SKILL_REFERENCES.items():
|
||||
with self.subTest(agent=agent_file):
|
||||
text = (AGENTS_ROOT / agent_file).read_text(encoding="utf-8")
|
||||
data = tomllib.loads(text)
|
||||
instructions = data["developer_instructions"]
|
||||
|
||||
self.assertIn("Skill references:", instructions)
|
||||
for skill_name in skill_names:
|
||||
self.assertIn(f"${skill_name}", instructions)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user