디자인이식 가드도구 — 클로드 디자인 패키징 1:1 이식 강제 (2026-07-24)
개요
클로드 디자인(claude.ai/design) 패키징 파일을 클로드코드 세션에 주면 자의적 재해석으로 매번 다른 디자인이 나오는 문제를 프롬프트(확률)가 아니라 프로그램(결정론)으로 차단하는 도구군. 오푸스(아키텍팅)→소넷(구현)→하이쿠(검증)→페블(최종판정·배선) 체인으로 구축.원인 실측 2가지: ①스탠드얼론 번들=base64 단일줄→코드가 정본을 못 읽어 임의창작(feedback_스탠드얼론_base64_핸드오프_참조금지) ②Fable 5는 스티어링 없으면 범위 자가확장이 기본 성향(공식 프롬프팅 가이드) — 단 구조적 지시(훅·커맨드)는 잘 따름 → 모델 낮추기보다 도구 강제가 정답.
무엇을 만들었나 (7파일 + 전역 훅 배선)
| 파일 | 역할 |
|---|---|
~/.claude/scripts/디자인이식.sh (740줄) | 메인 CLI: unpack(dc 언팩법 5단계·gunzip 필수)/register/tokens/guard/diff/status/list |
~/.claude/scripts/디자인이식판정.한선 (+.rpn.한선) | 4상 판정코어: 티=완전보존/옴=경미/타=위반(신규색≥1 하드라인)/음=원본훼손. STRICT 0. 학습완료(intent=디자인이식판정) |
~/.claude/scripts/디자인이식가드.sh | PreToolUse 훅: 등록 원본dir 하위 Write/Edit/파괴 Bash → deny JSON. cp/grep 등 읽기는 오탐 0. 레지스트리 0건 시 18ms 통과 |
~/.claude/scripts/디자인이식게이트.sh | PostToolUse 훅: 산출dir 저장 시 diff --quick, 타/음이면 additionalContext 강제 주입 |
~/.claude/commands/디자인이식.md | /디자인이식 커맨드: 이식 기술자 계약(재창작 금지·값 복사·미니 dc 런타임·diff PASS 전 완료주장 금지)+고정/재량 분리 |
~/.claude/scripts/디자인이식-모델대조.sh | 모델×N회 위반 정량 하네스 → 모델대조.psv ("패블이 더 심한가"를 숫자로) |
~/.claude/scripts/디자인이식-자체테스트.sh | 픽스처 8케이스 자동검증 |
- 데이터 홈:
~/.claude/design-port/(이식대상.psv=레지스트리 SSOT, 프로젝트별 원본/토큰정본.psv/리포트) - 스펙 SSOT:
~/.claude/design-port/스펙.md(Opus 확정, 15섹션) - 전역 배선:
~/.claude/settings.jsonPreToolUse+PostToolUse append 완료 (백업settings.json.bak-designport)
검증 (3중)
- 소넷: 자체테스트 8/8 + 수용기준 12항 (모델대조 하네스는 실 API 비용 문제로 로직 검증만)
- 하이쿠 독립검증: 9항 전부 PASS (판정코어 3분기 실측·훅 시뮬·PSV 무결성·부작용 0)
- 페블 직접 재검증: 자체테스트 8/8 재현, 신규 컴파일=캐시 toau 동일(하이쿠의 "fresh toau 미동작"은 미재현), tiomta-root 실측 diff 작동, 위반 포맷
##중복 버그 1건 직접 수정(color=#값형식)
사용법 (전 세션)
bash디자인이식.sh unpack <패키징.html> <프로젝트> # base64/dc번들 → 읽을 수 있는 정본 추출+등록
디자인이식.sh register <프로젝트> <원본dir> <산출dir> # 이미 읽을 수 있는 핸드오프
/디자인이식 <프로젝트> # 이식 기술자 모드 (계약 강제)
디자인이식.sh diff <프로젝트> # 4상 판정 (타/음이면 완료주장 금지)
디자인이식-모델대조.sh <프로젝트> "fable sonnet opus" 3 # 모델별 위반 정량비교
잔여 이슈 / 주의
- 산출dir는 좁게 등록 — tiomta-root처럼 사이트 전체(public/)를 산출dir로 잡으면 핸드오프와 무관한 기존 파일의 색 484종이 전부 신규색 오탐 → 이식 대상 파일/디렉토리만 등록할 것. (tiomta-root 등록은 타 세션 소유라 미수정 — 해당 세션이 재스코프 권장)
- unpack의 dc 언팩은 합성 픽스처로만 검증 — 실제 스탠드얼론 샘플로 재검증 권장(
<x-dc>바깥 전역:root토큰 케이스). - 모델대조 하네스는 실
claude -p과금 발생 — 사용자 판단 하에 실행. - PostToolUse 게이트는 등록 프로젝트 산출dir 저장마다 diff 실행 — 대형 산출dir는 저장당 수 초 지연 가능.