muse-agent-example/humanization/tests/test_framework_coverage.py

47 lines
1.8 KiB
Python

#!/usr/bin/env python3
"""20 项研究机制覆盖矩阵的机械卫生门。"""
from __future__ import annotations
import pathlib
import unittest
import yaml
ROOT = pathlib.Path(__file__).resolve().parents[1]
MATRIX = ROOT / "research/20-project-skill-coverage.yaml"
class FrameworkCoverageTest(unittest.TestCase):
def test_matrix_has_five_skill_owners_and_real_implementation_paths(self):
data = yaml.safe_load(MATRIX.read_text(encoding="utf-8"))
self.assertEqual(data["schema_version"], "humanization-research-skill-coverage-v1")
capabilities = data["capabilities"]
self.assertGreaterEqual(len(capabilities), 12)
capability_ids = {item["id"] for item in capabilities}
projects = data["projects"]
self.assertEqual(len(projects), 20)
self.assertEqual(len({item["id"] for item in projects}), 20)
for project in projects:
self.assertTrue(project["mapped_capabilities"], project["id"])
self.assertTrue(set(project["mapped_capabilities"]) <= capability_ids, project["id"])
owners = {item["owner_skill"] for item in capabilities}
self.assertEqual(
owners,
{
"establish-voice-baseline",
"prevent-ai-flavor",
"diagnose-ai-flavor",
"revise-ai-flavor",
"capture-ai-flavor-cases",
},
)
for item in capabilities:
implementation_ref = item["implementation"]
implementation = ROOT.parent / implementation_ref if implementation_ref.startswith((".", "humanization/")) else ROOT / implementation_ref
self.assertTrue(implementation.exists(), f"{item['id']}: {implementation}")
self.assertIn(item["status"], {"implemented", "partial", "pending"})
if __name__ == "__main__":
unittest.main()