identity: producer-run-id: hyeonworks-vnext-v1-direction-divergence-manual-20260718T1145Z context-package-sha256: eedcf6c839f69f3df7a30e7ea18b52ed5be3136c2699a2f7fe183eb27e877b30 artifact-kind: visual-direction-concept artifact-version: 1 direction-id: field-manual representative-screen-id: dual-entry-shared-lab visual-thesis: >- 서로 다른 두 단서를 독립 콘텐츠처럼 꾸미지 않고, 한 장의 현장 매뉴얼에서 선택 가능한 Entry 01A·01B와 하나의 Protocol 01로 편성한다. 굵은 번호는 읽을 순서가 아니라 지금 실행할 행동을 지시하고, 모든 큰 선언 바로 뒤에는 선택·예측·실행할 control이나 검증 가능한 값 변화가 따라온다. 제한된 yellow·green·orange 표식은 상태를 장식하지 않고 활성 모듈, 절차 header, 증상 증거만 구분한다. 결과적으로 화면은 marketing poster가 아니라 TX-LOST-UPDATE-01을 Predict → Observe → Compare → Explain → Transfer로 수행하는 교육용 quick-reference manual처럼 작동한다. concept-invariants: - "Entry 01A와 Entry 01B는 모두 동일한 TX-LOST-UPDATE-01 및 Protocol 01을 가리킨다." - "entry mode는 orientation metadata일 뿐, 합류 후 학습 단계·상태·콘텐츠를 분기하지 않는다." - "활성 딥다이브는 Module 01 하나로 정직하게 표시하고 roadmap은 준비 중으로 구분한다." - "증상 경로는 실제 장애 진단이 아니라 guided scenario에서 후보 메커니즘을 검증하는 교육 범위다." - "큰 번호 뒤에는 즉시 실행 가능한 control, 절차, 또는 판독 가능한 evidence가 온다." reference-clusters: - id: quick-reference-procedure reference: aircraft quick reference handbook useful-signals: - "행동 순서를 굵은 단계 번호와 짧은 imperative로 분리한다." - "경계 조건과 주의 사항을 본문이 아닌 별도 rule block으로 둔다." - "필요한 순간에 빠르게 재진입할 수 있는 선형 scan path를 만든다." translation: layout: "두 entry 선택 다음에 01–05 공통 protocol을 끊김 없는 procedure strip으로 배치한다." interaction: "각 단계는 동사 label과 한 개의 주 행동을 가지며 완료 전후에도 순서가 유지된다." boundary: "실제 운항·안전 매뉴얼의 권위, 위험 등급, emergency 표식은 차용하지 않는다." - id: controlled-module-system reference: industrial field service manual useful-signals: - "module 번호, revision, 적용 범위를 좁은 metadata rail에 모은다." - "한정된 spot color와 두꺼운 divider로 section ownership을 드러낸다." - "rule, checkpoint, result를 서로 다른 블록 형태로 구분한다." translation: layout: "MODULE 01 / TX-LOST-UPDATE-01 / GUIDED SCENARIO를 상단 identification band에 묶는다." interaction: "선택 결과는 가짜 승인 stamp가 아니라 현재 entry와 공통 합류점을 텍스트로 재확인한다." boundary: "실제 incident 대응, 원격 DB 점검, 현장 인증 완료를 암시하는 표현은 사용하지 않는다." - id: instructional-hierarchy reference: Swiss instructional poster useful-signals: - "비대칭 대형 숫자와 고정 grid로 주행 방향을 한눈에 만든다." - "짧은 문장, 넓은 여백, 강한 alignment로 정보 밀도를 통제한다." - "색보다 크기·위치·선으로 위계와 합류 관계를 설명한다." translation: layout: "01A·01B는 동등한 2-up panel, 합류 Protocol 01은 두 panel 전체 폭을 점유한다." interaction: "focus ring, 선택 marker, 라벨을 함께 사용해 색 없이도 현재 진입을 판독하게 한다." boundary: "큰 headline만 남는 전시 poster나 제품 가치 선언형 hero로 축약하지 않는다." layout-grammar: topology: modular-poster-stack desktop: grid: "12-column fixed alignment grid; outer margin 48–72px; 24px gutter" sequence: - "identification band: MODULE 01, scenario id, guided-scenario boundary" - "statement band: 두 입구가 하나의 Lab으로 합류한다는 한 문장" - "entry field: Entry 01A와 01B를 6-column씩 동등하게 배치" - "merge rule: 두 entry 아래를 가로지르는 명시적 ONE SHARED LAB divider" - "protocol field: Predict–Transfer 다섯 checkpoint를 전체 폭 procedure strip으로 배치" - "evidence field: 100에서 두 session read/compute/write를 거쳐 70이 되는 compact preview" - "scope and roadmap: 교육 범위 rule block과 Module 02+ 준비 중 표기" tablet: rule: "768px에서 entry는 2-up을 유지하되 protocol은 3+2 row로 감싸고 DOM 순서는 01–05를 유지한다." mobile: rule: "360–390px에서 identification → 01A → 01B → merge → protocol 01–05 → evidence → scope 순으로 1-column 재배치한다." guardrails: - "가로 timeline이나 드래그를 요구하지 않는다." - "숫자는 장식 배경이 아닌 section 시작점으로 축소한다." - "read/compute/write 비교는 같은 필드명을 반복하는 선형 목록으로 제공한다." alignment-rule: "번호, 제목, control의 왼쪽 시작선을 공유하고 설명 문단은 그 선을 침범하지 않는다." spacing-rule: "8px base; 한 절차 내부 8/16px, checkpoint 사이 24px, module 사이 48/72px." interaction-grammar: entry-selection: control: "native button 두 개: ‘개념을 알고 있어요’와 ‘증상만 알고 있어요’" feedback: "선택 marker + ENTRY SELECTED 텍스트 + Protocol 01 합류 안내를 동시에 갱신한다." shared-core-rule: "어느 버튼을 선택해도 동일 scenario id와 동일 다섯 단계 control을 사용한다." checkpoint-loop: - {step: "01 Predict", action: "실행 전 최종값 또는 상태 변화를 선택", evidence: "예측값을 고정해 이후 비교 기준으로 보존"} - {step: "02 Observe", action: "read/compute/write를 순서대로 실행", evidence: "현재 session·operation·value를 텍스트로 공지"} - {step: "03 Compare", action: "예측과 실제 70을 나란히 확인", evidence: "일치 여부와 차이를 숫자·문장으로 병기"} - {step: "04 Explain", action: "동일 초기값 read와 overwrite 인과를 설명", evidence: "필수 인과 checkpoint를 명시"} - {step: "05 Transfer", action: "새 사례에서 같은 메커니즘 후보를 판별", evidence: "전이 판단과 근거를 함께 제출"} focus: rule: "Tab 순서는 시각 순서와 같고, focus-visible은 3px 이중 outline과 offset으로 배경색과 독립시킨다." keyboard: "Tab, Enter, Space만으로 entry 선택·단서 공개·예측·실행·설명 제출이 가능하다." state-announcement: "실험 단계 변화와 값 갱신은 aria-live로 짧게 알리되 focus를 자동 이동하지 않는다." motion: "checkpoint 전환은 160ms 이하의 opacity/position 변화만 허용하고 prefers-reduced-motion에서는 즉시 교체한다." prohibited: - "완료를 증명하지 않는 장식 stamp" - "hover 전용 설명" - "drag 전용 timeline" - "entry별 progress 또는 protocol 분기" type-grammar: display: role: "module 번호, entry 번호, protocol 단계" voice: "condensed sans, uppercase 영문 label, tabular numeral" scale: "desktop 48–88px; mobile 36–52px; line-height 0.9–1.0" constraint: "설명 문장, 교육 범위, roadmap에는 대형 condensed display를 사용하지 않는다." instruction: role: "한국어 제목, 행동 지시, 설명, boundary copy" voice: "warm humanist sans" scale: "body 16–18px / 1.55–1.7; action label 18–24px / 1.25" constraint: "한 checkpoint의 핵심 지시는 한 문장, 보조 설명은 두 문장을 넘기지 않는다." command: role: "TX-LOST-UPDATE-01, session, read/compute/write, 100→150/70 값" voice: "monospace with tabular numerals" scale: "13–16px / 1.45" constraint: "코드·식별자·상태값에만 사용하며 terminal 미학의 전체 화면 mono는 금지한다." labeling: rule: "한국어 행동이 먼저 오고 필요한 경우 원어를 병기한다: ‘예측 Predict’." case: "영문 metadata만 uppercase; 한국어 본문과 control label에는 강제 대문자 효과를 쓰지 않는다." primitive-grammar: protocol-panel: anatomy: "step number + imperative + one primary control + evidence line" rule: "각 panel은 하나의 행동만 소유하고 다음 panel과 2px divider로 연결한다." numbered-checkpoint: anatomy: "two-digit index + verb label + state marker" rule: "번호는 module과 protocol 단계에만 사용하며 설명 카드에는 붙이지 않는다." rule-block: anatomy: "RULE label + 범위 문장 + 허용/비허용 경계" rule: "guided scenario와 실제 장애 진단의 경계를 반드시 한 번 이상 명시한다." field-stamp: anatomy: "outlined lozenge + factual state text" rule: "GUIDED SCENARIO, ACTIVE MODULE처럼 사실인 범주만 표시하며 승인·완료를 가장하지 않는다." procedure-strip: anatomy: "01–05 ordered cells + persistent connector + current-step marker" rule: "색을 제거해도 번호, label, marker 형태로 현재 단계와 순서를 읽을 수 있어야 한다." transfer-ticket: anatomy: "new-case prompt + mechanism choice + rationale field" rule: "Protocol 05에서만 사용하고 결과가 진단 확정이 아니라 학습 전이임을 명시한다." value-token: anatomy: "semantic label + numeric value + operation text" rule: "100, 150, 70을 단독 badge로 쓰지 않고 session과 read/write 맥락을 병기한다." color-grammar: canvas: {value: "#f2eedf", use: "따뜻한 종이색 바탕", boundary: "질감 효과나 낡은 문서 연출 금지"} ink: {value: "#18211d", use: "본문·선·기본 control", boundary: "최소 AA 대비 유지"} manual-yellow: {value: "#e7bd45", use: "활성 Module 01과 shared checkpoint", boundary: "경고색 또는 전체 배경으로 쓰지 않음"} instruction-green: {value: "#356c5d", use: "protocol header와 현재 절차 marker", boundary: "성공의 유일한 신호로 쓰지 않음"} evidence-orange: {value: "#d75b32", use: "증상 entry와 overwrite 결과 70", boundary: "장식 stamp와 일반 강조에 남용하지 않음"} accessibility-grammar: - "텍스트·control은 WCAG AA 이상 대비를 유지한다." - "세션·충돌·정답·현재 단계는 색과 함께 텍스트·아이콘·형태로 구분한다." - "360/768/1280px에서 가로 스크롤 없이 Transfer까지 도달한다." - "DOM 읽기 순서는 identification에서 교육 범위까지 시각 순서와 일치한다." - "reduced-motion에서도 정보·순서·상태 표식이 완전히 동일하다." anti-patterns: - marketing hero만 있는 poster - dashboard metric grid - serif editorial folio - neon signal trace 또는 terminal theater - 가짜 완료·승인 stamp - 실제 incident 대응 매뉴얼을 암시하는 위험 표식 - 두 entry별 별도 protocol·progress·content - 색만으로 구분한 단계·session·결과 - 활성 콘텐츠 하나를 큰 atlas나 catalogue로 과장하는 표현