- 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>
31 lines
1.3 KiB
Python
31 lines
1.3 KiB
Python
"""P1 acceptance baseline: run the legacy verify scripts (Code/교각모델링, unchanged) on a saved model.
|
|
|
|
usage: python legacy_baseline.py <model.3dm> <out dir>
|
|
Writes <out dir>/legacy_<script>.json (one per checker) and prints each summary.
|
|
"""
|
|
import json
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
APP = Path(__file__).resolve().parents[1]
|
|
LEGACY = APP.parent / "교각모델링"
|
|
sys.path.insert(0, str(APP))
|
|
from runner import run_job # noqa: E402
|
|
|
|
SCRIPTS = ["verify_rhino.py", "verify_rebar.py", "verify_footing_rebar.py", "verify_coping_rebar.py",
|
|
"verify_bearing_plates.py"]
|
|
|
|
if __name__ == "__main__":
|
|
model, out = Path(sys.argv[1]).resolve(), Path(sys.argv[2]).resolve()
|
|
out.mkdir(parents=True, exist_ok=True)
|
|
steps = [{"name": s, "script": LEGACY / s, "globals": {"RESULT_PATH": str(out / f"legacy_{Path(s).stem}.json")}}
|
|
for s in SCRIPTS]
|
|
r = run_job(steps, open_path=model)
|
|
print("wall", r["wall_secs"], "s")
|
|
for st in r["steps"]:
|
|
print(f"{st['name']:<28} {st['secs']:>7}s {st['stdout'].splitlines()[0] if st['stdout'] else ''}")
|
|
for s in SCRIPTS:
|
|
d = json.loads((out / f"legacy_{Path(s).stem}.json").read_text(encoding="utf-8"))
|
|
fails = [x["item"] for x in d["results"] if x["result"] == "FAIL"]
|
|
print(s, d["summary"].get("total"), "checks,", len(fails), "FAIL:", fails[:12])
|