# tool-versions.yaml — 하네스가 의존하는 외부 도구의 검증/최소 버전 (finding #18). # doctor.py 가 이 파일을 읽어 런타임 도구 버전을 점검한다(min 미만이면 WARN/FAIL). # CI(.github/workflows/ci.yml)도 이 값으로 툴체인을 셋업한다. tool-versions: # required: 없으면 하네스 핵심 강제기(hook·validator·test)가 동작하지 않는다 → FAIL. required: python: { min: "3.10", tested: "3.12.3", why: "hook·validator·test 런타임" } pyyaml: { min: "6.0", tested: "6.0.1", why: "모든 SSOT YAML 파싱" } # recommended: 없으면 해당 기능만 degrade → WARN(전체는 통과). recommended: jsonschema: { min: "4.0", tested: "4.10.3", why: "report 유형별 스키마 검증(없으면 최소검증 폴백)" } node: { min: "18.0", tested: "24.14.0", why: "design-system(vite build)·preview_ui" } d2: { min: "0.6", tested: "0.7.1", why: "diagram-as-code 실물 렌더(consult·diagram-craft)" } # optional: 있으면 좋지만 대체 경로 있음 → INFO만. optional: marp: { min: "3.0", tested: null, why: "consult 덱(.pptx/.pdf) 렌더. 없으면 html 폴백." }