핵심구조·온보딩 UI 시안 결정 라운드 2 — 라벨 문구 · 등록 게이지 배치 · 업무 이식 진입점/팝업
스펙 gridcore-v0.3 §12 UI 시안 게이트 — 1라운드에서 D67~D71 5건 전건이 구조 차원으로 확정됐고(아래 「1차 확정 접수」 참조), 이번 라운드는 그중 조건부로 남은 세부 3곳만 다룹니다. 컨펌 대상 4개 — D67-2 시작 흐름 3택 카드 라벨·문구 · D68-2 등록 게이지 로비 팝업 배치 실물 확인 · D70-2a 업무 이식 진입점 · D70-2b 업무 이식 팝업 형태. 각 섹션에서 옵션 하나를 고르고, 필요하면 코멘트를 남긴 뒤 하단 [✓ 컨펌]을 누르세요. 시안 컨펌 전 구현 금지.
1차 확정 접수 — 재논의 대상 아님 — 아래 5건은 라운드 1에서 이미 결정됐습니다. 이번 라운드는 이 중 조건으로 남아있던 세부만 다룹니다(D67-B의 문구 세부 → D67-2, D68-C의 배치 실물 확인 → D68-2, D70-B의 진입점·팝업 형태 → D70-2a/D70-2b). D69-B·D71-B는 이번 라운드 결정 대상이 아니며 접수 확인만 합니다.
D67-B — 분기 구조(질문 + 3택 카드) 확정, 이번 라운드는 라벨·문구만 재확인. 원우: “쓰던 볼트 라고 하면안되. 기존 그리드가 있으신가요? 로 물어봐줘. 그리고 흡수 개편은 유저에게 맞는 언어가 아닌것 같아. 다른 단어를 골라줘. 나머지는 괜찮은것 같아.”
D68-C — 컴팩트 수평 진행바·«그리드 셋팅 중» 문구·로비 중앙 하단 배치 확정, 이번 라운드는 실물 확인. 원우: “크기는 대안(수평 진행바) 형태가 좋다. 그리드 연결 중 → 그리드 셋팅 중으로 문구 교체하고, 그 영역 안에 단계·현재 작업이 표시되며 실패 시 그 옆에 버튼(다시 시도·되돌리기)이 나오는 형태. 배치 = 로비 중앙 하단 팝업.”
D69-B — 확정(+이름 기본값 «MY-GRID») — 이번 라운드 결정 대상 아님, 접수만. 원우: “승인. 그리드 이름 미입력 시 MY-GRID 자동 입력.”
D70-B — 매핑 화면 구조(체크박스+원본→제안 위치+이유+위치 변경) 확정, 이번 라운드는 진입점·팝업 형태 재확인. 원우: “승인. 단 업무 이식 진입 버튼을 어디에·어떻게 노출할지와 눌렀을 때의 팝업 형태를 함께 잡아 재확인 필요.”
D71-B — 확정(카드 버튼 정렬은 빌드 시 보정) — 이번 라운드 결정 대상 아님, 접수만. 원우: “승인. 카드 버튼 정렬이 어긋난다 → 빌드 시 정렬 보정.”
D67스펙 §3-1 · D1 확정
온보딩 시작 흐름 — 「그리드 지정」 단계 생김새
벤치마크 — 기존 자산 분기 선례: GitHub Desktop 최초 실행 화면("Let's get started!")은 클론(Clone)·새로 만들기(Create)·기존 폴더 추가(Add existing) 세 갈래를 한 화면에서 갈라 보여준다 — "가진 게 있는지"부터 먼저 나누고 그 다음 질문으로 내려가는 구조가 이번 Q1 분기와 같은 결이다.
실측 — startflow-wizard.js의 4단계 위저드(«환영 → 그리드 지정 → AI 연결 → 완료», .obw-rail 세그먼트 단계 레일·680px 고정폭·화면당 primary CTA 1개). «그리드 지정» 단계는 「폴더 선택…」 버튼 하나뿐이다 — 표식 있는 그리드 폴더만 통과되고, 일반 볼트를 고른 사람에게는 성공 문구도 오류 문구도 없이 같은 화면이 그대로 남는다(팀원 2명 실사례로 확인된 무한 루프). 볼트 유무·사용 방식을 먼저 묻는 분기 자체가 없다.
확정 전제 — 재논의 대상 아님
단계 수는 4단계 그대로 — D62 축소 결정을 유지, 「그리드 지정」 화면 안에서만 똑똑해진다.
Q1(쓰던 볼트 있음/없음) → 있음: 3택(a 제자리·b 복제·c 흡수개편), 없음: 새 그리드 생성(위치 선택) — 이 5절차 구조는 스펙 §3-1·D1로 이미 승인됐다.
이번 결정은 이 3택+1의 생김새만이다. 옵션 C(평면 리스트)는 비교를 위한 대조군이지 유력 후보가 아니다.
현재 — 단일 버튼, 분기 없음 (실측 재현)
✓환영
2그리드 지정
3AI 연결
4완료
그리드로 쓸 폴더를 선택해주세요
✓ 지정됨 — /Users/oneu/vaults/내작업
위 버튼을 눌러보세요 — 「일반 볼트 폴더를 골랐다면」을 누르면 성공 문구도 오류도 없이 같은 화면에 조용히 머문다는 걸 재현합니다. 사용자는 이게 처리 중인지 실패인지 알 방법이 없습니다.
한계 — "볼트가 있는지·그대로 쓸지 복제할지" 질문 자체가 없어, 판단을 사용자가 화면 밖에서 미리 하고 와야 한다.
제안 — 권고 · 2겹 분기(Q1 → 3택 / 새로 만들기)
✓환영
2그리드 지정
3AI 연결
4완료
쓰던 볼트(폴더)가 있으신가요?
제자리에 그대로원본 그대로 사용
지금 폴더 위치에서 바로 그리드로 씁니다. 옵시디언 등과 병행 가능, iCloud 폴더도 그대로 됩니다.
복제해서 시작원본 완전 보존
원본은 손대지 않고, 원하는 위치에 사본을 새로 만들어 그리드로 씁니다.
흡수 개편원본 무변경 · 사본만 정리
사본을 표준 구조로 정리해 새 위치에 둡니다. 폴더가 많으면 시간이 조금 더 걸려요.
새 그리드 만들기빈 폴더에서 시작
원하는 위치를 골라 비어 있는 새 그리드를 만듭니다.
동작 — 위 「예 / 아니요」를 직접 눌러보세요. 볼트가 없는 사람에게는 3택 카드 자체가 보이지 않아 판단 부담이 그만큼 줄어듭니다. 카드 3장 모두 원본 안전 배지가 붙어 있어 무엇을 골라도 원본이 다치지 않는다는 걸 먼저 보여줍니다.
어설픔 가드 — 카드 설명 2줄 초과 금지, 안전 배지는 색+텍스트 항상 병기(색맹 대응), 단계 수는 늘지 않는다(4단계 유지, 「그리드 지정」 화면 안에서만 분기).
대안 — 분기 없이 4택 평면 리스트
✓환영
2그리드 지정
3AI 연결
4완료
폴더를 어떻게 쓸까요?
제자리 그대로 지정원본 그대로
복제해서 시작원본 보존
흡수 개편원본 무변경
새로 만들기새로 시작
차이 — 볼트가 없는 사람도 관계없는 3개(제자리·복제·흡수개편)를 항상 함께 본다. 옵션이 늘어날수록 한 화면에 다 얹는 구조라 인지 부하가 누적된다 — Q1로 먼저 가르는 B안과 달리 "나와 상관없는 선택지"를 매번 걸러 읽어야 한다.
D67-2확정 — C안 채택 · 분기 복원 반영본
시작 흐름 — Q1 분기 + 3택 카드 최종 확정
벤치마크 — 평이한 언어 원칙(Nielsen Norman Group "Plain Language Is for Everyone, Even Experts")과 Dropbox·Google Drive류 가져오기 대화상자의 동사형 3분기 라벨 관행 — 내부 처리 방식(merge·overwrite·import 등) 대신 사용자가 겪을 결과를 그대로 말한다.
배경 — 원우 1차 컨펌 원문: "쓰던 볼트 라고 하면안되. 기존 그리드가 있으신가요? 로 물어봐줘. 그리고 흡수 개편은 유저에게 맞는 언어가 아닌것 같아. 다른 단어를 골라줘. 나머지는 괜찮은것 같아." 구조(B안: 질문 분기 + 3택 카드)와 라벨(세트 C)이 이번 라운드에서 함께 확정됐다.
원우 컨펌 원문 — “D67-2-C (코멘트: 예있어요 / 아니요 새로 시작해요 부분 없어졌는데? 그부분 다시 반영하면 확정.)” — 라벨 세트는 세트 C로 이미 골랐는데, 그 세트를 비교하던 목업이 Q1 예/아니오 분기 UI(1차에서 이미 확정됐던 부분)를 빠뜨리고 라벨만 비교하고 있었다. 아래 화면에 그 분기를 되살려 반영했다.
확정 접수 — 재논의 대상 아님
구조는 1차 그대로 B안(질문 분기 + 3택 카드) — 질문 문구는 「기존 그리드가 있으신가요?」로 고정.
라벨은 세트 C(「연결/시작」 톤) 채택 — 있는 그대로 연결 / 복제본으로 시작 / 정돈해서 새로 시작.
「흡수 개편」 라벨은 폐기 — 세 세트 모두 이 표현을 쓰지 않는다 (1차 확정 유지).
최종 확정 화면 — 아래 버튼을 눌러 분기를 확인해보세요
✓환영
2그리드 지정
3AI 연결
4완료
확정기존 그리드가 있으신가요?
있는 그대로 연결원본 그대로
지금 폴더를 있는 그대로 그리드에 연결합니다.
복제본으로 시작원본 완전 보존
원본은 손대지 않고 복제본으로 시작합니다.
정돈해서 새로 시작원본 무변경
표준 구조로 정돈한 복제본을 새로 만듭니다.
새 그리드 만들기빈 폴더에서 시작
원하는 위치를 골라 비어 있는 새 그리드를 만듭니다.
다음: 그리드 이름과 위치를 정합니다 — 기본값 MY-GRID
위 버튼을 직접 눌러보세요 — 「예, 있어요」를 누르면 세트 C 라벨의 3택 카드가, 「아니요, 새로 시작해요」를 누르면 새 그리드 생성 카드가 나타납니다. 처음엔 질문만 보이고, 아무것도 미리 선택돼 있지 않습니다.
비교 이력(참고) — 라벨 세트 A/B/C 비교 펼치기결정 근거 보존용 · 재논의 대상 아님
세트 A — 비교 · 동사+어미 대구
✓환영
2그리드 지정
3AI 연결
4완료
1차 확정기존 그리드가 있으신가요?
그대로 쓰기원본 그대로 사용
지금 폴더를 그 자리에서 그리드로 사용합니다.
복사해서 쓰기원본 완전 보존
원본은 그대로 두고 사본을 새 위치에 만듭니다.
정리해서 옮기기원본 무변경
GRID.OS 구조로 정리해 새 위치에 둡니다.
비고 — 세 이름이 「동사+어미」로 대구가 맞고, ③이 「개편·흡수」 같은 내부 용어 없이 무슨 일이 일어나는지를 그대로 말합니다. 최종 채택은 세트 C.
어설픔 가드 — 카드 이름 6자 내외 · 설명 한 줄 25자 내외 · 세 카드 문장 형식(동사+ㅂ니다) 통일 · 「개편/흡수/마이그레이션」 등 내부 용어 금지.
세트 B — 비교 · 명사구 + 동작 서술
✓환영
2그리드 지정
3AI 연결
4완료
1차 확정기존 그리드가 있으신가요?
지금 폴더 그대로원본 그대로 사용
지금 있는 폴더를 그대로 그리드로 씁니다.
사본 만들어 시작원본 완전 보존
원본은 두고 사본을 새 위치에 만듭니다.
새 구조로 옮기기원본 무변경
GRID.OS 구조로 정리한 사본을 새로 만듭니다.
비고 — 이름이 「대상(명사구)」 중심이라 A보다 담백하지만, ①·②는 동사형인데 ①만 동사가 없어(「그대로」로 끝) 세 카드의 형식이 완전히 통일되진 않습니다. 최종 채택은 세트 C.
세트 C — 채택 · 「연결/시작」 톤
✓환영
2그리드 지정
3AI 연결
4완료
1차 확정기존 그리드가 있으신가요?
있는 그대로 연결원본 그대로 사용
지금 폴더를 있는 그대로 그리드에 연결합니다.
복제본으로 시작원본 완전 보존
원본은 손대지 않고 복제본으로 시작합니다.
정돈해서 새로 시작원본 무변경
표준 구조로 정돈한 복제본을 새로 만듭니다.
채택 사유 — 「연결」이 그리드=원본 폴더와의 연동이라는 뉘앙스를 더 분명히 하며, 원우가 D67-2-C로 확정했다. 최종 확정 화면(위)이 이 라벨을 그대로 반영한다.
D68§3-2
그리드 등록 진행 게이지 — 로비 화면
벤치마크 — 단계+현재 작업 문구 병기 패턴(LogRocket "UI patterns for async workflows, background jobs, and data pipelines": "Validating 300 records", "Publishing activity file (step 4 of 6)"처럼 구체적 현재 작업을 붙이면 사용자가 "멈췄나?"를 의심하지 않음) · X of Y 표기(UXPin 진행 트래커 가이드) — 둘 다 이번 원우 승인 조건과 그대로 맞물립니다.
실측 — 온보딩·그리드 연결 과정엔 회전 스피너가 없고, 설치 중엔 설치 중 {경과초} 텍스트 배지만 3초마다 갱신됩니다(현재 몇 단계인지·언제 끝나는지 알 수 없음). 재시작 후엔 진행 표시 자체가 사라지고, 실패는 조용히 사라집니다(무한 루프 체감의 원인). 시간이 걸리는 실제 작업은 볼트 구조 분석 · 복제 · iCloud 내려받기입니다.
원우 D1 승인 조건
로비 상태는 단계 게이지 + 현재 작업 한 줄 + 예상 남은 시간이 보여야 한다
완료는 명시적, 실패는 원인·다음 행동과 함께 — 조용한 실패 금지
현재 — 텍스트 배지만 (실측 재현)
GRID.OS 설치×
대기 중
이 화면엔 이게 전부입니다. 몇 단계 중 몇 번째인지, 실패인지 진행 중인지 알 수 없습니다.
문제 — 재시작 후엔 이 배지조차 사라집니다. 실패해도 조용히 멈춰 "내 그리드가 없어졌나?"로 이어지는 게 실측된 사고 원인입니다.
제안 — 권고 · 단계 게이지 (작업 단계판 문법 공유)
그리드 연결 중대기 중×
1. 폴더 확인
그리드 폴더 구조 확인 중
원인 — 대상 폴더에 쓰기 권한이 없습니다.
2. 원본 백업
iCloud에서 원본 그리드 내려받는 중 — 04. 일간노트/
원인 — iCloud 다운로드 실패, 네트워크 연결이 끊겼습니다.
3. 코어 설치
AI.md · 상태 폴더 생성 중 — 02. 노트/일정.md
원인 — 대상 경로가 이미 존재합니다.
4. 정합 검증
복제본 정합 검증 중 (파일 수 대조)
원인 — 파일 수 불일치가 발견됐습니다.
그리드 준비 완료
4단계 모두 끝났습니다 — 이제 시작할 수 있어요
동작 — 위 버튼으로 실제 진행을 재생해 보세요. 줄 왼쪽 점이 대기(회색)→진행 중(파랑 펄스)→완료(초록)로 바뀌고, 진행 중인 줄 아래 "지금 하는 일" 한 줄이 함께 바뀝니다. 끝나면 완료 화면으로 명시 전환됩니다. "실패 데모"는 2단계에서 멈추는 모습을 원인·재시도 버튼과 함께 보여줍니다.
어설픔 가드 — 단계 5개 이하 유지. 애니메이션(펄스)은 진행 중인 줄 하나에만 클래스로 걸고 완료 즉시 제거(유휴 비용 0). 예상 남은 시간은 "~" 표기로 약속이 아님을 표시.
대안 — 수평 진행바 (컴팩트)
그리드 연결 중0%
대기 중
차이 — 단계 이름 목록이 없어 화면은 작아지지만, 실패가 나면 퍼센트만으로는 어느 단계인지 짚기 어렵습니다. B보다 "조용한 실패 금지" 요건 충족이 약합니다.
D68-2§3-2 · D68 1차 확정 · 라운드 2
그리드 등록 진행 게이지 — 로비 팝업 배치·실물 확인
이 섹션은 새 옵션 비교가 아니라 이미 고른 방향을 실물로 보여드리고 배치·인라인 등장 세부만 확정하는 자리입니다.
1차 확정 — 이번 라운드는 재논의가 아니라 실물 확인
크기·형태 = C안(컴팩트 수평 진행바) 채택 — D68 세로 단계 리스트(B안)의 큰 판은 쓰지 않는다.
헤더 문구는 「그리드 연결 중」 → 「그리드 셋팅 중」으로 변경한다.
컴팩트 영역 안에 단계(2/4) · 현재 작업 한 줄 · 예상 남은 시간이 들어간다.
실패하면 같은 줄 옆에 버튼(다시 시도·되돌리기)이 나타난다 — 별도 화면 전환 없이.
배치는 로비 화면의 중앙 하단 팝업이다 — 전체 화면 모달이 아니다.
참고 실측(1라운드) — 단계판 상태색: 대기 var(--faint) · 진행중 var(--acc)+1.1s 펄스 · 완료 var(--ok) · 실패 var(--err). 진행바 규격(STYLEGUIDE): 높이 3~4px·radius 2·트랙 var(--line2)·채움 var(--acc).
A — 권고 · 실패 시 버튼이 같은 줄 옆에 인라인 등장
로비 (축소 목업)
그리드 셋팅 중0/4대기 중
대기 중
동작 — 「데모 재생」으로 진행바가 실제로 차오르고 단계·현재 작업이 순차 교체됩니다. 「실패 데모」를 누르면 3행 문구가 실패 원인으로 바뀌며 그 같은 줄 오른쪽에 버튼 2개가 나타납니다(줄 추가 없음). 「완료 데모」는 완료 표시 후 팝업이 자동으로 사라지는 것까지 보여줍니다.
어설픔 가드 — 팝업 높이는 실패해도 늘지 않는다(72px 내외 고정), 현재 작업 문구는 한 줄 말줄임, 로비 콘텐츠를 가리지 않는다.
B — 대안 · 실패 시 버튼이 팝업 아래 새 줄로
로비 (축소 목업)
그리드 셋팅 중0/4대기 중
대기 중
차이 — 내용은 A와 같지만, 실패 시 버튼이 구분선 아래 새 줄로 떨어져 팝업 높이가 늘어납니다. 로비 하단 여백이 좁으면 다른 요소를 가릴 수 있습니다.
원우 코멘트("그 옆에 버튼")와 정확히 일치하지는 않는다 — 비교용 대안.
C — 대안 · 평시 한 줄, 실패 시에만 펼쳐지는 최소형
로비 (축소 목업)
그리드 셋팅 중0/4대기 중
대기 중
차이 — 진행 중엔 짧은 바 + 현재 작업 텍스트 한 줄뿐이라 가장 눈에 덜 띕니다. 실패해야만 제목·단계·남은시간·버튼이 나타나 평소엔 더 조용하지만 실패 인지가 한 박자 늦을 수 있습니다.
원우 요건("단계 표기·남은시간이 보여야 한다")이 평시엔 화면에 없다 — 절충안.
권고: A — 원우가 "그 옆에 버튼"이라 명시했고, 실패해도 팝업 높이가 변하지 않아 로비 화면을 계속 가리는 정도가 최소입니다.
D69스펙 §6 · D4
그리드 위치 선택 화면
벤치마크 — 이름 입력 + 추천 위치 선(先) 제시, 다른 위치는 찾아보기로: Obsidian 새 볼트 생성 흐름(이름 입력 → 기본은 사용자 폴더 하위 로컬 경로를 권장하고, 원하면 "찾아보기"로 다른 위치 지정 — 동기화는 별도 단계). GRID.OS는 여기에 추천 카드 선(先)노출 + 동기화 폴더 감지 배지를 더한다는 점이 다르다.
실측 — 현재 온보딩 환경 점검(대행사 에디션 prototype-v2 public/app.jsrenderEnvCheck() — 아래 재현의 출처. 인터널 3.0 위저드도 「폴더 선택…」 버튼뿐이라 결론은 동일)에는 위치 "선택 화면" 자체가 없다. 그리드 미연결 시 버튼 나열(기존 개인/기존 팀 연결, 개인/팀 새로 만들기)만 있고, 클릭하면 /api/setup/pick-grid가 Electron이면 네이티브 Finder 창을(server/index.js), 브라우저 등 비Electron 채널이면 경로 직접 입력 필드로 폴백한다(manualInput(), app.js). "GRID.OS가 관리하는 홈"이라는 개념도, 클라우드 동기화 폴더 경고도 없다.
현재 — 버튼 나열, 위치 선택 화면 없음 (실물 재현)
업무 공간(그리드)이 연결되지 않았습니다
「폴더 선택」 클릭 시(데모) —
macOS Finder 창이 열립니다. 앱 밖 시스템 다이얼로그 — 아무 폴더나 선택할 수 있고, GRID.OS 쪽 안내는 없다.
한계 — "어디에 둘지" 판단을 도와주는 화면이 없다. 4개 버튼 이름만으로 개인/팀·기존/신규 차이를 짐작해야 하고, 새로 만들 때 어디에 생기는지 미리 보여주지 않는다. 경로 직접 입력 폴백은 오타·잘못된 경로를 걸러줄 힌트가 전혀 없다.
제안 — 권고 · 추천 위치 카드 + 직접 지정 병행
추천 — GRID.OS 홈권장
앱이 위치를 관리합니다 — 백업·복구가 함께 묶여요.
~/GRID.OS/우리팀-그리드
직접 지정
원하는 폴더를 직접 골라요.
경로를 선택하면 여기 표시됩니다
동기화 폴더 — 함께 쓸 수 있지만 첫 등록이 느릴 수 있어요
동작 — 라디오 카드를 누르면 직접 지정의 폴더 선택 버튼이 그 자리에서 활성/비활성 전환된다(위에서 직접 클릭해 확인). 그리드 이름을 바꾸면 추천 경로 미리보기도 함께 바뀐다.
어설픔 가드 — 경로는 모노스페이스 폰트 + 말줄임 처리. "권장" 배지는 색 채움이 아니라 테두리+텍스트로만(색은 상태에만 쓴다는 원칙). 동기화 배지는 경고색이되 차단은 아니다 — 계속 진행 가능.
정직한 한계 — 이 화면은 신설이라 전용 API가 아직 없다. 구현 시 /api/setup/pick-grid 응답에 inCloudSync 플래그(이미 create-vault 경로에 선례 있음 — 클라우다이크 밖이면 inCloudSync:false)를 재사용해 배지를 채운다.
D70§3-1 Q5 · 확정⑨
업무 이식 컨펌 화면 — 대상 선택 후, 흡수 전에 어디로 가는지 보여주고 조정한다
벤치마크 — Notion import(목적지 선택 → 필드 매핑 → 행 단위 검증·수정 가능한 미리보기 → 확정) 패턴. dry-run 미리보기로 실제 반영 전에 매핑을 확인·수정하게 하는 것이 표준 관행이라는 점을 이번 설계에 그대로 가져온다 (CSVBox, "CSV to Notion Importer").
실측 — 현재 이식 승인 카드는 public/app.js:8171~8177의 .ic-card 배너 하나뿐이다("파일 복사 — 승인 대기" 제목 + 설명 한 줄 + "승인하고 복사" 버튼). AI가 .gridos/import-copy-plan.json에 적어둔 {from,to} 목록(server/index.js:4285~4292)은 화면에 개별 표시되지 않는다 — 몇 개를 어디로 옮기는지 유저가 승인 전에 볼 수 없다. 위치 제안 로직 자체가 코드에 없다(위치 제안·suggestLocation 등 검색 0건) — AI가 정한 to 경로를 그대로 실행할 뿐, 유저가 바꿀 수단이 없다. connectedFolders(app.js:4668 "이식 원본 · 임시" 그룹)는 읽기전용 연결만 하며 이 흡수 플로우와 별개다.
현재 — 단순 승인 배너 (실물 재현)
파일 복사 — 승인 대기
AI가 만든 복사 목록을 앱이 대신 실행합니다 (기존 파일은 덮어쓰지 않음)
— 무엇을 어디로 옮기는지는 이 카드에 없음 —
한계 — 개별 파일 목록·제안 위치·이유가 전혀 안 보인다. 승인은 "전부 그대로" 아니면 무시뿐이다. 방식(어디로 흡수할지)에 대한 사전 컨펌이 성립하지 않는다.
제안 — 권고 · 행 단위 매핑 리스트
원본은 그대로 둡니다 — 복사해서 가져옵니다
오름IMC_계약서초안.hwp
→03_상품개발/…/06_고객·파트너/
고객사 계약 문서 — 오름IMC 폴더와 이름이 일치합니다
변경됨
프린트베이커리_2월_리포트.xlsx
→02_마케팅 대행/01_클라이언트/프린트베이커리/
클라이언트 리포트 — 파일명이 기존 클라이언트 폴더명과 일치합니다
변경됨
자몽마켓_상세페이지_시안 (폴더)
→11_협업사업/자몽마켓/
사업명이 폴더명과 일치해 자몽마켓 아래로 제안합니다
변경됨
메모_아이디어_08-20.txt
→09_생각 정리/생각 단편/
특정 업무영역과 매칭되지 않아 기본값(생각 단편)으로 제안합니다
변경됨
선택 3건 이식
진입점 — 온보딩 Q5(최초 그리드 연결)와 사용 중(트리 우클릭·대시보드 「업무 이식」)이 같은 화면을 공유합니다
동작 — 체크박스를 끄면 하단 카운터가 즉시 줄고, 「위치 변경」을 누르면 대체 위치 2~3개가 열려 클릭 한 번으로 목적지를 바꿀 수 있다(바뀐 행은 "변경됨" 표시). 위 리스트에서 직접 눌러보세요.
이유 문구·제안 위치는 AI가 import-copy-plan.json을 쓸 때 to와 함께 reason 필드를 추가해야 채워진다(현재 스키마엔 없음, 구현 시 반영 필요).
대안 — 요약 카드 (행 조정 없음)
12개 폴더
→ 3개 영역으로 정리합니다
├ 02_마케팅 대행/ (5) ├ 03_AI 사업/ (4) └ 11_협업사업/ (3)
한계 — 영역 단위 미리보기까지는 보이지만 개별 파일이 왜 그 위치인지, 하나만 다른 곳으로 바꾸고 싶을 때 방법이 없다. 12개 중 1개가 잘못 분류돼도 전체 승인/취소만 가능하다.
어설픔 방지 가드 — 목록이 10행을 넘으면 영역별 그룹 헤더로 접는다(모두 펼치지 않는다). 이유 문구는 한 줄로 말줄임 처리하고 전체 문장은 노출하지 않는다.
D70-21차 확정: 매핑 컨펌 구조 B안 — 이번 라운드는 진입점과 팝업 형태
업무 이식 — 어디서 열고, 어떻게 뜨는가 (라운드 2)
벤치마크 — DevExpress File Manager UI 가이드: 도구모음(toolbar)은 「항상 보이는 일반 동작」, 우클릭 메뉴는 「선택한 대상에만 해당하는 동작」을 맡기고 둘을 함께 쓰는 것이 표준 관행이다 — 대상(폴더) 위에서 시작하는 동작은 컨텍스트 메뉴, 언제든 꺼낼 수 있는 상시 동작은 툴바에 병행한다 (DevExpress "File Manager Toolbar And Context Menu Customization").
실측 — 현재 이식 승인 화면은 public/app.js:8171~8177의 배너 하나뿐이고, 진입점 자체가 없다 — 승인 배너는 AI가 먼저 .gridos/import-copy-plan.json을 써야만 나타나며, 유저가 스스로 "지금 폴더를 가져와야지"라고 시작할 방법이 없다. 트리 우클릭 메뉴(public/app.js:11458~11521)는 파일·폴더에 이름 변경·보관함 이동만 제공하고, 회사 폴더(@ext:) 분기(app.js:11466~11475)는 열기·파인더 보기뿐이다 — "그리드로 가져오기" 항목은 0건. 상단 트리 툴바(.tree-actions, public/style.css:143~148, 아이콘 버튼 19×19px)엔 "전체 펼치기" 하나뿐이라 상시 아이콘 진입점도 없다.
1차 확정 접수 — 재논의 대상 아님
매핑 화면 구조는 B안(체크박스 + 원본→제안 위치 + 이유 + 위치 변경, 위 D70 섹션)으로 이미 확정 — 아래 팝업의 2단계는 그 화면을 그대로 가져다 쓴다.
업무 이식은 온보딩 1회성이 아니라 사용 중 수시로 쓰는 상시 기능이다(확정⑨) — 그래서 "언제든 다시 꺼낼 수 있는 자리"가 있어야 한다는 게 이번 라운드의 전제다.
①진입점 — 어디에 「업무 이식」을 두나
A — 권고 · 폴더 우클릭 메뉴 + 상단 툴바 병행
그리드
03. AI 사업
이식 원본 · 임시
오름IMC_구폴더 (연결됨)
04. 일간노트
동작 — 위 폴더 「오름IMC_구폴더 (연결됨)」를 우클릭(또는 「우클릭 재현」)하면 실제 .tree-menu와 같은 모양의 메뉴가 뜨고, 새로 추가된 「그리드로 가져오기」를 누르면 아래 ②A 팝업이 그 폴더가 이미 선택된 채로 1단계부터 열립니다. 우측 상단 강조된 툴바 아이콘을 눌러도 같은 팝업이 열리지만, 이땐 특정 폴더가 지정돼 있지 않아 1단계에서 직접 골라야 합니다 — 실제로 눌러 차이를 비교해보세요.
이식 대상은 「폴더」이므로 대상 위에서 시작하는 것이 자연스럽고(DevExpress 관행), 처음 쓰는 사람 또는 특정 폴더 없이 시작하고 싶을 때를 위해 상시 진입점(툴바)도 병행합니다 — 확정⑨(수시 사용)와 부합.
B — 대안 · 상단 툴바만
그리드
03. AI 사업
이식 원본 · 임시
오름IMC_구폴더 (연결됨)
04. 일간노트
우클릭 → 기본 메뉴(열기·파인더에서 보기)만, 「가져오기」 항목 없음
동작 — 강조된 툴바 아이콘을 눌러 팝업을 직접 확인할 수 있습니다(1단계부터, 폴더 미지정).
한계 — 화면은 단순해지지만, 이미 연결된 특정 폴더를 보다가 "이걸 가져와야지" 하는 순간 그 폴더 위에서 바로 시작할 수 없고 매번 툴바 → 폴더 재탐색을 거쳐야 합니다.
C — 대안 · 대시보드 제안 카드 경유만
AI 제안 1
연결된 외부 폴더를 발견했어요
「오름IMC_구폴더」에 12개 항목이 있습니다. 그리드로 가져올까요?
상단 툴바·트리 우클릭엔 진입점이 없음 — 이 카드가 뜰 때만 시작 가능
한계 — 확정⑨(상시 기능)과 어긋납니다. AI가 먼저 "발견"해서 카드를 띄워야만 시작되므로, 유저가 스스로 원할 때 이식을 시작할 방법이 없습니다 — 카드가 사라지거나 무시된 뒤엔 다시 찾을 자리도 없습니다.
어설픔 방지 가드 — 우클릭 메뉴 항목은 5개를 넘기지 않는다(현재 4~5개 유지). 신규 항목엔 "신규" 배지를 처음 한 철(버전 1회)만 붙이고 이후 제거한다. 툴바 아이콘은 연결된 외부 폴더가 0개여도 항상 보인다(1단계에서 직접 고르면 되므로 숨기지 않는다).
②팝업 형태 — 눌렀을 때 무엇이 뜨나
A — 권고 · 2단 모달(폴더 선택 → 매핑 컨펌)
1단계 — 가져올 폴더 선택
+ 폴더 선택 버튼 · 선택된 폴더 목록(칩) · 「다음」은 1개 이상 선택 시 활성
↓
2단계 — 매핑 컨펌(D70 B안 그대로)
체크박스 + 원본→제안 위치 + 이유 + 위치 변경 · 「← 뒤로」로 1단계 복귀
동작 — 위 버튼이나 ① 진입점 A/B의 아이콘·메뉴로 실제 모달을 열어보세요. 상단에 「원본은 그대로 둡니다」 고지가 두 단계 내내 유지되고, 2단계 하단 「이식하기」를 누르면 닫기 버튼이 잠기며 진행 표시로 바뀝니다(아래 가드).
모달 폭 680px는 신규 값이 아니라 기존 온보딩 마법사(.obw-box, public/internal-theme.css:1781)와 같은 폭을 그대로 맞춘 것 — 새 크기 체계를 만들지 않는다.
B — 대안 · 시스템 폴더 선택창 직행 → 매핑 모달
폴더 선택
문서
오름IMC_구폴더
다운로드
취소선택
↓
매핑 컨펌(1단계 없이 바로)
한계 — 1단계(우리 UI의 선택 목록·칩)가 없어 화면은 한 단계 줄지만, 「원본은 그대로 둡니다」 같은 우리 쪽 안내를 보여줄 자리가 없고, 여러 폴더를 한 번에 담아 검토하는 중간 확인 없이 곧장 매핑으로 넘어가 무엇을 골랐는지 되짚기 어렵습니다.
C — 대안 · 우측 사이드 시트
뒤 화면(트리·에디터)이 계속 보임
업무 이식
오름IMC_계약서초안.hwp → 06_고객·파트너/
오름IMC_킥오프_회의록.md → 03_리포트·회의 운영/
오름IMC_로고에셋 (폴더) → 05_참고자료/
한계 — 작업 중이던 화면을 안 덮는다는 장점은 있지만, 폭이 좁아 원본 경로·제안 위치 문자열이 자주 잘리고 「위치 변경」 대체 목록을 펼치면 시트 안에서 또 스크롤이 겹쳐 D70이 이미 겪은 "행이 10개 넘으면 어설퍼진다" 문제가 더 빨리 옵니다.
어설픔 방지 가드 — 모달 안 스크롤 영역은 목록(2단계 본문)에만 걸고 헤더·푸터는 고정한다(모달 전체가 함께 스크롤되지 않는다). 1↔2단계는 「← 뒤로」로만 오가며 데이터가 유지된다(다시 고를 필요 없음). 「이식하기」 실행 중엔 우측 상단 닫기(×)와 스크림 클릭 닫기를 잠그고 진행 표시로 대체한다(완료 카드는 D68 B안의 .d68-done 문법을 그대로 재사용).
1단계가져올 폴더 선택
원본은 그대로 둡니다 — 복사해서 가져옵니다
+ 폴더 선택… (클릭마다 데모 폴더 1개 추가)
아직 선택된 폴더가 없습니다 — 위에서 폴더를 골라주세요.
원본은 그대로 둡니다 — 복사해서 가져옵니다
오름IMC_계약서초안.hwp
→03_상품개발/…/06_고객·파트너/
고객사 계약 문서 — 오름IMC 폴더와 이름이 일치합니다
변경됨
오름IMC_킥오프_회의록.md
→06_지식베이스/03_리포트·회의 운영/
회의록 형식 — 기존 리포트·회의 운영 지식베이스와 일치합니다
변경됨
오름IMC_로고에셋 (폴더)
→05_참고자료/
브랜드 자산 폴더 — 참고자료 아래로 제안합니다
변경됨
선택 3건 이식
진입점 — 온보딩 Q5(최초 그리드 연결)와 사용 중(트리 우클릭·상단 툴바)이 같은 화면을 공유합니다
이식 중…
3건을 그리드로 가져왔습니다
원본(오름IMC_구폴더)은 그대로 남아 있습니다
D71§4-3 · D2
지침 병합 — 차이 검토 화면 (요약 승인 + 검토함)
벤치마크 — 대량 diff/충돌 검토 UX 선례: GitHub 「원클릭 병합 충돌 해결」(Accept incoming/current/both, 2025-10 웹 UI 도입) · Google Docs 「제안된 수정」의 Accept All(+개별 검토 옵션 병존). 두 선례 모두 대량 변경은 일괄 승인하고 예외만 개별 판단하게 해 「건별 강요」를 피한다.
실측 — 현재 지침 병합·차이 검토 기능은 부재다. 온보딩이 폴더별 CLAUDE.md/AGENTS.md 쌍을 그대로 둔 채 끝나며, 두 파일 동기화는 grid-doctor의 사후 점검으로만 확인된다. AI.md 단일 정본 전환(D2)에서 「임의로 다른」 폴더가 나오면, 이 화면이 그 차이를 검토·병합하는 유일한 창구가 된다.
현재 — 지침 차이 검토 기능 없음 (실측)
AI 제안2▾
다음 주 리포트 초안 준비됨
프린트베이커리 CRM 리포트 초안이 만들어졌습니다.
지침 통합·차이 검토 관련 제안은 뜨지 않는다 — 기존 「AI 제안」 카드는 다른 용도로만 쓰인다.
한계 — AI.md 전환 대상 폴더에 CLAUDE.md/AGENTS.md 차이가 있어도 사용자가 알 방법이 없다. 온보딩은 그대로 끝나고, 두 파일은 계속 따로 갱신되며 벌어진다.
제안 — 권고 · 요약 승인 + 검토함 (2계층)
AI 제안1▾
지침 통합 제안 준비됨
47곳 중 41곳 병합안 완료 — 6곳만 판단이 필요합니다.
41곳 병합안 승인AI가 자동 병합한 내용을 한 번에 반영합니다. 판단이 필요한 6곳은 아래 검토함에 남습니다.
검토함 · 판단 필요 6곳 (3곳 표시)
02. 마케팅 대행/01_클라이언트/프린트베이커리
CLAUDE.md에만 광고비 dry-run 가드 문구가 있음
판단 필요
CLAUDE.md
### 광고비 가드
매체비 집행 전 반드시 dry-run으로
예산 초과 여부를 확인한다.
AGENTS.md
### 광고비 가드
(섹션 없음 — 미기재)
10. 투자관리
가드레일 발동 시 문구가 두 파일에서 서로 다름
판단 필요
CLAUDE.md
### 손실 가드레일
발동 시 신규 매수 제안을
중단한다.
AGENTS.md
### 손실 가드레일
발동 시 매매를 보류하고
안내만 한다.
07. 자동화/grida-weekday-budget-automation
과지출 경보 임계값 수치가 서로 다름(1.2배 vs 1.15배)
판단 필요
CLAUDE.md
과지출 경보 임계값
정상 일예산 합계 × 1.2
AGENTS.md
과지출 경보 임계값
정상 일예산 합계 × 1.15
동작 — 진입 카드는 기존 「AI 제안」 문법 그대로(이중 소스 없음). 검토함 행을 누르면 실제 diff가 펼쳐지고 「병합안 적용」/「이 폴더는 기존 방식 유지」 중 하나를 고르면 그 폴더만 처리되고 나머지는 검토함에 남는다 — 전환이 그리드 작동을 막지 않는다. 카드를 직접 눌러 확인할 수 있습니다.
실제 병합안 산출 로직(스펙 §4-3)이 구현되기 전까지는 이 화면이 목업입니다. 구현되면 온보딩 완료 이벤트가 이 제안 카드를 생성합니다.
대안(비권고) — 건별 순차 마법사
1 / 6 판단 중판단 필요
02. 마케팅 대행/01_클라이언트/프린트베이커리
CLAUDE.md에만 광고비 dry-run 가드 문구가 있습니다. 병합안을 적용할까요?
6곳(또는 47곳)을 전부 넘길 때까지 다음 화면으로 못 간다 — 스펙이 명시적으로 기각한 「건별 선택 강요」 그 자체.
기각 사유 — 한 건씩 넘기게 하면 온보딩·전환이 그 개수만큼 느려지고, 판단이 필요 없는 41곳까지 화면에 다시 등장할 위험이 있다. D2가 요구한 「건별 선택 강요 금지」에 정면으로 어긋난다. 비교용으로만 남긴다.
어설픔 가드 — diff 하이라이트는 배경 워시(--acc-soft/--warn 소프트)만 쓴다. 빨강·초록 원색 diff는 쓰지 않는다(상태색 남용 방지) — 판단 필요 칩만 --warn 톤.
이 페이지는 라운드 2입니다. 라운드 1(D67~D71)은 위 «1차 확정 접수»로 이미 반영됐고, 이번 컨펌 대상은 D67-2(시작 흐름 라벨·문구)·D68-2(등록 게이지 로비 팝업 배치)·D70-2a(업무 이식 진입점)·D70-2b(업무 이식 팝업 형태) 4건입니다. 각 섹션에서 옵션 하나를 고르고, 필요하면 코멘트를 남긴 뒤 하단 [✓ 컨펌]을 누르세요. 결과 문자열을 채팅에 그대로 붙여넣어 주시면 됩니다 — 붙여넣기 전에 아래 박스에서 실제로 고른 항목이 맞는지 한 번 확인해 주세요.
아래 박스는 자동으로 전체 선택됩니다 — Cmd+C(또는 Ctrl+C)로 복사하거나 [복사] 버튼을 눌러주세요. (뷰어에 따라 복사가 막히면 그냥 드래그해서 붙여넣거나, 말로 "D67은 B, D68은 B..." 이렇게 전달해주셔도 됩니다.)