{
  "meta": {
    "project": "CMS LAB AI-Ready Data Infra 구축",
    "title": "CMS LAB 프로젝트 WBS",
    "asOf": "2026-10-27",
    "periodStart": "2026-08-24",
    "periodEnd": "2026-12-23",
    "timezone": "Asia/Seoul",
    "statusNote": "완료는 근거가 있는 범위만 표시한다. 날짜가 확정되지 않은 미래 일정은 계획 구간이다.",
    "sourceNote": "저장소 정본, 작업 로그, 원천 검색 결과와 2026-10-21 사용자 제공 일정을 결합했다. AWS account ID는 리소스 경계를 위해 기록하고 로그인 자격증명, 비밀값, 고객 원문 값은 공개하지 않는다."
  },
  "summary": {
    "sourceInventory": {
      "total": 120,
      "activeScope": 117,
      "adjacentBacklog": 3,
      "readComplete": 41,
      "accessReady": null,
      "liveReadDone": 42,
      "liveReadPartial": 1,
      "replaceable": 63,
      "decisionOrException": 46,
      "evidencePending": 11,
      "note": "READ_COMPLETE m=41/120은 E1~E9 루트 서명이 끝난 원천 수다. 접근 준비 완료 n은 source_id별 계정·권한·토큰·제출물 근거를 요청 39건과 섞지 않고 대조한 뒤 집계하며 현재 미판정이다. 실 Read 42와 부분 1은 더 넓은 중간 단계 수치다. 어느 수치도 운영 스케줄 활성화나 고객 인입 검수 완료를 뜻하지 않는다."
    },
    "runtime": {
      "live": 1,
      "partial": 12,
      "plannedOrReview": 107,
      "note": "120개 시트 자동화 분류의 2026-10-15 상태: 원료 정규화 1개 가동, 신규 Google 원천 11개와 MAKEAMZ 1개 일부 가동. 중복 참조가 있어 단순 합계는 운영 완료율로 쓰지 않는다."
    },
    "taskStatus": {
      "done": 18,
      "in_progress": 8,
      "blocked": 2,
      "planned": 18,
      "total": 46
    }
  },
  "milestones": [
    {
      "id": "M01",
      "date": "2026-08-24",
      "dateLabel": "8월 24일",
      "title": "프로젝트 착수",
      "status": "done",
      "note": "계약 기간 시작과 착수보고 기준일."
    },
    {
      "id": "M02",
      "date": "2026-10-16",
      "dateLabel": "10월 16일 기준",
      "title": "120개 원천 체크리스트 현황 고정",
      "status": "done",
      "note": "READ_COMPLETE 41/120, 실 Read 42, 부분 1. Read 범위 한정 지표."
    },
    {
      "id": "M03",
      "date": "2026-10-30",
      "dateLabel": "~ 10월 30일",
      "title": "원천 접근·인증 확보와 실제 Read 확대",
      "status": "in_progress",
      "note": "READ_COMPLETE 41/120(10/16 증거). 10/28 현장 인증 연결 뒤 확보한 원천부터 Read를 넓힌다. 10/30까지 확보하지 못한 원천은 사유별로 일정을 다시 잡는다."
    },
    {
      "id": "M04",
      "date": "2026-10-26",
      "dateLabel": "10월 26일",
      "title": "대시보드 사이트 완성",
      "status": "done",
      "note": "WBS·체크리스트·데이터 연결 진행 현황 공유 사이트 공개. 고객 AWS 운영 전환은 별도 마일스톤이다."
    },
    {
      "id": "M05",
      "date": null,
      "dateLabel": "준비 즉시",
      "title": "위시켓 AWS 선운영 전환",
      "status": "in_progress",
      "note": "위시켓 AWS prod에서 웹 시험 주소(자체 로그인, ECS 2/2·헬스 200)가 운영 중이다. 정기 수집의 AWS 일정 전환과 data·bi 도메인 연결이 남았다."
    },
    {
      "id": "M06",
      "date": "2026-11-06",
      "dateLabel": "11월 초 계획 구간",
      "title": "CMS-LAB 중간보고 및 중도금 게이트",
      "status": "in_progress",
      "note": "정확한 보고일은 고객과 확정 필요. 중간보고 완료가 중도금 조건이다."
    },
    {
      "id": "M07",
      "date": "2026-11-13",
      "dateLabel": "11월 초 ~ 중순 계획 구간",
      "title": "고객 데이터 파이프라인·내부정책 인입 검수",
      "status": "planned",
      "note": "120개 Read 완료와 별개로 고객 데이터 반입·정책 검수·예외 처리를 수행한다."
    },
    {
      "id": "M08",
      "date": "2026-12-04",
      "dateLabel": "11월 중순 ~ 12월 초 계획 구간",
      "title": "팀별 대시보드 구축·Claude Code 실습 교육",
      "status": "planned",
      "note": "팀별 우선순위와 검증 슬롯을 확정한 뒤 순차 진행한다."
    },
    {
      "id": "M09",
      "date": "2026-12-23",
      "dateLabel": "12월 23일",
      "title": "프로젝트 종료 및 잔금 게이트",
      "status": "planned",
      "note": "계약 내 안정화는 12월 23일까지다. 이후 안정화가 필요하면 별도 합의가 필요하다."
    }
  ],
  "phases": [
    {
      "id": "P01",
      "title": "착수·현황 진단",
      "start": "2026-08-24",
      "end": "2026-09-18",
      "dateLabel": "8월 24일 ~ 9월 18일",
      "status": "done",
      "description": "계약 범위, 13개 기능, 조직·업무·원천 현황을 정리하고 실행 기반을 만들었다.",
      "deliverables": [
        "착수보고",
        "부서 인터뷰 기록",
        "시스템·데이터 원천 목록",
        "프로젝트 범위 기준"
      ]
    },
    {
      "id": "P02",
      "title": "원천 분류·수집 기반 설계",
      "start": "2026-09-18",
      "end": "2026-10-20",
      "dateLabel": "9월 18일 ~ 10월 20일",
      "status": "in_progress",
      "description": "120개 원천 체크리스트, 7개 실행 묶음, 공통 수집·대사 기반과 ERP·포털 수집 경로를 준비했다.",
      "deliverables": [
        "120개 원천 체크리스트",
        "7개 실행 묶음 계획",
        "READ_COMPLETE 등록부",
        "ERP·REA 수집 근거"
      ]
    },
    {
      "id": "P03",
      "title": "인증·120개 실제 Read 집중",
      "start": "2026-10-16",
      "end": "2026-10-30",
      "dateLabel": "10월 16일 ~ 10월 30일",
      "status": "in_progress",
      "description": "법인폰·2차 인증·OTP를 준비하고 7개 실행 묶음으로 남은 원천 Read와 E1~E9 증거를 닫는다.",
      "deliverables": [
        "계정·MFA 등록부",
        "원천별 실제 Read 결과",
        "E1~E9 증거",
        "차단 원천 재개 조건"
      ]
    },
    {
      "id": "P04",
      "title": "WBS·대시보드 사이트",
      "start": "2026-10-21",
      "end": "2026-10-26",
      "dateLabel": "10월 21일 ~ 10월 26일",
      "status": "done",
      "description": "프로젝트 이력, 현재 상태, 남은 일정과 의존성을 고객 공유용 사이트로 제공한다.",
      "deliverables": [
        "WBS 정본",
        "반응형 현황 사이트",
        "배포 URL",
        "공유용 상태 설명"
      ]
    },
    {
      "id": "P05",
      "title": "AWS 선운영·고객 계정 이관",
      "start": "2026-10-21",
      "end": null,
      "dateLabel": "10월 21일 ~ 고객 계정 준비 후",
      "status": "in_progress",
      "description": "위시켓 AWS에서 먼저 운영하고 셀퓨전씨 AWS가 준비되면 같은 IaC로 새 환경을 만든 뒤 데이터와 연동을 이관한다.",
      "deliverables": [
        "위시켓 AWS 선운영 환경",
        "운영 RDS",
        "운영 배포·로그인 경로",
        "셀퓨전씨 AWS 이관 기록"
      ]
    },
    {
      "id": "P06",
      "title": "중간보고·중도금",
      "start": "2026-10-26",
      "end": "2026-11-06",
      "dateLabel": "10월 26일 ~ 11월 초 계획 구간",
      "status": "planned",
      "description": "근거가 고정된 수집·설계·화면을 중간보고하고 다음 단계 범위와 검수 일정을 확정한다.",
      "deliverables": [
        "중간보고서",
        "시연본",
        "잔여 이슈·의사결정표",
        "중도금 검수 기록"
      ]
    },
    {
      "id": "P07",
      "title": "고객 데이터 인입 검수",
      "start": "2026-11-02",
      "end": "2026-11-13",
      "dateLabel": "11월 초 ~ 중순 계획 구간",
      "status": "planned",
      "description": "고객 파이프라인과 내부 정책에 따라 원천 반입, 정합성, 승인·예외·보존 정책을 검수한다.",
      "deliverables": [
        "인입 검수표",
        "정합성 결과",
        "정책 승인 기록",
        "예외 큐"
      ]
    },
    {
      "id": "P08",
      "title": "팀별 대시보드·실습 교육",
      "start": "2026-11-16",
      "end": "2026-12-04",
      "dateLabel": "11월 중순 ~ 12월 초 계획 구간",
      "status": "planned",
      "description": "팀별 질문과 KPI에 맞는 대시보드를 만들고 Claude Code 실습으로 변경·운영 역량을 넘긴다.",
      "deliverables": [
        "팀별 대시보드",
        "KPI·산식 문서",
        "Claude Code 실습자료",
        "팀별 운영 체크리스트"
      ]
    },
    {
      "id": "P09",
      "title": "운영 안정화·종료",
      "start": "2026-12-07",
      "end": "2026-12-23",
      "dateLabel": "12월 중순 ~ 12월 23일",
      "status": "planned",
      "description": "운영 모니터링, 오류 대응, 사용자 피드백 반영, 최종 인수인계와 종료보고를 마친다.",
      "deliverables": [
        "안정화 기록",
        "운영·복구 런북",
        "최종 인수인계",
        "종료보고·잔금 검수"
      ]
    }
  ],
  "tasks": [
    {
      "id": "T001",
      "phase": "P01",
      "title": "계약 범위·착수 기준 정렬",
      "start": "2026-08-24",
      "end": "2026-08-24",
      "dateLabel": "8월 24일",
      "status": "done",
      "owner": "위시켓 PM · CMS-LAB 기획팀",
      "deliverable": "착수 기준과 계약 범위",
      "acceptance": "프로젝트 기간 8/24~12/23, 중간보고·종료 게이트와 범위 기준이 문서화됨",
      "dependsOn": [],
      "note": "날인본 최종 문언 확인은 별도 잔여 항목.",
      "evidenceIds": [
        "E01",
        "E02"
      ]
    },
    {
      "id": "T002",
      "phase": "P01",
      "title": "부서 인터뷰·업무 현황 진단",
      "start": "2026-09-02",
      "end": "2026-09-18",
      "dateLabel": "9월 초 ~ 중순",
      "status": "done",
      "owner": "위시켓 FDE · CMS-LAB 각 팀",
      "deliverable": "팀별 업무·비효율·데이터 요구 기록",
      "acceptance": "주요 조직의 업무 흐름, 수기 작업, 데이터 원천과 기대 화면이 기록됨",
      "dependsOn": [
        "T001"
      ],
      "note": "날짜는 인터뷰·이관 기록 범위.",
      "evidenceIds": [
        "E01"
      ]
    },
    {
      "id": "T003",
      "phase": "P01",
      "title": "고객 원천·접근권 자료 인수",
      "start": "2026-09-01",
      "end": "2026-09-18",
      "dateLabel": "9월 1일 ~ 18일",
      "status": "done",
      "owner": "CMS-LAB 기획·IT · 위시켓 FDE",
      "deliverable": "원천 목록과 접근 요청 원장",
      "acceptance": "ERP·WMS·Drive·채널·파일 원천과 미확보 접근 항목이 구분됨",
      "dependsOn": [
        "T002"
      ],
      "note": "자격증명 값은 WBS에 싣지 않는다.",
      "evidenceIds": [
        "E01",
        "E10"
      ]
    },
    {
      "id": "T004",
      "phase": "P01",
      "title": "13개 기능·단계별 실행 범위 고정",
      "start": "2026-09-18",
      "end": "2026-10-08",
      "dateLabel": "9월 중순 ~ 10월 8일",
      "status": "done",
      "owner": "위시켓 PM · CMS-LAB 의사결정자",
      "deliverable": "세부 과업범위와 화면·지표 기준",
      "acceptance": "원천→산식→마트→화면 구조와 12/23 종료 범위가 문서화됨",
      "dependsOn": [
        "T002",
        "T003"
      ],
      "note": "일부 업무 의미·승인 기준은 후속 검수에서 확정.",
      "evidenceIds": [
        "E02"
      ]
    },
    {
      "id": "T005",
      "phase": "P02",
      "title": "120개 원천 모집단 분류",
      "start": "2026-09-18",
      "end": "2026-10-16",
      "dateLabel": "9월 18일 ~ 10월 16일",
      "status": "done",
      "owner": "위시켓 데이터팀",
      "deliverable": "120개 원천 목록과 전송 방식 분류",
      "acceptance": "120/120 분류, 미분류 0, 활성 117·인접 백로그 3으로 구분됨",
      "dependsOn": [
        "T003"
      ],
      "note": "120은 웹사이트 수가 아니라 분류표 행 수.",
      "evidenceIds": [
        "E03"
      ]
    },
    {
      "id": "T006",
      "phase": "P02",
      "title": "READ_COMPLETE 41개 증거 고정",
      "start": "2026-09-28",
      "end": "2026-10-16",
      "dateLabel": "9월 28일 ~ 10월 16일",
      "status": "done",
      "owner": "위시켓 데이터팀",
      "deliverable": "원천별 E1~E9 루트 서명",
      "acceptance": "41개 원천이 READ_COMPLETE 등록부에 서명되고 근거 해시가 연결됨",
      "dependsOn": [
        "T005"
      ],
      "note": "Read 범위 한정 완료. 운영 스케줄·게시 승인과 다름.",
      "evidenceIds": [
        "E03"
      ]
    },
    {
      "id": "T007",
      "phase": "P02",
      "title": "120개 원천 7개 실행 묶음 편성",
      "start": "2026-10-13",
      "end": "2026-10-15",
      "dateLabel": "10월 13일 ~ 15일",
      "status": "done",
      "owner": "위시켓 데이터팀",
      "deliverable": "7개 실행 묶음과 공통 기반 계획",
      "acceptance": "원천을 finance, commerce, planning, inventory, quality, marketing, evidence closure로 묶고 공통 수집·식별·대사·이력 기반을 정의함",
      "dependsOn": [
        "T005"
      ],
      "note": "원천마다 별도 파이프라인을 만드는 방식이 아님.",
      "evidenceIds": [
        "E04"
      ]
    },
    {
      "id": "T008",
      "phase": "P02",
      "title": "11개 Google 원천 정기수집 안정화",
      "start": "2026-10-14",
      "end": "2026-10-30",
      "dateLabel": "10월 14일 ~ 30일",
      "status": "in_progress",
      "owner": "위시켓 데이터팀",
      "deliverable": "30분 주기 read-only 수집·정규화 결과",
      "acceptance": "11개 원천 반복 실행, 오류 0, 상류 연결·예외가 추적됨",
      "dependsOn": [
        "T007"
      ],
      "note": "11/11 실행 성공 근거는 있으나 남은 상류 연결 17건이 있어 전체 완료로 표시하지 않음.",
      "evidenceIds": [
        "E04"
      ]
    },
    {
      "id": "T009",
      "phase": "P02",
      "title": "ERP read-only 실제 Read 범위 고정",
      "start": "2026-10-14",
      "end": "2026-10-16",
      "dateLabel": "10월 14일 ~ 16일",
      "status": "done",
      "owner": "위시켓 ERP·데이터팀",
      "deliverable": "ERP 7개 객체 Read 근거와 업무별 범위",
      "acceptance": "ERP 준비 계약 7객체의 실제 Read·반복·증거가 등록되고 전체 ERP와 범위가 구분됨",
      "dependsOn": [
        "T003",
        "T005"
      ],
      "note": "ERP 전 영역 완료가 아니라 명시된 부분집합 완료.",
      "evidenceIds": [
        "E03",
        "E05"
      ]
    },
    {
      "id": "T010",
      "phase": "P02",
      "title": "신세계 면세 판매·재고 수집기 배포",
      "start": "2026-10-17",
      "end": "2026-10-17",
      "dateLabel": "10월 17일",
      "status": "done",
      "owner": "위시켓 수집자동화팀",
      "deliverable": "판매·재고 recurring collector",
      "acceptance": "판매·재고 범위가 실제 Read를 통과하고 Mac mini 정기 작업으로 활성화됨",
      "dependsOn": [
        "T007"
      ],
      "note": "전체 39개 요청 자동화 완료를 뜻하지 않음.",
      "evidenceIds": [
        "E05"
      ]
    },
    {
      "id": "T011",
      "phase": "P02",
      "title": "더존 전범위 REA 잔여 닫기",
      "start": "2026-10-17",
      "end": null,
      "dateLabel": "10월 17일 ~ 계속",
      "status": "in_progress",
      "owner": "위시켓 ERP 분석팀",
      "deliverable": "정적·런타임·업무 근거 원장",
      "acceptance": "server·runtime·business authority 잔여가 근거와 함께 닫히고 overall_goal_complete=true로 판정됨",
      "dependsOn": [
        "T009"
      ],
      "note": "10월 20일 최신 정본의 overall_goal_complete=false. 정적 분석 진전과 전체 완료를 구분한다.",
      "evidenceIds": [
        "E06"
      ]
    },
    {
      "id": "T012",
      "phase": "P03",
      "title": "남은 원천 격차·우선순위 고정",
      "start": "2026-10-21",
      "end": "2026-10-21",
      "dateLabel": "10월 21일",
      "status": "done",
      "owner": "위시켓 PM · 데이터팀",
      "deliverable": "원천별 남은 E단계·차단사유·재개조건 목록",
      "acceptance": "41개 READ_COMPLETE와 나머지 79개를 구분하고 계정·파일·API·업무결정별 순서를 고정함",
      "dependsOn": [
        "T006",
        "T007"
      ],
      "note": "120개 원천을 24개 실행 영역으로 묶고 영역별 남은 조건과 순서를 READ 실행 원장에 고정했다.",
      "evidenceIds": [
        "E03",
        "E15",
        "E16"
      ]
    },
    {
      "id": "T013",
      "phase": "P03",
      "title": "법인폰·통신 회선 준비",
      "start": "2026-10-21",
      "end": "2026-10-21",
      "dateLabel": "10월 21일 회신",
      "status": "done",
      "owner": "CMS-LAB IT",
      "deliverable": "자동화 계정용 법인폰과 수신 가능 회선",
      "acceptance": "계정별 SMS·전화 인증을 받을 전용 번호와 담당자·보관정책이 정해짐",
      "dependsOn": [],
      "note": "법인 인증폰 준비, 김수현 과장 보관, 새 수집 계정의 인증 번호 용도로 확정(고객 10/21 회신).",
      "evidenceIds": [
        "E14"
      ]
    },
    {
      "id": "T014",
      "phase": "P03",
      "title": "계정·소유자·2차 인증 방식 매핑",
      "start": "2026-10-21",
      "end": "2026-10-22",
      "dateLabel": "10월 21일 ~ 22일",
      "status": "in_progress",
      "owner": "위시켓 수집자동화팀 · CMS-LAB IT",
      "deliverable": "계정별 인증·OTP·복구 경로 등록부",
      "acceptance": "각 원천의 계정 소유자, SMS/TOTP/메일 OTP, 잠금·복구 조건이 비밀값 없이 정리됨",
      "dependsOn": [
        "T012"
      ],
      "note": "비밀값은 문서·메신저에 기록하지 않음.",
      "evidenceIds": [
        "E05",
        "E07"
      ]
    },
    {
      "id": "T015",
      "phase": "P03",
      "title": "CMS-LAB 방문·전체 계정 인증 등록",
      "start": "2026-10-28",
      "end": "2026-10-28",
      "dateLabel": "10월 28일 방문",
      "status": "planned",
      "owner": "위시켓 수집자동화팀 · CMS-LAB IT",
      "deliverable": "인증 완료 세션과 복구 절차",
      "acceptance": "승인된 계정에 2차 인증을 등록하고 세션 만료·잠금·복구 절차를 확인함",
      "dependsOn": [
        "T013",
        "T014"
      ],
      "note": "법인폰 준비 완료. 전체 포털 로그인 확인과 수집 전용 계정의 법인폰 등록.",
      "evidenceIds": [
        "E14",
        "E18"
      ]
    },
    {
      "id": "T016",
      "phase": "P03",
      "title": "OTP 차단 포털 직접 수집 재개",
      "start": null,
      "end": "2026-10-30",
      "dateLabel": "10월 28일 인증 연결 후 ~ 10월 30일 목표",
      "status": "blocked",
      "owner": "위시켓 수집자동화팀",
      "deliverable": "HGLIS·다이소·국내외 포털 실제 Read 결과",
      "acceptance": "승인 계정으로 잠금 없이 결정론적 다운로드와 완전성 대사를 통과함",
      "dependsOn": [
        "T015"
      ],
      "note": "10/27 실제 로그인 관측: 무신사·B마트·HGLIS는 2차 인증, Qoo10은 reCAPTCHA, 컬리·라쿠텐·면세 4사는 현재 자격 확인 필요.",
      "evidenceIds": [
        "E05",
        "E16"
      ]
    },
    {
      "id": "T017",
      "phase": "P03",
      "title": "API·OAuth 계정 승인 완료",
      "start": "2026-10-21",
      "end": null,
      "dateLabel": "GA4·BigQuery 추가 인증 보류",
      "status": "blocked",
      "owner": "CMS-LAB 원천 오너 · IT",
      "deliverable": "Google·광고·커머스·SaaS 승인 완료 기록",
      "acceptance": "OAuth·GroupsReader·WIF·AWS 인증 metadata와 원천별 read-only 연결이 열림",
      "dependsOn": [
        "T014"
      ],
      "note": "GA4·GEC BigQuery 추가 인증은 명시적 응답에 따라 보류. 웹 로그인은 시험 주소의 자체 로그인으로 운영 중.",
      "evidenceIds": [
        "E05",
        "E10",
        "E13",
        "E15"
      ]
    },
    {
      "id": "T018",
      "phase": "P03",
      "title": "파일·Drive·기존 파생 경로 실제 Read",
      "start": "2026-10-21",
      "end": "2026-10-30",
      "dateLabel": "10월 21일 ~ 30일",
      "status": "in_progress",
      "owner": "위시켓 데이터팀",
      "deliverable": "파일·Drive 원천 수집 manifest",
      "acceptance": "원본 범위, 수집시각, 해시, 행·객체 수, 중복·누락 결과가 원천별로 남음",
      "dependsOn": [
        "T012"
      ],
      "note": "샘플·파생본 파싱은 실원천 Read로 승격하지 않음.",
      "evidenceIds": [
        "E03",
        "E04"
      ]
    },
    {
      "id": "T019",
      "phase": "P03",
      "title": "120개 E1~E9 증거 마감",
      "start": "2026-10-21",
      "end": "2026-10-30",
      "dateLabel": "~ 10월 30일 목표",
      "status": "in_progress",
      "owner": "위시켓 데이터팀",
      "deliverable": "120개 원천 READ_COMPLETE 등록부",
      "acceptance": "각 원천의 범위·접근·수집기·실 Read·완전성·검증·복구·반복·증거가 모두 통과함",
      "dependsOn": [
        "T016",
        "T017",
        "T018"
      ],
      "note": "현재 41/120(10/16 증거). 10/30까지 닫지 못한 원천은 재개 조건과 함께 보고.",
      "evidenceIds": [
        "E03",
        "E19"
      ]
    },
    {
      "id": "T020",
      "phase": "P04",
      "title": "프로젝트 WBS 정본 작성",
      "start": "2026-10-21",
      "end": "2026-10-21",
      "dateLabel": "10월 21일",
      "status": "done",
      "owner": "위시켓 PM",
      "deliverable": "JSON·Markdown WBS",
      "acceptance": "이력·현재·남은 일정에 날짜·담당·산출물·상태·선행조건·근거가 포함됨",
      "dependsOn": [
        "T012"
      ],
      "note": "고객 공유용 표현으로 비밀·고객 원문 값 제외.",
      "evidenceIds": [
        "E01",
        "E03",
        "E04",
        "E05",
        "E06",
        "E12",
        "E17"
      ]
    },
    {
      "id": "T021",
      "phase": "P04",
      "title": "WBS 대시보드 화면 구현",
      "start": "2026-10-21",
      "end": "2026-10-24",
      "dateLabel": "10월 21일 ~ 24일",
      "status": "done",
      "owner": "위시켓 웹팀",
      "deliverable": "반응형 일정·상태·의존성 화면",
      "acceptance": "모바일·PC에서 마일스톤, 단계, 작업, 위험, 근거를 읽을 수 있음",
      "dependsOn": [
        "T020"
      ],
      "note": "WBS JSON을 화면 정본으로 사용.",
      "evidenceIds": [
        "E12",
        "E17"
      ]
    },
    {
      "id": "T022",
      "phase": "P04",
      "title": "사이트 배포·공유 경로 연결",
      "start": "2026-10-24",
      "end": "2026-10-26",
      "dateLabel": "10월 24일 ~ 26일",
      "status": "done",
      "owner": "위시켓 웹·운영팀",
      "deliverable": "배포 URL과 갱신 절차",
      "acceptance": "외부 공유 URL에서 최신 WBS가 열리고 정본 갱신 경로가 문서화됨",
      "dependsOn": [
        "T021"
      ],
      "note": "고객 AWS 운영 배포와 분리된 웹사이트 배포.",
      "evidenceIds": [
        "E12",
        "E17"
      ]
    },
    {
      "id": "T023",
      "phase": "P04",
      "title": "대시보드 사이트 완성",
      "start": "2026-10-26",
      "end": "2026-10-27",
      "dateLabel": "10월 26~27일",
      "status": "done",
      "owner": "위시켓 PM · 웹팀",
      "deliverable": "고객 공유 가능한 프로젝트 현황 사이트",
      "acceptance": "현재 수치·계획 가정·차단점이 구분되고 모든 주요 일정이 표시됨",
      "dependsOn": [
        "T022"
      ],
      "note": "WBS·체크리스트·데이터 연결 진행 현황 사이트 공개. 이후 AWS 운영 전환이 이어짐.",
      "evidenceIds": [
        "E12",
        "E17"
      ]
    },
    {
      "id": "T024",
      "phase": "P05",
      "title": "AWS 견적서 전달",
      "start": null,
      "end": "2026-10-21",
      "dateLabel": "10월 21일 이전",
      "status": "done",
      "owner": "위시켓 PM",
      "deliverable": "AWS 견적서 전달 기록",
      "acceptance": "션(김수현 과장)에게 Slack으로 견적서 전달",
      "dependsOn": [],
      "note": "사용자 완료 보고를 반영. 추가 Slack 발송 작업 없음.",
      "evidenceIds": [
        "E12"
      ]
    },
    {
      "id": "T025",
      "phase": "P05",
      "title": "선운영 구성·비용·관리 권한 확정",
      "start": "2026-10-21",
      "end": null,
      "dateLabel": "10월 21일 ~",
      "status": "in_progress",
      "owner": "위시켓 PM·인프라팀",
      "deliverable": "적용 구성과 계정 확인 기록",
      "acceptance": "표준 prod 기본값, 로그인·관리 권한, 결제·할인, 운영 주체가 확정됨",
      "dependsOn": [
        "T024"
      ],
      "note": "표준 prod 월 $283.24 가정. dev는 secret namespace·EIP 충돌로 제외하고 기존 환경을 유지한다. 고객 계약·날인은 선행조건이 아니다.",
      "evidenceIds": [
        "E07",
        "E13"
      ]
    },
    {
      "id": "T026",
      "phase": "P05",
      "title": "위시켓 AWS IAM·MFA·감사 준비",
      "start": null,
      "end": null,
      "dateLabel": "준비 즉시",
      "status": "in_progress",
      "owner": "위시켓 인프라팀",
      "deliverable": "최소권한 접근과 감사·비용 통제",
      "acceptance": "관리자 접근, MFA, CloudTrail, 비용 경보와 IaC account allowlist가 준비됨",
      "dependsOn": [
        "T025"
      ],
      "note": "account 645314607434와 os@wishket.com root email 연결, provisioner role 생성, prod AssumeRole 성공을 확인했다. 감사·비용 통제는 진행 중이다.",
      "evidenceIds": [
        "E08",
        "E13"
      ]
    },
    {
      "id": "T027",
      "phase": "P05",
      "title": "네트워크·운영 인프라 부트스트랩",
      "start": null,
      "end": "2026-10-21",
      "dateLabel": "10월 21일",
      "status": "done",
      "owner": "위시켓 인프라팀",
      "deliverable": "VPC·고정 IP·수집 런타임·비밀 저장소",
      "acceptance": "운영 네트워크, 고정 IP, 런타임, 로그, 비밀 저장 경로가 준비됨",
      "dependsOn": [
        "T026"
      ],
      "note": "기존 OIDC provider 재사용과 ASG IAM 전파 재시도로 apply exit 0. API·browser ASG Healthy/InService, EIP 3개.",
      "evidenceIds": [
        "E07",
        "E08",
        "E13"
      ]
    },
    {
      "id": "T028",
      "phase": "P05",
      "title": "운영 RDS·스키마·마이그레이션 적용",
      "start": "2026-10-21",
      "end": "2026-10-21",
      "dateLabel": "10월 21일",
      "status": "done",
      "owner": "위시켓 데이터플랫폼팀",
      "deliverable": "새 운영 RDS와 현행 스키마·시드",
      "acceptance": "부트스트랩, 권한, 현행 마이그레이션, 시드 정합이 완료됨",
      "dependsOn": [
        "T027"
      ],
      "note": "pipeline 9848 job 15213 성공. migration·seed·baseline·reapply·extraction·workload login 적용, artifact SHA 기록. 운영 데이터 이관은 별도다.",
      "evidenceIds": [
        "E07",
        "E08",
        "E13"
      ]
    },
    {
      "id": "T029",
      "phase": "P05",
      "title": "위시켓 AWS 수집기·웹 인증·DNS 운영 전환",
      "start": "2026-10-23",
      "end": null,
      "dateLabel": "10월 23일 ~",
      "status": "in_progress",
      "owner": "위시켓 웹·데이터·인프라팀",
      "deliverable": "AWS 운영 수집·웹 서비스",
      "acceptance": "collector schedule과 web·BI desired_count를 활성화하고 로그인·DNS·헬스체크·롤백을 확인함",
      "dependsOn": [
        "T017",
        "T027",
        "T028"
      ],
      "note": "웹은 위시켓 AWS 시험 주소에서 자체 로그인으로 운영 중. 정기 수집의 AWS 일정 전환과 data·bi 도메인 연결이 남음.",
      "evidenceIds": [
        "E08",
        "E13",
        "E20"
      ]
    },
    {
      "id": "T046",
      "phase": "P05",
      "title": "셀퓨전씨 AWS 재생성·데이터·연동 이관",
      "start": null,
      "end": null,
      "dateLabel": "고객 계정 준비 후",
      "status": "planned",
      "owner": "CMS-LAB IT · 위시켓 인프라·데이터팀",
      "deliverable": "고객 소유 운영 환경과 이관 기록",
      "acceptance": "동일 IaC 재생성, RDS·S3·KMS·시크릿·DNS·웹훅·고정IP 전환, 최종 동기화와 롤백 검수가 완료됨",
      "dependsOn": [
        "T029"
      ],
      "note": "기존 위시켓 자원 폐기는 안정화와 고객 인수 뒤 별도 승인으로 진행한다.",
      "evidenceIds": [
        "E13"
      ]
    },
    {
      "id": "T030",
      "phase": "P06",
      "title": "중간보고 근거팩 작성",
      "start": "2026-10-26",
      "end": "2026-11-02",
      "dateLabel": "10월 말 ~ 11월 초 계획",
      "status": "planned",
      "owner": "위시켓 PM · 데이터팀",
      "deliverable": "수집·설계·화면·차단점 근거팩",
      "acceptance": "완료·진행·차단 상태와 수치 분모, 시연 근거, 남은 결정이 일치함",
      "dependsOn": [
        "T019",
        "T023"
      ],
      "note": "10/30까지 닫지 못한 원천은 재개 조건과 함께 그대로 포함.",
      "evidenceIds": [
        "E03",
        "E04",
        "E06",
        "E12"
      ]
    },
    {
      "id": "T031",
      "phase": "P06",
      "title": "중간 시연·고객 검증",
      "start": "2026-11-02",
      "end": "2026-11-05",
      "dateLabel": "11월 초 계획 구간",
      "status": "planned",
      "owner": "위시켓 PM · CMS-LAB 팀 오너",
      "deliverable": "시연 결과와 피드백 원장",
      "acceptance": "원천→산식→화면 경로, 차단 원천, 다음 검수 일정에 고객 확인이 남음",
      "dependsOn": [
        "T030"
      ],
      "note": "보고일 확정 전 계획 구간.",
      "evidenceIds": [
        "E02",
        "E12"
      ]
    },
    {
      "id": "T032",
      "phase": "P06",
      "title": "중간보고 완료",
      "start": "2026-11-05",
      "end": "2026-11-06",
      "dateLabel": "11월 초 목표",
      "status": "planned",
      "owner": "위시켓 PM · CMS-LAB 의사결정자",
      "deliverable": "중간보고서와 승인 기록",
      "acceptance": "서면·발표·잔여 일정이 고객에게 보고되고 수용 여부가 기록됨",
      "dependsOn": [
        "T031"
      ],
      "note": "정확한 날짜는 고객과 확정 필요.",
      "evidenceIds": [
        "E02",
        "E12"
      ]
    },
    {
      "id": "T033",
      "phase": "P06",
      "title": "중도금 검수·청구",
      "start": "2026-11-06",
      "end": "2026-11-06",
      "dateLabel": "중간보고 완료 후",
      "status": "planned",
      "owner": "위시켓 PM·재무 · CMS-LAB 구매",
      "deliverable": "중도금 검수·청구 기록",
      "acceptance": "계약상 중간보고 조건 충족이 확인되고 청구 절차가 시작됨",
      "dependsOn": [
        "T032"
      ],
      "note": "중간보고 완료가 계약상 중도금 게이트.",
      "evidenceIds": [
        "E02"
      ]
    },
    {
      "id": "T034",
      "phase": "P07",
      "title": "고객 데이터 파이프라인 인입",
      "start": "2026-11-02",
      "end": "2026-11-09",
      "dateLabel": "11월 초 계획 구간",
      "status": "planned",
      "owner": "위시켓 데이터팀 · CMS-LAB 원천 오너",
      "deliverable": "운영 인입 배치와 원천별 manifest",
      "acceptance": "승인된 원천이 운영 경로로 들어오고 수집시각·해시·건수·계보가 남음",
      "dependsOn": [
        "T019",
        "T028"
      ],
      "note": "실제 Read 성공과 운영 인입은 별도 완료 기준.",
      "evidenceIds": [
        "E03",
        "E04",
        "E08"
      ]
    },
    {
      "id": "T035",
      "phase": "P07",
      "title": "내부정책·권한·보존 검수",
      "start": "2026-11-04",
      "end": "2026-11-11",
      "dateLabel": "11월 초 ~ 중순 계획 구간",
      "status": "planned",
      "owner": "CMS-LAB IT·업무 오너 · 위시켓 보안담당",
      "deliverable": "원천별 정책 승인표",
      "acceptance": "최소권한, 개인정보, 보존기간, 반출·게시 범위와 승인자가 원천별로 확정됨",
      "dependsOn": [
        "T034"
      ],
      "note": "업무 의미·게시 승인 미확정 항목을 별도 관리.",
      "evidenceIds": [
        "E03",
        "E07"
      ]
    },
    {
      "id": "T036",
      "phase": "P07",
      "title": "수치·완전성·예외 대사",
      "start": "2026-11-05",
      "end": "2026-11-13",
      "dateLabel": "11월 초 ~ 중순 계획 구간",
      "status": "planned",
      "owner": "위시켓 데이터팀 · CMS-LAB 업무 오너",
      "deliverable": "통제합·누락·중복·미매핑 결과",
      "acceptance": "팀별 승인 합계와 합의 오차 내 일치하고 미해결 예외가 오너·기한과 함께 남음",
      "dependsOn": [
        "T034",
        "T035"
      ],
      "note": "추정 배정 없이 exact 키와 승인 기준 사용.",
      "evidenceIds": [
        "E04"
      ]
    },
    {
      "id": "T037",
      "phase": "P07",
      "title": "인입 검수 완료·기준판 동결",
      "start": "2026-11-13",
      "end": "2026-11-13",
      "dateLabel": "11월 중순 목표",
      "status": "planned",
      "owner": "위시켓 PM · CMS-LAB 업무 오너",
      "deliverable": "검수 기준판과 잔여 예외 원장",
      "acceptance": "승인 범위·기준시점·산식·예외가 동결되고 대시보드 개발 입력으로 전달됨",
      "dependsOn": [
        "T036"
      ],
      "note": "정확한 날짜는 계획 가정.",
      "evidenceIds": [
        "E12"
      ]
    },
    {
      "id": "T038",
      "phase": "P08",
      "title": "팀별 질문·KPI·대시보드 우선순위 확정",
      "start": "2026-11-16",
      "end": "2026-11-18",
      "dateLabel": "11월 중순 계획 구간",
      "status": "planned",
      "owner": "CMS-LAB 각 팀 · 위시켓 PM",
      "deliverable": "팀별 화면 백로그와 검수 슬롯",
      "acceptance": "보는 사람, 답할 질문, 핵심 지표, 확인 주기, 오너가 화면별로 확정됨",
      "dependsOn": [
        "T037"
      ],
      "note": "기존 13개 기능 범위 안에서 우선순위 조정.",
      "evidenceIds": [
        "E02"
      ]
    },
    {
      "id": "T039",
      "phase": "P08",
      "title": "팀별 대시보드 구축·검수",
      "start": "2026-11-18",
      "end": "2026-12-04",
      "dateLabel": "11월 중순 ~ 12월 초 계획 구간",
      "status": "planned",
      "owner": "위시켓 웹·데이터팀 · CMS-LAB 각 팀",
      "deliverable": "팀별 대시보드와 KPI 정의",
      "acceptance": "승인된 원천·산식으로 화면이 재현되고 팀 오너 표본 대사를 통과함",
      "dependsOn": [
        "T038"
      ],
      "note": "원천 연결이 늦은 화면은 검증 가능한 순서로 조정.",
      "evidenceIds": [
        "E02",
        "E04"
      ]
    },
    {
      "id": "T040",
      "phase": "P08",
      "title": "Claude Code 실습 교육",
      "start": "2026-11-23",
      "end": "2026-12-04",
      "dateLabel": "11월 하순 ~ 12월 초 계획 구간",
      "status": "planned",
      "owner": "위시켓 교육담당 · CMS-LAB 코어 사용자",
      "deliverable": "실습 교안·예제·개인별 과제",
      "acceptance": "참여자가 질문 정의, 화면 변경 요청, 데이터 검증, 안전한 운영 절차를 실습함",
      "dependsOn": [
        "T038",
        "T039"
      ],
      "note": "교육 계약 체결 여부와 참여자 확정 필요.",
      "evidenceIds": [
        "E07",
        "E12"
      ]
    },
    {
      "id": "T041",
      "phase": "P08",
      "title": "팀별 운영 인수인계",
      "start": "2026-12-01",
      "end": "2026-12-04",
      "dateLabel": "12월 초 계획 구간",
      "status": "planned",
      "owner": "위시켓 운영팀 · CMS-LAB 팀 오너",
      "deliverable": "팀별 운영 체크리스트와 연락 체계",
      "acceptance": "팀이 데이터 최신성, 예외 확인, 변경 요청, 장애 접수 절차를 독립 수행함",
      "dependsOn": [
        "T039",
        "T040"
      ],
      "note": "운영·기술 문서와 교육 결과를 함께 인계.",
      "evidenceIds": [
        "E12"
      ]
    },
    {
      "id": "T042",
      "phase": "P09",
      "title": "운영 안정화 관찰",
      "start": "2026-12-07",
      "end": "2026-12-23",
      "dateLabel": "12월 중순 ~ 12월 23일",
      "status": "planned",
      "owner": "위시켓 운영팀 · CMS-LAB 코어 사용자",
      "deliverable": "가동률·신선도·오류·사용 피드백 기록",
      "acceptance": "정기 수집·대시보드·알림의 반복 실행과 주요 사용자 흐름이 안정적으로 유지됨",
      "dependsOn": [
        "T029",
        "T041"
      ],
      "note": "사용자 표현의 12월 중순~말 중 계약 내 범위는 12/23까지.",
      "evidenceIds": [
        "E02",
        "E12"
      ]
    },
    {
      "id": "T043",
      "phase": "P09",
      "title": "오류·성능·보안 보정",
      "start": "2026-12-07",
      "end": "2026-12-21",
      "dateLabel": "안정화 기간",
      "status": "planned",
      "owner": "위시켓 데이터·웹·인프라팀",
      "deliverable": "해결 기록과 잔여 위험 목록",
      "acceptance": "중대한 수집 누락·수치 오류·접근통제 결함이 해결되거나 수용 기준과 오너가 확정됨",
      "dependsOn": [
        "T042"
      ],
      "note": "운영 중 관찰된 문제만 우선순위화.",
      "evidenceIds": [
        "E12"
      ]
    },
    {
      "id": "T044",
      "phase": "P09",
      "title": "최종 문서·운영·복구 인수인계",
      "start": "2026-12-14",
      "end": "2026-12-22",
      "dateLabel": "12월 중순 ~ 22일",
      "status": "planned",
      "owner": "위시켓 PM·운영팀 · CMS-LAB IT",
      "deliverable": "운영·복구 런북, 계보, 권한·연락 체계",
      "acceptance": "고객 담당자가 운영, 장애 확인, 복구, 권한 변경, 산출물 위치를 인수함",
      "dependsOn": [
        "T041",
        "T043"
      ],
      "note": "계정 비밀값은 문서 산출물에 포함하지 않음.",
      "evidenceIds": [
        "E12"
      ]
    },
    {
      "id": "T045",
      "phase": "P09",
      "title": "종료보고·최종 검수·잔금",
      "start": "2026-12-23",
      "end": "2026-12-23",
      "dateLabel": "12월 23일",
      "status": "planned",
      "owner": "위시켓 PM·재무 · CMS-LAB 의사결정자·구매",
      "deliverable": "종료보고서, 최종 검수, 잔금 절차",
      "acceptance": "계약 종결조건과 인수인계가 확인되고 종료·잔금 절차가 시작됨",
      "dependsOn": [
        "T042",
        "T043",
        "T044"
      ],
      "note": "12/23 이후 안정화는 계약 범위 밖이므로 필요 시 별도 기간·비용 합의.",
      "evidenceIds": [
        "E02",
        "E12"
      ]
    }
  ],
  "dependencies": [
    {
      "id": "D01",
      "title": "법인폰·SMS·OTP 준비",
      "owner": "CMS-LAB IT",
      "neededBy": "2026-10-28",
      "status": "in_progress",
      "impact": "법인폰은 준비됨. 10/28 현장 연결 전까지 문자 인증 포털의 직접 Read가 멈춤",
      "relatedTaskIds": [
        "T013",
        "T015",
        "T016",
        "T019"
      ]
    },
    {
      "id": "D02",
      "title": "원천 계정 오너의 초대·앱 승인",
      "owner": "CMS-LAB 각 원천 오너 · IT",
      "neededBy": "2026-10-30",
      "status": "blocked",
      "impact": "API·OAuth 원천의 실제 Read와 완전성 검증이 지연됨",
      "relatedTaskIds": [
        "T014",
        "T017",
        "T019"
      ]
    },
    {
      "id": "D03",
      "title": "위시켓 AWS IAM·결제·구성 확인",
      "owner": "위시켓 인프라팀",
      "neededBy": null,
      "status": "in_progress",
      "impact": "선운영 Terraform apply, RDS, 수집 런타임, 인증·DNS 시작 전 확인이 필요함",
      "relatedTaskIds": [
        "T025",
        "T026",
        "T027",
        "T028",
        "T029"
      ]
    },
    {
      "id": "D04",
      "title": "원천 Read와 운영 인입의 분리",
      "owner": "위시켓 PM·데이터팀",
      "neededBy": "2026-11-02",
      "status": "in_progress",
      "impact": "Read 성공을 운영 스케줄·정책 검수 완료로 오인하면 중간보고 수치가 왜곡됨",
      "relatedTaskIds": [
        "T019",
        "T030",
        "T034",
        "T035"
      ]
    },
    {
      "id": "D05",
      "title": "고객 업무 오너 검증 슬롯",
      "owner": "CMS-LAB 각 팀",
      "neededBy": "2026-11-13",
      "status": "planned",
      "impact": "정책·산식·수치 대사와 대시보드 수용이 지연됨",
      "relatedTaskIds": [
        "T031",
        "T035",
        "T036",
        "T037",
        "T039"
      ]
    },
    {
      "id": "D06",
      "title": "교육 계약·참여자 확정",
      "owner": "위시켓 PM · CMS-LAB 기획팀",
      "neededBy": "2026-11-16",
      "status": "planned",
      "impact": "Claude Code 실습 교육과 팀별 운영 인수인계 일정이 바뀔 수 있음",
      "relatedTaskIds": [
        "T040",
        "T041"
      ]
    },
    {
      "id": "D07",
      "title": "셀퓨전씨 AWS 계정·KMS·이관 창 준비",
      "owner": "CMS-LAB IT·구매",
      "neededBy": null,
      "status": "planned",
      "impact": "위시켓 AWS 선운영은 가능하지만 최종 고객 소유 환경 이관과 기존 자원 폐기가 지연됨",
      "relatedTaskIds": [
        "T046"
      ]
    }
  ],
  "risks": [
    {
      "id": "R01",
      "title": "10/30 목표 대비 READ_COMPLETE 격차",
      "status": "open",
      "response": "10/16 기준 41/120에서 남은 79개를 계정·파일·API·업무결정으로 나눠 병렬 처리한다. 외부 선행조건이 남으면 완료로 승격하지 않고 재개 조건과 새 일정을 공개한다.",
      "relatedTaskIds": [
        "T012",
        "T019"
      ]
    },
    {
      "id": "R02",
      "title": "법인폰·OTP 현장 연결",
      "status": "open",
      "response": "10/28 방문에서 수집 전용 계정에 법인폰을 등록하고 인증번호 1건 전달을 확인한다. 잠금 위험이 있는 로그인 재시도는 하지 않는다.",
      "relatedTaskIds": [
        "T013",
        "T015",
        "T016"
      ]
    },
    {
      "id": "R03",
      "title": "사이트 완성과 AWS 운영 전환 시점 차이",
      "status": "controlled",
      "response": "10월 26일은 화면·기능·공유 사이트 완성으로 정의한다. 운영 수집·RDS·인증·DNS 전환은 위시켓 AWS 계정 확인과 부트스트랩 뒤 별도 완료한다.",
      "relatedTaskIds": [
        "T023",
        "T025",
        "T029"
      ]
    },
    {
      "id": "R04",
      "title": "더존 REA 전체 완료 오인",
      "status": "open",
      "response": "10/20 정본의 overall_goal_complete=false를 유지한다. 정적 분석 진전과 server·runtime·business authority 잔여를 따로 보고한다.",
      "relatedTaskIds": [
        "T011",
        "T030"
      ]
    },
    {
      "id": "R05",
      "title": "12월 말 안정화와 12/23 계약 종료 충돌",
      "status": "controlled",
      "response": "계약 내 안정화 종료를 12/23으로 고정한다. 12/24 이후 지원이 필요하면 기간·범위·비용을 별도 합의한다.",
      "relatedTaskIds": [
        "T042",
        "T045"
      ]
    },
    {
      "id": "R06",
      "title": "계정 간 이관에서 데이터·키·endpoint 분리",
      "status": "open",
      "response": "고객 계정에 동일 IaC를 재생성하고 RDS·S3를 복제한다. 고객 KMS 재암호화, 시크릿 회전, DNS·웹훅·고정IP 전환, 쓰기 중지·최종 동기화·롤백 검수 뒤 기존 자원을 폐기한다.",
      "relatedTaskIds": [
        "T029",
        "T046"
      ]
    },
    {
      "id": "R07",
      "title": "공유계정 dev secret·EIP 충돌",
      "status": "controlled",
      "response": "이번 배포는 prod만 진행한다. 기존 개발환경을 유지하고 EIP quota 10 상향 요청은 후속 처리한다. Organizations·SCP·관리계정은 만들지 않는다.",
      "relatedTaskIds": [
        "T025",
        "T027"
      ]
    }
  ],
  "evidence": [
    {
      "id": "E01",
      "label": "프로젝트 타임라인",
      "path": "docs/project/timeline.md",
      "asOf": "2026-10-21",
      "note": "수주, 착수, 인터뷰, 원천 요청·이관 이력."
    },
    {
      "id": "E02",
      "label": "계약·범위 기준",
      "path": "docs/project/scope-and-contract.md",
      "asOf": "2026-10-01",
      "note": "8/24~12/23 계약 기간, 중간보고·중도금, 종료·잔금 기준. 날인본 최종 문언 확인 필요."
    },
    {
      "id": "E03",
      "label": "120개 원천 체크리스트 정본",
      "path": "cmslab-data-platform/00_프로젝트작업실/51_프로젝트체크리스트/source-readiness.json",
      "asOf": "2026-10-16",
      "note": "120/120 분류, 활성 117, 인접 3, READ_COMPLETE 41, 실 Read 42, 부분 1."
    },
    {
      "id": "E04",
      "label": "시트 자동화 통합 실행계획",
      "path": "docs/project/sheet-automation-plan.md",
      "asOf": "2026-10-15",
      "note": "120개 분류와 7개 실행 묶음, 11개 Google 원천 일부 가동 현황."
    },
    {
      "id": "E05",
      "label": "REA recurring collection 결과",
      "path": "docs/work-log/2026-10-17_rea-recurring-collection/result.md",
      "asOf": "2026-10-17",
      "note": "SSG 판매·재고 가동, HGLIS OTP 차단, 다이소 미구성, 공통 런타임 현황."
    },
    {
      "id": "E06",
      "label": "더존 REA 10/20 checkpoint",
      "path": "docs/work-log/2026-10-17_douzone-rea-program/completion-20261020/completion-status.json",
      "asOf": "2026-10-20",
      "note": "overall_goal_complete=false와 server·runtime·business authority 잔여."
    },
    {
      "id": "E07",
      "label": "프로젝트 오픈 항목",
      "path": "docs/project/open-items.md",
      "asOf": "2026-10-21",
      "note": "AWS 선운영·고객 계정 이관, 운영 RDS, 교육 계약, 접근권 잔여."
    },
    {
      "id": "E08",
      "label": "AWS-first 운영 절차",
      "path": "docs/memory/cmslab-aws-first-ops.md",
      "asOf": "2026-10-16",
      "note": "AWS 계정 뒤 RDS 부트스트랩, CI 변수, 마이그레이션·운영 전환 순서."
    },
    {
      "id": "E09",
      "label": "CMS-LAB 이해관계자",
      "path": "docs/project/stakeholders.md",
      "asOf": "2026-10-21",
      "note": "고객 창구와 IT 담당 역할."
    },
    {
      "id": "E10",
      "label": "원천 전수 탐색 기록",
      "path": "docs/project/source-sweep-log.md",
      "asOf": "2026-10-21",
      "note": "메일·Slack·Drive·고객 원본·접근자료 탐색 범위와 누락 원천."
    },
    {
      "id": "E11",
      "label": "REA 요청 범위 39건",
      "path": "docs/work-log/2026-10-17_rea-recurring-collection/request-coverage.md",
      "asOf": "2026-10-17",
      "note": "계정, OAuth, 파일, 의사결정, 법인폰 등 요청 유형별 현재 차단점."
    },
    {
      "id": "E12",
      "label": "사용자 제공 추후 일정",
      "path": "사용자 제공 일정(2026-10-21)",
      "asOf": "2026-10-21",
      "note": "법인폰·현장 인증, 120개 Read(목표일은 E19로 10/30 정정), 10/26 사이트, AWS, 11월 중간보고·검수·교육, 12/23 종료. 최신 AWS 순서는 E13이 대체한다."
    },
    {
      "id": "E13",
      "label": "위시켓 AWS 선운영·고객 계정 이관 결정",
      "path": "docs/work-log/2026-10-21_aws-wishket-first/context.md",
      "asOf": "2026-10-21",
      "note": "고객 계약 대기 없이 위시켓 AWS 선운영, 10월 1일 견적 아키텍처 재사용, 후속 셀퓨전씨 계정 이관."
    },
    {
      "id": "E14",
      "label": "10/21 데이터 연결 회신 정리",
      "path": "docs/work-log/2026-10-21_data-connection-reply/result.md",
      "asOf": "2026-10-21",
      "note": "법인 인증폰 준비·보관, 포털별 수집 계정 추가 가능 여부와 담당자."
    },
    {
      "id": "E15",
      "label": "READ 실행 원장",
      "path": "docs/project/read-execution-ledger.json",
      "asOf": "2026-10-27",
      "note": "120개 원천을 24개 실행 영역으로 매핑, 영역별 남은 조건과 정기 실행 상태."
    },
    {
      "id": "E16",
      "label": "관리자 계정·원천 접근 결과",
      "path": "docs/work-log/2026-10-27_admin-access/admin-account-access-result.md",
      "asOf": "2026-10-27",
      "note": "실제 로그인과 업무 조회 범위, 계정별 차단 지점."
    },
    {
      "id": "E17",
      "label": "공유 사이트 배포 기록",
      "path": "docs/work-log/2026-10-21_site-design-system/deployment.json",
      "asOf": "2026-10-21",
      "note": "WBS·체크리스트 공개 URL과 릴리스. 데이터 연결 진행 현황은 docs/work-log/2026-10-26_read-internal-completion/readiness-deployment.safe.json."
    },
    {
      "id": "E18",
      "label": "10/28 현장 포털 로그인 전수 확인 계획",
      "path": "docs/work-log/2026-10-27_portal-login-sweep/plan.md",
      "asOf": "2026-10-27",
      "note": "포털별 로그인·인증 확인 순서와 법인폰 등록 원칙."
    },
    {
      "id": "E19",
      "label": "고객 목표일 10/30 정정",
      "path": "docs/work-log/2026-10-27_customer-meeting-1028/context.md",
      "asOf": "2026-10-27",
      "note": "고객 기준 목표일은 10/30."
    },
    {
      "id": "E20",
      "label": "웹 시험 주소 운영 기록",
      "path": "docs/work-log/2026-10-23_inbound-voc-material-web/result.md",
      "asOf": "2026-10-23",
      "note": "ECS 2/2 롤아웃 완료, healthz 200."
    }
  ]
}
