from __future__ import annotations from beaver.skills.assembler.task_assembler import SkillAssembler from beaver.skills.catalog.loader import SkillsLoader def test_beaver_team_template_block_is_not_runtime_metadata(tmp_path) -> None: skill_dir = tmp_path / "plugin-skills" / "financial-comparison" skill_dir.mkdir(parents=True) (skill_dir / "SKILL.md").write_text( "---\n" "description: Compare financial disclosures.\n" "---\n\n" "# Financial Comparison\n\n" "```beaver-team-template\n" '{"version": 1, "nodes": [{"node_id": "collect", "task": "Collect official sources"}]}\n' "```\n", encoding="utf-8", ) loader = SkillsLoader( tmp_path, builtin_skills_dir=tmp_path / "no-builtins", extra_dirs=[tmp_path / "plugin-skills"], ) record = loader.get_skill_record("financial-comparison") context = SkillAssembler(loader)._activate_skill_contexts(["financial-comparison"])[0] assert record is not None assert not hasattr(record, "team_template") assert not hasattr(record, "team_template_warnings") assert not hasattr(context, "team_template") assert not hasattr(context, "team_template_warnings")