from pathlib import Path ROOT = Path(__file__).resolve().parents[1] SKILL = (ROOT / "SKILL.md").read_text(encoding="utf-8") RUNTIME = (ROOT / "references/runtime-and-ci.md").read_text(encoding="utf-8") REFERENCES = { "development-durable-wave-execution": "https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-durable-wave-execution", "development-gates": "https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-gates", "development-integrity": "https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-integrity", "development-method-ttd": "https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-method-ttd", "development-branching-strategy": "https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-branching-strategy", "development-monorepo-pnpm": "https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-monorepo-pnpm", "development-scripts": "https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-scripts", "development-gitops-argo-cd-gondor-v1": "https://gitea.lego-cloud.eu/home-v1-skills-code-agent/development-gitops-argo-cd-gondor-v1", } def test_delivery_reference_routes_reusable_development_procedures() -> None: assert "## Development Skill Routing" in SKILL for name, url in REFERENCES.items(): assert name in SKILL assert url in SKILL def test_generic_automation_is_owned_by_development_scripts() -> None: assert "`development-scripts` owns Taskfile, `.scripts/`" in SKILL assert "must not restate generic RED–GREEN–REFACTOR mechanics" in SKILL assert "the explicit project/channel overlay wins" in SKILL def test_gitops_reference_requires_one_environment_per_repository() -> None: assert "development-gitops-argo-cd-gondor-v1" in RUNTIME assert "one repository per environment" in RUNTIME