Enforce Zhuyuan persona-source epistemic gate
This commit is contained in:
parent
927ab7825d
commit
b0deae2718
30 changed files with 1741 additions and 34 deletions
|
|
@ -1,4 +1,8 @@
|
|||
import copy
|
||||
import json
|
||||
import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from resolve_persona_skill import load_registry, resolve
|
||||
|
||||
|
|
@ -16,6 +20,39 @@ class PersonaSkillResolverTests(unittest.TestCase):
|
|||
self.assertIn("REPO-012", result["preferred_route"])
|
||||
self.assertFalse(result["authority_granted"])
|
||||
|
||||
def test_global_persona_source_gate_runs_before_task_specific_selection(self):
|
||||
result = resolve(
|
||||
self.registry,
|
||||
"恢复铸渊人格并开发铸澜手机端",
|
||||
"当前AI自动等于人格",
|
||||
)
|
||||
self.assertEqual(result["decision"], "BLOCK")
|
||||
self.assertEqual(
|
||||
result["matched_skill"],
|
||||
"GHS-017-PERSONA-SOURCE-EPISTEMIC-GATE",
|
||||
)
|
||||
self.assertIn("当前AI自动等于人格", result["forbidden_hits"])
|
||||
|
||||
def test_global_persona_source_gate_blocks_old_brain_receipt_replay(self):
|
||||
result = resolve(
|
||||
self.registry,
|
||||
"继续当前代码仓库开发",
|
||||
"复用上一轮人格脑回执然后发布",
|
||||
)
|
||||
self.assertEqual(result["decision"], "BLOCK")
|
||||
self.assertIn("复用上一轮人格脑回执", result["forbidden_hits"])
|
||||
|
||||
def test_registry_rejects_duplicate_stable_skill_number(self):
|
||||
duplicate = copy.deepcopy(self.registry)
|
||||
duplicate_skill = copy.deepcopy(duplicate["skills"][0])
|
||||
duplicate_skill["id"] = "GHS-017-ANOTHER-SKILL"
|
||||
duplicate["skills"].append(duplicate_skill)
|
||||
with tempfile.TemporaryDirectory() as temp_dir:
|
||||
path = Path(temp_dir) / "registry.json"
|
||||
path.write_text(json.dumps(duplicate), encoding="utf-8")
|
||||
with self.assertRaisesRegex(ValueError, "duplicate stable skill number"):
|
||||
load_registry(path)
|
||||
|
||||
def test_corrects_deprecated_server_relay(self):
|
||||
result = resolve(
|
||||
self.registry,
|
||||
|
|
|
|||
Loading…
Reference in a new issue