{
  "generatedAt": "2026-06-08T13:59:25.248Z",
  "summary": {
    "itemCount": 12,
    "doneCount": 4,
    "openCount": 8,
    "criticalOpenCount": 5,
    "readyForLaunch": false,
    "automationScore": 0.3333333333333333
  },
  "groups": [
    {
      "group": "site",
      "total": 2,
      "done": 2,
      "needsInput": 0,
      "manual": 0,
      "criticalOpen": 0
    },
    {
      "group": "affiliate",
      "total": 2,
      "done": 1,
      "needsInput": 1,
      "manual": 0,
      "criticalOpen": 1
    },
    {
      "group": "tracking",
      "total": 2,
      "done": 0,
      "needsInput": 2,
      "manual": 0,
      "criticalOpen": 1
    },
    {
      "group": "deployment",
      "total": 2,
      "done": 1,
      "needsInput": 0,
      "manual": 0,
      "criticalOpen": 0
    },
    {
      "group": "growth",
      "total": 2,
      "done": 0,
      "needsInput": 1,
      "manual": 1,
      "criticalOpen": 1
    },
    {
      "group": "automation",
      "total": 2,
      "done": 0,
      "needsInput": 2,
      "manual": 0,
      "criticalOpen": 2
    }
  ],
  "items": [
    {
      "id": "real-domain",
      "group": "site",
      "label": "실제 HTTPS 도메인",
      "status": "done",
      "critical": true,
      "evidence": "SITE_BASE_URL",
      "command": "",
      "missingEnv": [],
      "configuredEnv": [
        "SITE_BASE_URL"
      ],
      "nextAction": "Cloudflare Pages 또는 도메인 DNS를 연결한 뒤 SITE_BASE_URL을 실제 https 도메인으로 바꾼다."
    },
    {
      "id": "contact-email",
      "group": "site",
      "label": "공개 연락처",
      "status": "done",
      "critical": true,
      "evidence": "CONTACT_EMAIL",
      "command": "",
      "missingEnv": [],
      "configuredEnv": [
        "CONTACT_EMAIL"
      ],
      "nextAction": "파트너 심사와 사용자 문의를 받을 실제 이메일을 CONTACT_EMAIL에 설정한다."
    },
    {
      "id": "partner-ids",
      "group": "affiliate",
      "label": "제휴 파트너 ID",
      "status": "needs-input",
      "critical": true,
      "evidence": "partner-status.json",
      "command": "",
      "missingEnv": [
        "KLOOK_AID",
        "KKDAY_ID",
        "TRAVELPAYOUTS_MARKER",
        "GYG_PARTNER_ID"
      ],
      "configuredEnv": [],
      "nextAction": "승인 키트로 파트너 신청을 완료하고 승인된 ID를 각 환경 변수에 입력한다."
    },
    {
      "id": "click-tracking",
      "group": "tracking",
      "label": "클릭 추적",
      "status": "needs-input",
      "critical": true,
      "evidence": "GA_MEASUREMENT_ID or CLICK_EVENT_ENDPOINT",
      "command": "",
      "missingEnv": [
        "GA_MEASUREMENT_ID",
        "CLICK_EVENT_ENDPOINT"
      ],
      "configuredEnv": [],
      "nextAction": "GA4 또는 Cloudflare Worker click collector를 연결해 affiliate_click 이벤트를 중앙 수집한다."
    },
    {
      "id": "click-collector",
      "group": "tracking",
      "label": "클릭 수집 Worker",
      "status": "needs-input",
      "critical": false,
      "evidence": "Cloudflare Worker deployment env",
      "command": "npm run deploy:worker -- --optional",
      "missingEnv": [
        "CLICK_COLLECTOR_ALLOWED_ORIGINS",
        "CLICK_COLLECTOR_KV_NAMESPACE_ID",
        "CLICK_COLLECTOR_PREVIEW_KV_NAMESPACE_ID",
        "CLICK_METRICS_EXPORT_TOKEN"
      ],
      "configuredEnv": [
        "CLOUDFLARE_API_TOKEN",
        "CLOUDFLARE_ACCOUNT_ID"
      ],
      "nextAction": "자체 클릭 로그가 필요하면 Worker KV와 EXPORT_TOKEN을 설정한 뒤 deploy:worker를 실행한다."
    },
    {
      "id": "pages-deploy",
      "group": "deployment",
      "label": "Cloudflare Pages 배포",
      "status": "done",
      "critical": true,
      "evidence": "Cloudflare Pages deployment env",
      "command": "npm run deploy:pages -- --optional",
      "missingEnv": [],
      "configuredEnv": [
        "CLOUDFLARE_API_TOKEN",
        "CLOUDFLARE_ACCOUNT_ID",
        "CLOUDFLARE_PAGES_PROJECT_NAME"
      ],
      "nextAction": "Cloudflare API 토큰, 계정 ID, Pages 프로젝트명을 설정한 뒤 정적 사이트를 배포한다."
    },
    {
      "id": "launch-audit",
      "group": "deployment",
      "label": "런치 감사",
      "status": "ready",
      "critical": false,
      "evidence": "scripts/audit-launch.mjs",
      "command": "npm run audit:launch",
      "missingEnv": [],
      "configuredEnv": [],
      "nextAction": "실제 도메인과 affiliate ID를 넣은 환경에서 audit:launch를 통과시킨다."
    },
    {
      "id": "search-verification",
      "group": "growth",
      "label": "검색 소유권 검증",
      "status": "needs-input",
      "critical": true,
      "evidence": "Google Search Console and Bing Webmaster verification tokens",
      "command": "",
      "missingEnv": [
        "GOOGLE_SITE_VERIFICATION",
        "BING_SITE_VERIFICATION"
      ],
      "configuredEnv": [],
      "nextAction": "Google Search Console과 Bing Webmaster Tools 검증 토큰을 환경 변수로 넣고 sitemap을 제출한다."
    },
    {
      "id": "indexnow",
      "group": "growth",
      "label": "IndexNow 제출",
      "status": "manual",
      "critical": false,
      "evidence": "INDEXNOW_KEY",
      "command": "npm run submit:indexnow -- --optional",
      "missingEnv": [
        "INDEXNOW_KEY"
      ],
      "configuredEnv": [],
      "nextAction": "Bing 계열 검색엔진 색인 속도를 높이려면 INDEXNOW_KEY를 설정한다."
    },
    {
      "id": "metrics-sync",
      "group": "automation",
      "label": "성과 CSV 자동 동기화",
      "status": "needs-input",
      "critical": true,
      "evidence": "partner/click/search/traffic export URLs",
      "command": "",
      "missingEnv": [
        "PARTNER_METRICS_EXPORT_URL",
        "CLICK_METRICS_EXPORT_URL",
        "SEARCH_METRICS_EXPORT_URL",
        "TRAFFIC_METRICS_EXPORT_URL"
      ],
      "configuredEnv": [],
      "nextAction": "파트너 리포트, 클릭 리포트, 검색/방문자 리포트 export URL을 연결해 주간 빌드가 자동으로 성과를 가져오게 한다."
    },
    {
      "id": "traffic-kpi-data",
      "group": "automation",
      "label": "방문자/색인 KPI 데이터",
      "status": "needs-input",
      "critical": true,
      "evidence": "kpi-status.json",
      "command": "",
      "missingEnv": [
        "TRAFFIC_METRICS_EXPORT_URL"
      ],
      "configuredEnv": [],
      "nextAction": "traffic-report.csv 또는 TRAFFIC_METRICS_EXPORT_URL로 월 방문자와 색인 수를 자동 갱신한다."
    },
    {
      "id": "approval-copy",
      "group": "affiliate",
      "label": "승인 신청 문구",
      "status": "done",
      "critical": true,
      "evidence": "approval-kit.json",
      "command": "",
      "missingEnv": [],
      "configuredEnv": [],
      "nextAction": "파트너 신청 시 approval-kit의 파트너별 신청 문구와 대표 페이지 URL을 사용한다."
    }
  ],
  "blockers": [
    {
      "id": "partner-ids",
      "group": "affiliate",
      "label": "제휴 파트너 ID",
      "status": "needs-input",
      "critical": true,
      "evidence": "partner-status.json",
      "command": "",
      "missingEnv": [
        "KLOOK_AID",
        "KKDAY_ID",
        "TRAVELPAYOUTS_MARKER",
        "GYG_PARTNER_ID"
      ],
      "configuredEnv": [],
      "nextAction": "승인 키트로 파트너 신청을 완료하고 승인된 ID를 각 환경 변수에 입력한다."
    },
    {
      "id": "click-tracking",
      "group": "tracking",
      "label": "클릭 추적",
      "status": "needs-input",
      "critical": true,
      "evidence": "GA_MEASUREMENT_ID or CLICK_EVENT_ENDPOINT",
      "command": "",
      "missingEnv": [
        "GA_MEASUREMENT_ID",
        "CLICK_EVENT_ENDPOINT"
      ],
      "configuredEnv": [],
      "nextAction": "GA4 또는 Cloudflare Worker click collector를 연결해 affiliate_click 이벤트를 중앙 수집한다."
    },
    {
      "id": "search-verification",
      "group": "growth",
      "label": "검색 소유권 검증",
      "status": "needs-input",
      "critical": true,
      "evidence": "Google Search Console and Bing Webmaster verification tokens",
      "command": "",
      "missingEnv": [
        "GOOGLE_SITE_VERIFICATION",
        "BING_SITE_VERIFICATION"
      ],
      "configuredEnv": [],
      "nextAction": "Google Search Console과 Bing Webmaster Tools 검증 토큰을 환경 변수로 넣고 sitemap을 제출한다."
    },
    {
      "id": "metrics-sync",
      "group": "automation",
      "label": "성과 CSV 자동 동기화",
      "status": "needs-input",
      "critical": true,
      "evidence": "partner/click/search/traffic export URLs",
      "command": "",
      "missingEnv": [
        "PARTNER_METRICS_EXPORT_URL",
        "CLICK_METRICS_EXPORT_URL",
        "SEARCH_METRICS_EXPORT_URL",
        "TRAFFIC_METRICS_EXPORT_URL"
      ],
      "configuredEnv": [],
      "nextAction": "파트너 리포트, 클릭 리포트, 검색/방문자 리포트 export URL을 연결해 주간 빌드가 자동으로 성과를 가져오게 한다."
    },
    {
      "id": "traffic-kpi-data",
      "group": "automation",
      "label": "방문자/색인 KPI 데이터",
      "status": "needs-input",
      "critical": true,
      "evidence": "kpi-status.json",
      "command": "",
      "missingEnv": [
        "TRAFFIC_METRICS_EXPORT_URL"
      ],
      "configuredEnv": [],
      "nextAction": "traffic-report.csv 또는 TRAFFIC_METRICS_EXPORT_URL로 월 방문자와 색인 수를 자동 갱신한다."
    }
  ],
  "nextActions": [
    "승인 키트로 파트너 신청을 완료하고 승인된 ID를 각 환경 변수에 입력한다.",
    "GA4 또는 Cloudflare Worker click collector를 연결해 affiliate_click 이벤트를 중앙 수집한다.",
    "Google Search Console과 Bing Webmaster Tools 검증 토큰을 환경 변수로 넣고 sitemap을 제출한다.",
    "파트너 리포트, 클릭 리포트, 검색/방문자 리포트 export URL을 연결해 주간 빌드가 자동으로 성과를 가져오게 한다.",
    "traffic-report.csv 또는 TRAFFIC_METRICS_EXPORT_URL로 월 방문자와 색인 수를 자동 갱신한다."
  ]
}
