Files
Pier_v1/Code/교각모델링/check_outputs.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

37 lines
1.6 KiB
Python

"""Step 3 helper: RAG source integrity (V12) and output existence/version (V9)."""
import hashlib
import json
from pathlib import Path
HERE = Path(__file__).resolve().parent
ROOT = HERE.parents[1]
def sha(p):
return hashlib.sha256(p.read_bytes()).hexdigest()
audit = json.loads((HERE / "입력DXF" / "conversion_audit.json").read_text(encoding="utf-8"))
for a in audit:
src = ROOT / a["source"]
print("V12", src.name, "UNCHANGED" if sha(src) == a["source_sha256"] else "CHANGED")
outputs = {
"DOC/02_분석/분석_통로박스모델링과정_2026-10-07_v0.1.00.md": "v0.1.00",
"DOC/02_분석/분석_운곡교P1교각도면판독_2026-10-07_v0.1.01.md": "v0.1.01",
"DOC/03_설계/설계_운곡교P1교각모델링_2026-10-08_v0.1.10.md": "v0.1.10",
"DOC/03_설계/backup/설계_운곡교P1교각모델링_2026-10-07_v0.1.00.md": "v0.1.00",
"DOC/05_검증/검증_운곡교P1교각모델_2026-10-08_v0.1.05.md": "v0.1.05",
"DOC/02_분석/분석_운곡교P1코핑철근판독_2026-10-07_v0.1.02.md": "v0.1.02",
}
for rel, ver in outputs.items():
p = ROOT / rel
if not p.exists():
print("V9", rel, "MISSING")
continue
rows = [l for l in p.read_text(encoding="utf-8").splitlines() if l.startswith("| v0.")]
latest = rows[-1].split("|")[1].strip() if rows else None
print("V9", rel, p.stat().st_size, "bytes, history latest", latest, "OK" if latest == ver else "MISMATCH")
m = HERE / "출력" / "실행_운곡교P1교각모델_2026-10-08_v0.1.09.3dm"
print("V9", m.name, m.exists() and m.stat().st_size, "bytes")