[
  { "week": 1, "day": 1, "label": "1주차 월: 우리 회사 지도 1장 + 팀원 인터뷰 메모 3장 제출", "sortOrder": 1 },
  { "week": 1, "day": 2, "label": "1주차 화: 상황 판단 문제 10제 + 중간보고 대본 3편 제출", "sortOrder": 2 },
  { "week": 1, "day": 3, "label": "1주차 수: 이메일 2통 발송 + 메신저 질문 1건 + 전화 메모 2장 제출", "sortOrder": 3 },
  { "week": 1, "day": 4, "label": "1주차 목: 서비스 화면 탐험 리포트(화면 15장 + 궁금한 점 5개) 제출", "sortOrder": 4 },
  { "week": 1, "day": 5, "label": "1주차 금: 연습 저장소 PR 3개(feat·docs·fix) 링크 제출", "sortOrder": 5 },
  { "week": 1, "day": 5, "label": "1주차 금: 온보딩 회고 1장(Keep·Problem·Try) 제출", "sortOrder": 6 },

  { "week": 2, "day": 1, "label": "2주차 월: React·Spring Boot 구조도 2장 + day1.js 제출", "sortOrder": 7 },
  { "week": 2, "day": 2, "label": "2주차 화: API 요청 추적표 5건 + 실패 실험 기록 + day2.js 제출", "sortOrder": 8 },
  { "week": 2, "day": 3, "label": "2주차 수: 기능 해부 보고서 1건(프론트→백엔드 흐름) + day3.js 제출", "sortOrder": 9 },
  { "week": 2, "day": 4, "label": "2주차 목: PR 3개 + 동료 리뷰 코멘트 + 나만의 Git 치트시트 제출", "sortOrder": 10 },
  { "week": 2, "day": 5, "label": "2주차 금: stack.js·queue.js 구현(빈 경우 검증 포함) 제출", "sortOrder": 11 },
  { "week": 2, "day": 5, "label": "2주차 금: 주간 챌린지 리포트(판단문제 5개 + 주간 회고 5줄) 제출", "sortOrder": 12 },

  { "week": 3, "day": 1, "label": "3주차 월: 소과제 착수 계획서(plan.md) 멘토 확인 받아 제출", "sortOrder": 13 },
  { "week": 3, "day": 2, "label": "3주차 화: 구현 1일차 — 작업 브랜치에 커밋 3개 이상 푸시", "sortOrder": 14 },
  { "week": 3, "day": 2, "label": "3주차 화: 퇴근 전 중간보고 메시지(사실→판단→다음 행동) 발송", "sortOrder": 15 },
  { "week": 3, "day": 3, "label": "3주차 수: 첫 PR 올리기(전·후 스크린샷 + 셀프 리뷰 코멘트 포함)", "sortOrder": 16 },
  { "week": 3, "day": 4, "label": "3주차 목: 리뷰 반영 기록표 작성 후 머지 + 배포 확인 스크린샷 제출", "sortOrder": 17 },
  { "week": 3, "day": 5, "label": "3주차 금: 계획 대비 실제 회고(retro-w3.md) 제출 + 1:1 면담", "sortOrder": 18 },

  { "week": 4, "day": 1, "label": "4주차 월: 전체 흐름도 1장(7단계 + 에러 흐름) 제출 + 2분 설명", "sortOrder": 19 },
  { "week": 4, "day": 2, "label": "4주차 화: 두 번째 소과제 착수 계획서 + 진행 커밋 2개 이상 제출", "sortOrder": 20 },
  { "week": 4, "day": 3, "label": "4주차 수: 구현 마무리 PR + 셀프 리뷰 코멘트 3개 제출", "sortOrder": 21 },
  { "week": 4, "day": 4, "label": "4주차 목: 발표 슬라이드 초안 7장 + 소리 내어 리허설 1회 기록 제출", "sortOrder": 22 },
  { "week": 4, "day": 5, "label": "4주차 금: 미니 발표회 10분 발표 완료(청중 메모 포함)", "sortOrder": 23 },
  { "week": 4, "day": 5, "label": "4주차 금: 자기평가서(항목별 점수 + 근거) 제출", "sortOrder": 24 },

  { "week": 5, "day": null, "label": "5주차: 첫 실전 티켓 배정받고 설계 합의 완료", "sortOrder": 25 },
  { "week": 5, "day": null, "label": "5주차: 1단계 구현 완료 + 첫 30초 중간보고", "sortOrder": 26 },
  { "week": 5, "day": null, "label": "5주차: 첫 실전 티켓 PR 올리고 리뷰 코멘트 반영", "sortOrder": 27 },
  { "week": 5, "day": null, "label": "5주차: 완료 조건 채우고 배포 — 내 티켓이 실제 화면에서 동작 확인", "sortOrder": 28 },
  { "week": 5, "day": null, "label": "5주차: 주간 회고 작성 + 1:1 개인 피드백 면담 참여", "sortOrder": 29 },

  { "week": 6, "day": null, "label": "6주차: 두 번째 티켓의 설계를 스스로 제안하고 합의", "sortOrder": 30 },
  { "week": 6, "day": null, "label": "6주차: 독립 구현 — 30분 룰로 막힘 해결 기록 남기기", "sortOrder": 31 },
  { "week": 6, "day": null, "label": "6주차: 셀프 코드리뷰 후 PR 리뷰 반영 완료", "sortOrder": 32 },
  { "week": 6, "day": null, "label": "6주차: 티켓 완료 기준 충족 — 두 번째 티켓 마무리", "sortOrder": 33 },
  { "week": 6, "day": null, "label": "6주차: 종합 프로젝트 팀 구성 · 역할과 PM 롤 확정", "sortOrder": 34 },

  { "week": 7, "day": null, "label": "7주차: 프로젝트 주제 확정 · 역할 분담 회의 참여", "sortOrder": 35 },
  { "week": 7, "day": null, "label": "7주차: 프로젝트 기획서 작성 참여", "sortOrder": 36 },
  { "week": 7, "day": null, "label": "7주차: 화면 설계(와이어프레임) 완성", "sortOrder": 37 },
  { "week": 7, "day": null, "label": "7주차: API 설계 워크숍 + 태스크 보드 구성, 멘토 설계 리뷰 통과", "sortOrder": 38 },
  { "week": 7, "day": null, "label": "7주차: 개발 착수 — 내 담당 태스크 첫 커밋 푸시", "sortOrder": 39 },
  { "week": 7, "day": null, "label": "7주차: 중간 진행률 리뷰 · 팀 회고 참여", "sortOrder": 40 },

  { "week": 8, "day": null, "label": "8주차: 담당 기능 완성 — 동작하는 상태까지 구현", "sortOrder": 41 },
  { "week": 8, "day": null, "label": "8주차: 프론트-백엔드 통합 작업 완료", "sortOrder": 42 },
  { "week": 8, "day": null, "label": "8주차: 버그 목록 정리 + 안정화 — 발표 흐름 끝까지 돌려 보기", "sortOrder": 43 },
  { "week": 8, "day": null, "label": "8주차: 데모 시나리오 확정 + 발표 리허설 2회 참여", "sortOrder": 44 },
  { "week": 8, "day": null, "label": "8주차: 자기평가서 제출", "sortOrder": 45 },
  { "week": 8, "day": null, "label": "8주차: 데모 발표(15분) 완료 + 최종 전환 면담 참여", "sortOrder": 46 }
]
