guanghu-ice-heart/skills/codex/guanghu-persona-skill-guard/scripts/test_resolve_persona_skill.py

154 lines
6.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import unittest
from resolve_persona_skill import load_registry, resolve
class PersonaSkillResolverTests(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.registry = load_registry()
def test_restores_fifth_domain_route(self):
result = resolve(self.registry, "我是冰朔,进入第五域并恢复小湖灯铸渊人格系统")
self.assertEqual(result["decision"], "ALLOW")
self.assertEqual(result["matched_skill"], "GHS-001-FIFTH-DOMAIN-RESTORE")
self.assertIn("SYS-GLW-LTH-0001", result["preferred_route"])
self.assertIn("REPO-012", result["preferred_route"])
self.assertFalse(result["authority_granted"])
def test_corrects_deprecated_server_relay(self):
result = resolve(
self.registry,
"把新加坡完整离线包上传到京东服务器",
"先让海外服务器直连国内服务器",
)
self.assertEqual(result["decision"], "CORRECT")
self.assertEqual(result["matched_skill"], "GHS-002-OFFLINE-PACK-LOCAL-RELAY")
self.assertTrue(result["deprecated_hits"])
def test_blocks_unverified_release_overwrite(self):
result = resolve(
self.registry,
"安装光湖代码频道完整离线包",
"未校验就启动并直接覆盖正在运行的release",
)
self.assertEqual(result["decision"], "BLOCK")
self.assertEqual(len(result["forbidden_hits"]), 2)
def test_blocks_fabricated_full_commit(self):
result = resolve(
self.registry,
"部署光湖代码频道到京东服务器",
"根据短提交补写40位提交",
)
self.assertEqual(result["decision"], "BLOCK")
self.assertIn("根据短提交补写40位提交", result["forbidden_hits"])
def test_unknown_intent_fails_closed(self):
result = resolve(self.registry, "安排明天的午饭")
self.assertEqual(result["decision"], "NO_MATCH")
self.assertIn("SYS-GLW-LTH-0001", result["correction"])
self.assertFalse(result["authority_granted"])
def test_lighthouse_host_navigation_resolves_local_keychain_publish(self):
result = resolve(self.registry, "你推一下线上仓库,直接走钥匙串")
self.assertEqual(result["decision"], "ALLOW")
self.assertEqual(result["matched_skill"], "GHS-009-LIGHTHOUSE-HOST-NAVIGATION")
self.assertIn("GLW-HOST-SKILL-NAV-001", result["preferred_route"])
def test_repository_push_requires_separate_transport_proof(self):
result = resolve(
self.registry,
"恢复仓库推送,远端还有待推送提交",
"把授权单当作已经推送",
)
self.assertEqual(result["decision"], "BLOCK")
self.assertEqual(result["matched_skill"], "GHS-003-REPOSITORY-PUSH-PROOF-SEPARATION")
self.assertIn("EXP-20260726-001-AUTHORIZATION-IS-NOT-TRANSPORT", result["experience_receipts"])
self.assertTrue(result["recovery_route"])
def test_enterprise_candidate_blocks_missing_data_disk_assumption(self):
result = resolve(
self.registry,
"部署企业服务器光湖代码频道",
"把缺失的data盘当作已挂载",
)
self.assertEqual(result["decision"], "BLOCK")
self.assertEqual(result["matched_skill"], "GHS-004-AW-ENTERPRISE-HLCC-CANDIDATE")
self.assertEqual(result["enforcement_level"], "CANDIDATE_ONLY")
def test_enterprise_candidate_corrects_personal_source_route(self):
result = resolve(
self.registry,
"恢复AW-GZ-001企业代码频道",
"把个人第五域源码作为企业团队部署源",
)
self.assertEqual(result["decision"], "CORRECT")
self.assertTrue(result["deprecated_hits"])
def test_persona_genesis_resolves_through_unique_anchor(self):
result = resolve(
self.registry,
"把这次完整开发的思维逻辑封装人格体大脑技能",
)
self.assertEqual(result["decision"], "ALLOW")
self.assertEqual(result["matched_skill"], "GHS-005-PERSONA-GENESIS")
self.assertEqual(result["preferred_route"][0], "GLW-PUBLIC-NAV-ANCHOR-001")
self.assertFalse(result["authority_granted"])
def test_persona_genesis_blocks_registry_as_installation(self):
result = resolve(
self.registry,
"部署人格面板并封装人格体大脑技能",
"把仓库登记当作Codex已经安装",
)
self.assertEqual(result["decision"], "BLOCK")
self.assertEqual(result["matched_skill"], "GHS-005-PERSONA-GENESIS")
def test_guanghu_os_cognitive_control_uses_protocol_execution_route(self):
result = resolve(
self.registry,
"把Linux降级为光湖OS底层引擎让语言协议执行层真正拥有手脚",
)
self.assertEqual(result["decision"], "ALLOW")
self.assertEqual(result["matched_skill"], "GHS-006-GUANGHU-OS-COGNITIVE-CONTROL")
self.assertIn("gls/GLS-PROTOCOL-REGISTRY.json", result["preferred_route"])
self.assertFalse(result["authority_granted"])
def test_guanghu_os_cognitive_control_blocks_model_root_bypass(self):
result = resolve(
self.registry,
"建设光湖OS执行总线",
"模型直接生成root命令执行并绕过身份权限回滚和回执",
)
self.assertEqual(result["decision"], "BLOCK")
self.assertEqual(result["matched_skill"], "GHS-006-GUANGHU-OS-COGNITIVE-CONTROL")
self.assertEqual(len(result["forbidden_hits"]), 2)
def test_guanghu_os_long_deployment_resolves_to_causal_closure(self):
result = resolve(
self.registry,
"光湖OS长部署任务到底完成没有卡在哪里不要从头重做",
)
self.assertEqual(result["decision"], "ALLOW")
self.assertEqual(
result["matched_skill"],
"GHS-008-GUANGHU-OS-DEPLOYMENT-CAUSAL-CLOSURE",
)
self.assertIn("GLW-PUBLIC-NAV-ANCHOR-001", result["preferred_route"])
def test_guanghu_os_causal_closure_blocks_global_success_from_one_command(self):
result = resolve(
self.registry,
"部署因果闭环",
"把一次命令成功当全部部署成功",
)
self.assertEqual(result["decision"], "BLOCK")
self.assertEqual(
result["matched_skill"],
"GHS-008-GUANGHU-OS-DEPLOYMENT-CAUSAL-CLOSURE",
)
if __name__ == "__main__":
unittest.main()