init: llm-wiki-haness 하네스 설계
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
|
||||
RUNTIME = Path(__file__).resolve().parents[1] / "runtime"
|
||||
sys.path.insert(0, str(RUNTIME))
|
||||
import fix_bare_refs # noqa: E402
|
||||
|
||||
|
||||
class FixBareRefsTest(unittest.TestCase):
|
||||
def test_only_checker_confirmed_bare_refs_are_linked(self) -> None:
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
root = Path(directory)
|
||||
hooks = root / ".claude/hooks"
|
||||
hooks.mkdir(parents=True)
|
||||
repository_hooks = Path(__file__).resolve().parents[2] / ".claude/hooks"
|
||||
for name in ("wiki_consistency_check.py", "wiki_graph_contract_check.py", "wiki_rules.py"):
|
||||
(hooks / name).write_bytes((repository_hooks / name).read_bytes())
|
||||
branches = root / "raw/branch-notes"
|
||||
branches.mkdir(parents=True)
|
||||
document = branches / "feature-source.md"
|
||||
document.write_text(
|
||||
"""# source
|
||||
|
||||
feature-target D3 결정을 따른다. 이미 [[raw/branch-notes/feature-linked]] D1 결정도 있다.
|
||||
|
||||
## 관심사 커버리지
|
||||
| 관심사 | 상태 | owner |
|
||||
|---|---|---|
|
||||
| 실행 | delegated | feature-target |
|
||||
""",
|
||||
encoding="utf-8",
|
||||
)
|
||||
updates, counts = fix_bare_refs.build_updates(root)
|
||||
rendered = updates[document]
|
||||
self.assertIn("[[raw/branch-notes/feature-target]] D3", rendered)
|
||||
self.assertIn("| 실행 | delegated | [[raw/branch-notes/feature-target]] |", rendered)
|
||||
self.assertIn("[[raw/branch-notes/feature-linked]] D1", rendered)
|
||||
self.assertEqual(counts["decision_ref_fixes"], 1)
|
||||
self.assertEqual(counts["owner_ref_fixes"], 1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user