fix: patch checks full target span + marker injection/integrity (algo #8)

This commit is contained in:
2026-07-16 06:20:29 -04:00
parent caea9150b3
commit 65126feada
4 changed files with 178 additions and 7 deletions
+30
View File
@@ -309,6 +309,36 @@ class TestValidateSkill:
result = validate_skill(orig, "no frontmatter body")
assert not result.passed
def test_unpaired_appendix_marker_fails(self) -> None:
"""evolved 出现孤立 APPENDIX_START(无配对 END)→ marker 完整性校验失败。"""
orig = "---\nname: a\ndescription: d\ntask_type: t\n---\nbody body body"
evol = f"---\nname: a\ndescription: d\ntask_type: t\n---\nbody {APPENDIX_START} body"
result = validate_skill(orig, evol)
assert not result.passed
assert any("marker" in e.lower() or "配对" in e for e in result.errors)
def test_duplicate_momentum_marker_fails(self) -> None:
"""evolved 出现两对 MOMENTUM marker → 完整性校验失败(各至多一对)。"""
orig = "---\nname: a\ndescription: d\ntask_type: t\n---\nbody body body"
evol = (
"---\nname: a\ndescription: d\ntask_type: t\n---\n"
f"{MOMENTUM_START}x{MOMENTUM_END} mid {MOMENTUM_START}y{MOMENTUM_END}"
)
result = validate_skill(orig, evol)
assert not result.passed
assert any("marker" in e.lower() or "配对" in e for e in result.errors)
def test_paired_markers_pass(self) -> None:
"""evolved 含成对 appendix+momentum marker(各一对,顺序正确)→ 校验通过。"""
body = "body " * 20
orig = f"---\nname: a\ndescription: d\ntask_type: t\n---\n{body}"
evol = (
f"---\nname: a\ndescription: d\ntask_type: t\n---\n{body}"
f"{APPENDIX_START}\n- n\n{APPENDIX_END}\n{MOMENTUM_START}\nm\n{MOMENTUM_END}"
)
result = validate_skill(orig, evol)
assert result.passed, result.errors
class TestValidateSystem:
"""validate_system 测试。"""