/* 아리 — 일정(캘린더) 데이터 · 2026년 6월 (오늘 = 6월 8일 월) */ (function () { // 캘린더 카테고리 const cals = [ { id: "work", name: "업무", tone: "blue", on: true }, { id: "meeting", name: "미팅", tone: "amber", on: true }, { id: "personal", name: "개인", tone: "violet", on: true }, { id: "team", name: "팀", tone: "green", on: true }, { id: "health", name: "건강", tone: "coral", on: true }, ]; // day = 6월 날짜, start/end = "HH:MM" const events = [ // 일 6/7 { id: "e1", day: 7, start: "10:00", end: "11:00", title: "모닝 러닝 5km", cal: "health", loc: "한강공원" }, { id: "e2", day: 7, start: "15:00", end: "16:30", title: "독서모임 — 몰입", cal: "personal", loc: "북카페" }, // 월 6/8 (오늘) { id: "e3", day: 8, start: "09:30", end: "09:45", title: "팀 데일리 스탠드업", cal: "team", loc: "Zoom", actions: [ { text: "온보딩 와이어프레임 피드백 정리", when: "오늘" }, { text: "푸시 알림 QA 결과 공유", when: "내일" }, ] }, { id: "e4", day: 8, start: "11:00", end: "11:45", title: "디자인 리뷰 — 온보딩 플로우", cal: "work", loc: "회의실 B", actions: [ { text: "온보딩 3번 화면 CTA 수정안 반영", when: "내일" }, { text: "음성 안내 카피 검토", when: "이번 주" }, ] }, { id: "e5", day: 8, start: "13:00", end: "13:30", title: "점심 — 현우님", cal: "personal", loc: "1층 식당" }, { id: "e6", day: 8, start: "14:00", end: "15:00", title: "분기 전략 미팅", cal: "meeting", loc: "대회의실", soon: true, people: ["대표님", "재무팀장", "나 외 3명"], note: "지난 회의 액션 4/5 완료 · 리텐션 +6%p · 예산 재배분 안건" }, { id: "e7", day: 8, start: "16:30", end: "17:00", title: "1:1 — 민서님", cal: "team", loc: "라운지" }, { id: "e8", day: 8, start: "20:00", end: "20:30", title: "스트레칭 & 명상", cal: "health" }, // 화 6/9 { id: "e9", day: 9, start: "10:00", end: "11:30", title: "사용자 인터뷰 ×2", cal: "work", loc: "리서치룸" }, { id: "e10", day: 9, start: "14:00", end: "15:00", title: "온보딩 와이어프레임 싱크", cal: "work", loc: "Figma" }, { id: "e11", day: 9, start: "18:00", end: "19:00", title: "PT 트레이닝", cal: "health", loc: "피트니스" }, // 수 6/10 { id: "e12", day: 10, start: "09:30", end: "09:45", title: "팀 데일리 스탠드업", cal: "team", loc: "Zoom" }, { id: "e13", day: 10, start: "11:00", end: "12:00", title: "예산 재배분 검토", cal: "meeting", loc: "회의실 A" }, { id: "e14", day: 10, start: "15:00", end: "16:00", title: "분기 리포트 작성 블록", cal: "work", note: "딥 워크 — 방해 금지" }, // 목 6/11 { id: "e15", day: 11, start: "10:00", end: "11:00", title: "OKR 중간 점검", cal: "meeting", loc: "대회의실" }, { id: "e16", day: 11, start: "13:30", end: "14:30", title: "음성 인터페이스 톤 워크숍", cal: "work", loc: "회의실 C" }, { id: "e17", day: 11, start: "19:30", end: "21:00", title: "저녁 — 가족 모임", cal: "personal", loc: "본가" }, // 금 6/12 { id: "e18", day: 12, start: "09:30", end: "09:45", title: "팀 데일리 스탠드업", cal: "team", loc: "Zoom" }, { id: "e19", day: 12, start: "11:00", end: "12:00", title: "스프린트 리뷰 & 회고", cal: "team", loc: "대회의실" }, { id: "e20", day: 12, start: "14:00", end: "15:30", title: "신규 입사자 온보딩 세션", cal: "work", loc: "교육장" }, { id: "e21", day: 12, start: "16:00", end: "16:30", title: "치과 예약", cal: "health", loc: "강남 치과" }, // 토 6/13 { id: "e22", day: 13, start: "11:00", end: "13:00", title: "브런치 — 수아님", cal: "personal", loc: "성수" }, ]; // 이번 주 (일~토): 6/7 ~ 6/13 const week = [7, 8, 9, 10, 11, 12, 13]; const weekdays = ["일", "월", "화", "수", "목", "금", "토"]; // 오늘의 집중 모드 — 아리가 빈 블록에 자동 배치한 작업 블록 (day 8) const focusBlocks = [ { id: "f1", day: 8, start: "09:00", end: "09:20", title: "현우님 온보딩 시안 회신", type: "light", tag: "메일" }, { id: "f2", day: 8, start: "10:05", end: "10:25", title: "PR #482 빠른 리뷰", type: "light", tag: "개발" }, { id: "f3", day: 8, start: "15:10", end: "16:25", title: "분기 리포트 초안 마무리", type: "deep", tag: "딥 워크" }, { id: "f4", day: 8, start: "17:10", end: "17:35", title: "독서모임 책 2장 읽기", type: "light", tag: "성장" }, ]; /* 회의 도우미 — 이벤트별 사전 브리핑 · 회의 노트 자동 정리 · 1:1 어시스턴트 phase: done(끝난 회의 → 노트·액션) / live(기록 중) / upcoming(사전 브리핑) */ const meets = { e3: { phase: "done", meta: "09:30–09:45 · 15분 · 음성 기록 → 노트 자동 정리됨", summary: [ "온보딩 와이어프레임 피드백이 중심 안건 — 3번 화면 CTA 수정안으로 정리", "푸시 알림 QA는 iOS 완료 · Android 진행 중", "분기 리포트는 매출 섹션만 남음 — 현우님이 오늘 중 데이터 전달", ], decisions: ["온보딩 3번 화면 CTA는 하단 고정형으로 확정"], actions: [ { text: "온보딩 와이어프레임 피드백 정리", who: "나", when: "오늘", added: true }, { text: "푸시 알림 QA 결과 공유", who: "수아", when: "내일", added: true }, { text: "매출 데이터 전달", who: "현우", when: "오늘", added: false }, ], }, e4: { phase: "live", meta: "11:00–11:45 · 진행 중 · 아리가 실시간으로 받아적고 있어요", summary: [ "환영 화면 카피 톤 — ‘친근하게, 두 문장 이내’로 의견 수렴 중", "권한 요청 화면 재배치안 공유 — 이탈률 데이터 근거로 논의", ], decisions: [], actions: [ { text: "온보딩 3번 화면 CTA 수정안 반영", who: "나", when: "내일", added: false }, ], }, e6: { phase: "upcoming", startsIn: "2시간 50분 후 시작", agenda: [ "Q2 핵심 지표 리뷰 — 리텐션 · 매출", "예산 재배분 안건 — 오늘 의사결정 필요", "다음 분기 OKR 방향 합의", ], lastMeeting: { when: "지난주 월 14:00 · 분기 전략 미팅", note: "리텐션 개선 실험 3종 승인 · 예산 재배분은 데이터 보강 후 재논의하기로", }, lastActions: [ { text: "리텐션 코호트 분석", who: "수아", done: true }, { text: "MRR / ARR 표 정리", who: "나", done: true }, { text: "예산 시나리오 2안 작성", who: "재무팀장", done: true }, { text: "경쟁사 가격 조사", who: "현우", done: true }, { text: "예측 시나리오 3종", who: "나", done: false }, ], insights: [ "리텐션 KPI가 전분기 대비 +6%p — 첫 화두로 추천드려요", "내 액션 중 ‘예측 시나리오 3종’이 미완 — 미팅 전 12:00 빈 블록을 비워뒀어요", ], docs: ["분기 리포트 초안 · 75%", "예산 재배분 시나리오 v2"], }, e7: { phase: "upcoming", oneOnOne: true, startsIn: "오늘 16:30", person: { name: "민서", initial: "민", tone: "green" }, lastMeeting: { when: "5월 25일 · 지난 1:1", note: "성장 로드맵 — 데이터 분석 역량을 키우고 싶다는 의사. 분석 과제 1건을 맡겨보기로 약속", }, promises: [ { text: "데이터 전처리 파이프라인 과제 위임", done: true }, { text: "분석 강의 수강 지원 품의 올리기", done: false }, ], signals: [ { k: "업무량", v: "진행 4건 · 평균보다 +1건", tone: "amber" }, { k: "위임 과제", v: "전처리 파이프라인 60% · 순항", tone: "green" }, { k: "최근 성과", v: "회고 문서 정리 — 팀 반응 좋음", tone: "blue" }, ], talkingPoints: [ "전처리 과제에서 막히는 부분이 있는지", "강의 지원 품의 — 지난 약속, 진행 상황 공유", "업무량이 살짝 높아요 — 우선순위 조정이 필요한지", ], }, }; window.CalData = { cals, events, week, weekdays, focusBlocks, meets, today: 8, month: 6, year: 2026 }; })();