1. 작업 소개
이 사이트의 디자인 시스템을 세우는 동안 실행 순서 9단계와 각 단계를 무엇으로 확인했는지를 그대로
남겼다. 산출물은 네 곳에 나뉘어 들어갔다 — 규약은 .claude/(4파일), 값은
apps/handwork/design/(21파일), 코드는 src/shared/ui/(19파일), 검사는 scripts/(3파일). 문서만
2,273줄이다.
2. 분석 결과
취향으로 정한 값이 하나도 없다. 컴포넌트 9종은 기존 코드에서 같은 클래스 문자열이 몇 번
반복되는지 grep 으로 센 수치로 뽑았고 — PageShell 5회, AppLink 6곳, Badge 4+2회 — 그 수치가
스펙에 파일·줄까지 근거로 기록돼 있다. shadow·drop-shadow 실측이 0건이라 고도 축은 "쓰지
않는다" 로 확정했고, <button> 실측이 1건이라 shadcn 이 주는 variant 6종 · size 7종을 2종 ·
2종으로 줄였다.
검증기가 오류를 실제로 잡는지도 확인했다. 대비 검사에 결함 셋을 일부러 넣어 전부 잡히는 것을 확인했는데,
그중 셋째(CSS 만 바꾸고 문서는 그대로 두기)가 핵심이다. 문서의 hex 쌍끼리만 계산하면 통과는 "색이
맞다" 가 아니라 "문서가 자기와 일관된다" 일 뿐이라, globals.css 의 토큰을 hex 로 바꿔 문서 표와
직접 대조하는 검사를 함께 돌린다 — 현재 쌍 20건 + 토큰 동기 25건, 실패 0.
중간에 구조를 뒤집었다. handwork 의 디자인 시스템이 curvez 의 디자인 산출물 안쪽인
.curvez/design/system/ 에 놓여 있어 문서들이 바깥을 정본으로 가리키고 있었는데, 이를
apps/handwork/design/ 으로 옮기고 참조 29개 파일을 갱신해 디자인 값에 대한 curvez 의존을 0건으로
만들었다. 검증기를 고치지 않고 doctor 가 exit 0 이 됐다.
3. 현재 상태와 남은 작업
화면 코드(views/ · widgets/ · app/)는 curvez-nextjs 소유라 직접 고치지 않고 적용 가이드
676줄로 넘겼다. 이관 대상 26곳, 파일:줄 참조 74개가 전부 실재하는 것까지 확인했고, 값이 실제로
달라지는 5곳은 단순 치환이 아니라는 표시와 함께 before·after 코드를 붙였다.
측정하지 못한 값을 지어내지 않고 남겼다. 랜딩 워드마크의 실제 대비는 배경 사진 픽셀에 달려 있어
단색 fallback 기준으로만 재면 --brand-overlay-ink 가 5색 중 1색에서 1.82 로 미달이고, Button 의
--primary/90 은 알파가 얹힌 색이라 고정 쌍으로 계산되지 않는다. Chromatic 과 axe 를 넣지 않기로
해서 픽셀 단위 시각 회귀와 접근성 자동 검사도 없다.
검증기로 확인하지 못하는 소유 경계가 하나 남았다. handwork-ui 가 소유한 apps/handwork/src/shared/ui/
는 여전히 curvez-nextjs 의 ${paths.web} 안에 있는데, 검증기가 심볼을 해석하지 않아 겹침이 보이지
않을 뿐이다. 그 사실을 .curvez/team.md 에 적어 두고 사람이 지키기로 했다.