Files
Pier_v1/Code/교각모델링/check_report.py
T
ahnyongjooandClaude Sonnet 5.5 964a841de1 chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합
- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환
- Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용
- pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관)
- worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md)
- D:\Rhino-MCP 경로 참조를 새 위치로 치환

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 11:20:18 +09:00

24 lines
1.3 KiB
Python

"""Step 3 check for the drawing review report: required chapters, source on every finding row,
version token vs change history, finding counts, cross-reference to OPEN items."""
import re
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
rep = ROOT / "DOC" / "06_보고서" / sys.argv[1]
s = rep.read_text(encoding="utf-8")
need = ["## 2. 도면 오류", "## 3. 개선방안", "## 4. 추가되어야 할 사항", "## 5. 누락사항", "## 6. 철근재료표", "## 7. 철근상세"]
for h in need:
print("chapter", h, "OK" if h in s else "MISSING")
rows = [l for l in s.splitlines() if re.match(r"\| (E|M)-\d\d ", l)]
nosrc = [l[:12] for l in rows if not re.search(r"D[123]", l)]
print("finding rows", len(rows), "E", sum(l.startswith("| E-") for l in rows), "M", sum(l.startswith("| M-") for l in rows),
"without D1/D2/D3 source", nosrc)
ver = re.search(r"_v(\d+\.\d+\.\d+)\.md$", rep.name).group(1)
hist = [l for l in s.splitlines() if l.startswith("| v")]
print("version", ver, "history latest", hist[-1].split("|")[1].strip(), "OK" if hist[-1].split("|")[1].strip() == "v" + ver else "MISMATCH")
judg = re.findall(r"\| (오류|불일치|누락|확인 필요) \|", s)
print("judgement vocabulary used", sorted(set(judg)), len(judg))
openrefs = re.findall(r"^\| (\d+(?:, \d+)?) \|", s, re.M)
print("OPEN refs in appendix", openrefs)