Merge pull request #193 from openqj/feat-software-engineering-github

feat: software-engineering skill GitHub guarantees
This commit is contained in:
openqj authored and GitHub committed 2026-10-30 14:40:30 +08:00
commit 85f280e5e7
2 files changed
+158 -1

No files matched your search

@@ -0,0 +1,30 @@
"""software-engineering 技能的 GitHub 保证:轻量关键词断言。
只断言正文与附录都含有 GitHub 保证的关键概念,不逐字背诵全文:
主分支保护、merge commit、revert 回滚、PR 号要求、force-push 禁止、
tag 发布、token 只进子进程环境。附录是播种随附版,正文改了附录
没同步时,本测试在附录部分就会失败。
"""
import unittest
from pathlib import Path
SKILL = Path(__file__).resolve().parents[1] / "skills" / "software-engineering" / "SKILL.md"
KEYWORDS = ("主分支保护", "merge commit", "revert", "PR 号",
"force-push", "tag", "子进程环境",
"GET /tasks/{id}/pr/checks")
class SoftwareEngineeringGithubTestCase(unittest.TestCase):
def test_github_guarantees_in_body_and_appendix(self):
text = SKILL.read_text(encoding="utf-8")
main, sep, appendix = text.partition("## 附录:角色模板")
self.assertTrue(sep, "appendix marker missing")
for kw in KEYWORDS:
self.assertIn(kw, main, kw)
self.assertIn(kw, appendix, "appendix: " + kw)
if __name__ == "__main__":
unittest.main()