# Calibration fixture: GOLD — candidate-package 스키마(Task 7 CANON_FIELDS)를 따르는 # 우수 샘플. 구체적·차별적·evidence-pack에 접지된 문장으로 구성한다(제네릭 형용사 금지). # ruler가 이 fixture를 bad와 pairwise 비교했을 때 gold가 이겨야 calibration이 통과한다 # (calibrate.gold_vs_bad_pass, GOLD_PREF_MIN=0.67). candidate-package: problem-framing: value: > 5~30인 매장 매니저가 매주 겪는 실수는 하나의 문제가 아니라 한 원인 사슬에서 나온 세 증상이다 — 수작업 확인의 구조적 한계가 가용시간 충돌을 낳고(매니저 5인 중 4인이 직전달 겹침 배정 경험), 누적 야간횟수 미추적이 편중을 낳고(5인 중 3인이 항의 수령 경험), 수동 통보 의존이 공지 누락을 낳는다(주 평균 1.8건 변경 중 절반이 미통보, 5인 중 4인에게서 노쇼로 이어진 사례 확인). source-artifacts: - artifact-ref: evidence-pack/user-observations.md artifact-sha256: 4370afe4e52b258bee65cec8043b55c642bb23bcfb07ab76f5d84221c52a88b1 source-fields: ["매니저 관찰 2", "매니저 관찰 3", "매니저 관찰 4", "종합 시사점 9"] user-and-core-task: value: > 1차 사용자는 일요일 저녁 마감 후 20~30분(관찰 평균 25분) 안에 교대표를 작성·게시해야 하는 매장 매니저다. 2차 사용자는 카카오톡으로 교대표를 확인하는 파트타임 직원(4인 중 3인이 신규 앱 설치에 저항 — "당장 급하지 않으면 안 깐다"). 핵심 과제는 가용시간 입력의 유실 없는 반영(직원 4인 중 3인이 구두 전달 유실 경험)부터 변경 알림 도달까지의 단일 흐름이다. source-artifacts: - artifact-ref: evidence-pack/user-observations.md artifact-sha256: 4370afe4e52b258bee65cec8043b55c642bb23bcfb07ab76f5d84221c52a88b1 source-fields: ["매니저 관찰 1", "직원 관찰 6", "직원 관찰 7"] explored-directions: - "A. 요일×직원 그리드(주간 보드) — 매니저의 기존 엑셀 정신모델과 1:1 대응, 학습곡선 최소화." - "B. 캘린더 월간 뷰 우선 — 월 단위 조망은 가능하나 주간 작성 워크플로(관찰 1: 매주 반복 25분 작업)와 어긋남, 한 주 내 충돌 확인이 오히려 스크롤로 분산됨." - "C. 직원별 개인 페이지 우선(내 시간표만 보기) — 직원 알림 요구(관찰 6·8)엔 맞지만 매니저의 '충돌 없는 표 생성'이라는 1차 과제를 지원하지 못함(전체 조망 불가)." selected-direction: value: > A안(요일×직원 그리드) 채택. 그리드 셀에 가용시간 충돌은 색상 배경 + 경고 아이콘 + "가용외" 텍스트 라벨을 병행 표시(AA 준수, 색맹 사용자도 식별). 각 직원 열 상단에 "이번 주 야간 N회" 누적 배지를 고정 노출해 편중을 매니저가 배정 중 즉시 인지하게 한다. 게시 후 셀을 수정하면 해당 직원에게 카카오톡 딥링크 알림이 자동 발송된다(신규 앱 설치 요구 없음). source-artifacts: - artifact-ref: evidence-pack/competitor-snapshot.md artifact-sha256: 0baf427bb6fd0527ec1b569ef533be368135d8b9d110f54b0608aa24b1c7e082 source-fields: ["공백 지도(White Space)"] - artifact-ref: evidence-pack/user-observations.md artifact-sha256: 4370afe4e52b258bee65cec8043b55c642bb23bcfb07ab76f5d84221c52a88b1 source-fields: ["매니저 관찰 3", "직원 관찰 6"] selection-rationale: value: > 그룹 B/C 경쟁제품은 충돌 감지가 겹침만 잡고 가용외 배정은 못 잡거나(그룹 B 약점 1), 야간 편중 경고 자체가 없다(공백 지도 공통 공백). A안의 이중 표시(색+아이콘+텍스트)와 야간 누적 배지는 이 공백을 정확히 메운다. 카카오톡 딥링크 알림은 그룹 B의 앱 푸시 도달률 문제(약점 2)를 세그먼트의 기존 습관(직원 관찰 6)에 올라타 우회한다. source-artifacts: - artifact-ref: evidence-pack/competitor-snapshot.md artifact-sha256: 0baf427bb6fd0527ec1b569ef533be368135d8b9d110f54b0608aa24b1c7e082 source-fields: ["그룹 B — 국내 스타트업 교대표 앱"] rejected-directions: - "B. 캘린더 월간 뷰 우선(주간 작성 워크플로와 불일치, 충돌 확인이 스크롤로 분산)" - "C. 직원별 개인 페이지 우선(매니저의 전체 조망·충돌 생성 과제를 지원하지 못함)" locked-invariants: - "충돌 표시는 색상 단독 금지 — 아이콘+텍스트 병행(AA)" - "야간 누적 배지는 직원 열 상단에 고정 노출(스크롤로 가려지지 않음)" - "알림은 신규 앱 설치를 요구하지 않는 채널(카카오톡 딥링크) 우선" coded-prototype: value: > WeeklyShiftBoard 화면 1개(요일×직원 그리드, 충돌 배지, 야간 누적 카운터, 변경 알림 트리거 버튼) + AvailabilityInput 화면 1개(직원 가용시간 입력, 그리드와 동일 토큰 세트 공유)를 코드로 렌더. 데스크톱·모바일 두 뷰포트 스크린샷을 headless chrome으로 캡처해 prototype-desktop.png / prototype-mobile.png 로 첨부. source-artifacts: - artifact-ref: design-system/screens/WeeklyShiftBoard.tsx artifact-sha256: 9f1c7a3e2b6d4f0a8c5e1d3b7f9a2c4e6b8d0f1a3c5e7b9d1f3a5c7e9b1d3f5a source-fields: ["grid-cell-conflict-badge", "night-count-pill"] critique-findings: - "1차 리뷰: 야간 누적 배지 색상이 충돌 배경색과 인접해 시각적으로 혼동됨(6-lens 사용성 관점)." - "1차 리뷰: 모바일 뷰에서 그리드 가로 스크롤이 필요해 '한눈에 조망' 목표(관찰 1)와 상충." revisions: - "야간 누적 배지를 배경 대비 대신 상단 고정 pill(중립색) + 숫자로 변경, 충돌 배지와 시각 계열 분리." - "모바일은 요일 탭 전환형 레이아웃으로 재구성(그리드 전체 대신 하루씩 노출), 데스크톱은 그리드 유지 — 반응형 분기를 명시적 토큰 경계로 문서화." design-system-handoff-readiness: value: > 토큰(충돌 배경색·경고 아이콘·야간 배지 pill·그리드 8pt 간격) 확정, 두 컴포넌트 (WeeklyShiftBoard·AvailabilityInput) 렌더 완료, 반응형 분기 규칙 문서화 완료 — 엔지니어링 착수 가능(readiness: ready). source-artifacts: - artifact-ref: design-system/tokens.css artifact-sha256: 3e5c7a9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f9a1c3e5b7d9f1a3c5e7b9d1f3a5c source-fields: ["--color-conflict-bg", "--radius-badge", "--space-grid"]