feat: add Guanghu persona continuity skill kernel

Part 3/4 of the recovered Fifth Domain upgrade. Applies the persona continuity skill guard from local source commit 18dfdfd without rewriting remote history.
This commit is contained in:
bingshuo 2026-07-26 23:43:30 +08:00
commit c5be48e6a1
16 changed files with 639 additions and 6 deletions

View file

@ -48,6 +48,36 @@ class PersonaSkillResolverTests(unittest.TestCase):
self.assertEqual(result["decision"], "NO_MATCH")
self.assertFalse(result["authority_granted"])
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"])
if __name__ == "__main__":
unittest.main()