[
  { "week": 1, "day": 1, "kind": "MAIN", "title": "회사 탐색 미션 — 우리 회사 지도 만들기", "summary": "사내 위키와 팀원 인터뷰 3명을 바탕으로 우리 회사 지도 1장을 그립니다. 팀 구성, 기술 분야별 담당 팀, 막히면 찾아갈 사람 3명을 채워 제출하고, 리뷰 시간에 지도를 보며 1분 회사 소개를 발표합니다." },
  { "week": 1, "day": 1, "kind": "EXTRA", "title": "사규 요약 카드 만들기", "summary": "사규·가이드 문서에서 수습 기간의 나에게 직접 해당되는 규칙 10개를 골라 내 말로 한 줄씩 다시 씁니다. 지키기 어려울 것 같은 2개에 별표를 치고 이유를 적어 본 과제와 함께 제출합니다." },
  { "week": 1, "day": 1, "kind": "DESIGN", "title": "회사 지도 만들기 — 디자이너 인터뷰 포함", "summary": "개발자와 동일하게 회사 지도와 인터뷰를 진행하되, 인터뷰 상대 3명 중 1명은 반드시 디자이너(또는 디자인 협업이 많은 분)를 포함합니다. 질문 하나를 '신입 디자이너가 첫 달에 익힐 것'으로 바꿔 묻고 지도와 인터뷰 메모를 제출합니다." },

  { "week": 1, "day": 2, "kind": "MAIN", "title": "예절 워크북 — 상황 판단 문제 10제 + 중간보고 대본 3편", "summary": "호렌소(보고·연락·상담) 기준으로 상황 판단 문제 10개를 O/X와 이유 2문장 이상으로 풀고, 3개 상황의 중간보고 대본을 각 40초 이내 분량으로 씁니다. 리뷰 시간에 대본 1편을 멘토 앞에서 실제로 말해 봅니다." },
  { "week": 1, "day": 2, "kind": "EXTRA", "title": "나의 태도 점검표 만들기", "summary": "오전 강의에서 배운 태도 항목 중 내가 약한 7개를 골라 아침마다 스스로 물을 수 있는 질문으로 바꿉니다. 항목 7개 × 월~금 체크표를 만들어 오늘 것부터 체크하고 제출합니다." },
  { "week": 1, "day": 2, "kind": "DESIGN", "title": "예절 워크북 — 디자인 상황 중간보고 대본", "summary": "판단 문제와 대본 과제는 개발자와 동일하게 진행합니다. 단, 중간보고 대본의 상황 B를 '시안 작업 중 참고 자료가 부족해 방향을 잡기 어렵다'는 디자인 상황으로 바꿔 작성해 제출합니다." },

  { "week": 1, "day": 3, "kind": "MAIN", "title": "소통 3종 세트 — 이메일 · 메신저 · 전화", "summary": "멘토에게 인사 메일과 진행보고 메일 2통을 실제로 발송하고, '상황→시도→질문' 틀에 맞춘 메신저 질문 1건을 보냅니다. 가상 통화 시나리오 2건을 전화 메모 양식으로 정리해 함께 제출합니다." },
  { "week": 1, "day": 3, "kind": "EXTRA", "title": "나쁜 메일 고쳐쓰기", "summary": "제시된 나쁜 메일에서 문제점을 5개 이상 찾아 번호를 매기고, 업무 이메일 기본 틀에 맞춰 전체를 다시 씁니다. 원본과 수정본을 비교해 무엇이 좋아졌는지 3줄로 정리해 제출합니다." },
  { "week": 1, "day": 3, "kind": "DESIGN", "title": "소통 3종 세트 — 디자인 진행보고 버전", "summary": "이메일·메신저·전화 메모 과제를 동일하게 진행하되, 진행보고 메일은 '시안 2개 방향을 잡았고 내일 오전까지 다듬어 공유하겠다'는 디자인 진행보고 내용으로 바꿔 작성해 발송합니다." },

  { "week": 1, "day": 4, "kind": "MAIN", "title": "우리 서비스 탐험 — 화면 15장 리포트", "summary": "담당 예정 서비스를 사용자 눈으로 훑으며 이동 순서대로 화면 15개를 캡처하고, 각 화면에서 '무엇을 할 수 있는지'를 한 줄로 설명합니다. 화면 흐름도와 궁금한 점 TOP 5, 서비스 존재 이유 3줄을 담은 리포트를 제출합니다." },
  { "week": 1, "day": 4, "kind": "EXTRA", "title": "2진수 변환 연습 12제", "summary": "계산기 없이 자릿값 표를 그려 두고 10진수↔2진수 변환 12문제를 풀이 과정과 함께 풉니다. 다 풀면 검산하고 틀린 문제는 어디서 틀렸는지 한 줄씩 적어 본 과제와 함께 제출합니다." },
  { "week": 1, "day": 4, "kind": "DESIGN", "title": "서비스 화면 15개 — 디자인 관점 탐험", "summary": "같은 서비스의 화면 15장을 캡처하되 색·글자·간격 세 가지 디자인 관찰로 메모를 채웁니다. 베스트/워스트 화면 각 1개와 이유, 개선 제안 3가지, 디자인 관점 궁금한 점 5개를 담은 리포트를 제출합니다." },

  { "week": 1, "day": 5, "kind": "MAIN", "title": "Git 사이클 3회전 + 온보딩 회고", "summary": "연습 저장소에서 브랜치→커밋→푸시→PR 사이클을 feat·docs·fix 세 번 반복하고, 커밋 컨벤션과 PR 양식을 지켜 PR 3개 링크를 제출합니다. Keep·Problem·Try 양식의 온보딩 회고 1장도 함께 냅니다." },
  { "week": 1, "day": 5, "kind": "EXTRA", "title": "JavaScript 워밍업 10제 (콘솔에서)", "summary": "브라우저 콘솔에서 변수·조건문·배열·반복문 10문제를 직접 입력해 풀고, 입력한 코드와 출력 결과(에러 포함)를 그대로 기록합니다. 기록 문서 1부를 본 과제와 함께 제출합니다." },
  { "week": 1, "day": 5, "kind": "DESIGN", "title": "Figma 파일 정리 연습 + 온보딩 회고", "summary": "어질러진 연습용 Figma 파일을 복제해 페이지 재구성, 프레임·레이어 네이밍, 색 스타일 등록으로 정리합니다. Before→After 캡처와 정리 규칙 5가지를 담은 파일 링크, 온보딩 회고 1장을 제출합니다." },

  { "week": 2, "day": 1, "kind": "MAIN", "title": "코드 지도 그리기 — React · Spring Boot 구조도", "summary": "연습용 React·Spring Boot 프로젝트를 열어 각각 폴더 10개의 역할을 한 줄씩 적은 구조도 2장을 그립니다. 두 프로젝트의 공통점·차이점 4문장과 모르는 파일 질문 3개, JS 기초 10제를 푼 day1.js를 함께 제출합니다." },
  { "week": 2, "day": 1, "kind": "EXTRA", "title": "package.json 탐험", "summary": "React의 package.json에서 scripts 명령어의 역할을 추측해 적고, dependencies 5개와 Spring Boot의 pom.xml 의존성 5개의 용도를 조사합니다. 메모 1장으로 정리해 본 과제와 함께 제출합니다." },
  { "week": 2, "day": 1, "kind": "DESIGN", "title": "UI 인벤토리 ① — 색상 팔레트 추출", "summary": "서비스 화면 5개 이상에서 실제 쓰인 색을 전부 HEX로 추출해 Figma에 색상 칩으로 나열하고 주색·보조색·회색·경고색으로 그룹핑합니다. '거의 같은데 미묘하게 다른 색' 쌍과 색 관리에 대한 생각 3문장을 함께 제출합니다." },

  { "week": 2, "day": 2, "kind": "MAIN", "title": "요청 추적 리포트 — API 요청 5개 추적하기", "summary": "Network 탭으로 서로 다른 동작의 API 요청 5개(POST·PUT·DELETE 최소 1개 포함)를 추적표에 기록하고, 각 요청이 무슨 일을 하는지 근거와 함께 추측합니다. 실패 실험 기록과 배열 15제를 푼 day2.js를 함께 제출합니다." },
  { "week": 2, "day": 2, "kind": "EXTRA", "title": "상태 코드 카드 만들기", "summary": "200·201·301·400·401·403·404·500 여덟 개 HTTP 상태 코드를 조사해 공식 의미, 내 언어 설명, 만날 것 같은 예시를 한 줄씩 적습니다. 오늘 Network 탭에서 실제로 본 코드에 체크 표시를 해 제출합니다." },
  { "week": 2, "day": 2, "kind": "DESIGN", "title": "UI 인벤토리 ② — 타이포그래피", "summary": "개발자도구 Elements 탭으로 제목·본문·버튼 라벨 등의 폰트 속성을 기록해 Figma에 타입 스케일 표를 만듭니다. 같은 역할인데 값이 다른 불일치 사례 목록과 글자 크기 개수에 대한 생각 3문장을 제출합니다." },

  { "week": 2, "day": 3, "kind": "MAIN", "title": "기능 해부 보고서 — 기능 하나를 끝까지 해부하기", "summary": "로그인이나 목록 조회 같은 기능 하나를 골라 화면 관찰→프론트 코드→백엔드 컨트롤러·서비스·리포지토리까지 파일·줄 단위로 추적합니다. 이해 못 한 지점 2개 이상을 솔직히 적은 보고서와 객체·Map 10제를 푼 day3.js를 제출합니다." },
  { "week": 2, "day": 3, "kind": "EXTRA", "title": "두 번째 기능 미니 해부", "summary": "본 과제에서 고르지 않은 기능 하나를 골라 화면 관찰과 전체 흐름 한 문장만 채운 미니 보고서를 작성합니다. 본 과제 대비 얼마나 빨라졌는지 소요 시간 비교 한 줄을 덧붙여 제출합니다." },
  { "week": 2, "day": 3, "kind": "DESIGN", "title": "UI 인벤토리 ③ — 컴포넌트 변형 수집", "summary": "서비스 전체에서 버튼·입력 필드·카드의 모든 변형을 스크린샷으로 수집해 Figma에 세 그룹으로 나열하고 변형마다 이름을 붙입니다. '사실 하나여야 하지 않나' 싶은 변형 쌍 후보 목록을 함께 제출합니다." },

  { "week": 2, "day": 4, "kind": "MAIN", "title": "PR 실전 연습 — 브랜치→커밋→PR 3회전 + 동료 리뷰", "summary": "연습 저장소에서 README 오타 수정, 주석 추가, 간단 함수 작성으로 PR 3개를 템플릿에 맞춰 만듭니다. 동료 PR에 좋은 점과 질문을 담은 리뷰 코멘트를 남기고, 나만의 Git 치트시트 8줄 이상을 함께 제출합니다." },
  { "week": 2, "day": 4, "kind": "EXTRA", "title": "커밋 메시지 고쳐 쓰기", "summary": "'수정', 'asdf' 같은 나쁜 커밋 메시지 6개를 무엇을 왜 했는지 드러나는 좋은 메시지로 고쳐 씁니다. 각 메시지의 원래 문제점을 한 줄씩 적어 문서로 제출합니다." },
  { "week": 2, "day": 4, "kind": "DESIGN", "title": "UI 인벤토리 ④ — 불일치 지점 10개 찾기", "summary": "월~수에 모은 색·타이포·컴포넌트 인벤토리를 증거로 불일치 지점 10개를 골라 비교 스크린샷과 함께 정리합니다. 각 항목에 무엇이 다른지, 사용자 혼란, 통일 방향 의견과 심각도(상·중·하)를 매겨 제출합니다." },

  { "week": 2, "day": 5, "kind": "MAIN", "title": "주간 통합 미니 챌린지 — 스택·큐 직접 구현", "summary": "Stack·Queue 클래스를 직접 구현해 빈 경우까지 검증하는 stack.js와 queue.js를 작성하고, 스택/큐 판단문제 5개를 풉니다. 서비스에서 목록이 그려지는 화면 3개를 찾아 기록하고 주간 회고 5줄을 담은 챌린지 리포트를 제출합니다." },
  { "week": 2, "day": 5, "kind": "EXTRA", "title": "스택으로 괄호 검사기 만들기", "summary": "본 과제의 Stack 클래스를 재사용해 소괄호 짝이 맞는지 판별하는 isBalanced(str) 함수를 만듭니다. 제시된 5개 입력으로 검증한 출력을 포함한 balance.js를 본 과제와 함께 제출합니다." },
  { "week": 2, "day": 5, "kind": "DESIGN", "title": "UI 개선점 5개 리포트 완성", "summary": "이번 주 불일치 10개 중 심각도가 높고 고치기 쉬운 것 위주로 개선점 5개를 골라 As-Is 스크린샷과 To-Be 시안으로 구성합니다. 문제·개선안·기대 효과 3줄씩과 표지·요약을 붙인 리포트를 제출하고 리뷰 시간에 5분 발표합니다." },

  { "week": 3, "day": 1, "kind": "MAIN", "title": "소과제 착수 계획서 1장 쓰기", "summary": "배정받은 첫 소과제를 3번 읽고 화면에서 확인한 뒤, 무엇을·어떻게·예상 소요·불확실한 점·완료 기준을 담은 착수 계획서(plan.md)를 작성합니다. 불확실한 점을 최소 2개 적고 멘토 확인 코멘트를 반영해 제출합니다." },
  { "week": 3, "day": 1, "kind": "EXTRA", "title": "내 과제 주변 코드 탐험 노트", "summary": "계획서에 적은 파일 후보를 하나씩 열어 파일별 역할 한 줄과 호출 관계 화살표 그림을 노트에 정리합니다. 모르는 함수·문법 목록과 '내일 제일 먼저 열 파일 1개'를 적어 계획서 뒤에 붙여 제출합니다." },
  { "week": 3, "day": 1, "kind": "DESIGN", "title": "개선 과제 착수 계획 — 대상 화면과 문제 정의", "summary": "배정받은 개선 대상 화면의 모든 상태를 캡처하고 불편한 점 5개 이상에서 핵심 문제 1~2개를 골라 누가·언제·왜 불편한지 정의합니다. 참고 서비스 2개와 화·수·목 일정을 담은 디자인 착수 계획서를 멘토 확인 후 제출합니다." },

  { "week": 3, "day": 2, "kind": "MAIN", "title": "소과제 구현 1일차 + 퇴근 전 중간보고", "summary": "작업 브랜치를 만들어 계획서의 화요일 오전 덩어리부터 구현하고, 동작하는 단위마다 커밋해 하루 3커밋 이상 푸시합니다. 사실→판단→다음 행동 틀의 중간보고 메시지를 작성해 커밋과 함께 제출합니다." },
  { "week": 3, "day": 2, "kind": "EXTRA", "title": "JS 함수 연습 10제 — 손을 멈추지 않기", "summary": "sum, isEven, reverseWords 등 함수 작성 문제 10개를 practice-w3-tue.js에 순서대로 풀고 예시 입력 2개 이상으로 확인합니다. 푸시된 파일 링크와 어디까지 풀었는지 한 줄을 중간보고에 덧붙여 제출합니다." },
  { "week": 3, "day": 2, "kind": "DESIGN", "title": "시안 1차 — 핵심 문제 하나를 화면으로", "summary": "핵심 문제 1개에 대해 현재 화면 복제 프레임과 최소 수정·과감한 수정 두 방향의 개선안을 그립니다. 비어 있음·로딩·오류 상태 중 1개 이상을 함께 그리고, 시안 1차 링크와 중간보고 메시지를 제출합니다." },

  { "week": 3, "day": 3, "kind": "MAIN", "title": "구현 마무리 + 첫 PR 올리기", "summary": "완료 기준을 하나씩 검증하며 구현을 마무리하고, 무엇을/왜/스크린샷/확인 방법 4개 섹션을 채운 첫 PR을 올립니다. 변경 전·후 스크린샷을 붙이고 셀프 리뷰 코멘트를 1개 이상 단 PR 링크를 제출합니다." },
  { "week": 3, "day": 3, "kind": "EXTRA", "title": "내 코드 설명 문서 1장", "summary": "PR의 핵심 파일 1개를 골라 처음 보는 동료에게 설명하듯 줄 단위로 무슨 일을 하는지 쓰는 explain.md를 작성합니다. 정확히 모르는 부분은 솔직히 표시하고, 고장 난다면 어디부터 볼지 1문단을 덧붙여 제출합니다." },
  { "week": 3, "day": 3, "kind": "DESIGN", "title": "시안 2차 + 개발자 피드백 받기", "summary": "멘토와 고른 방향 1개를 다듬어 기본·비어 있음·로딩·오류 4개 상태와 버튼·입력창의 눌림/비활성 상태까지 그립니다. 개발 동료 1명에게 구현 가능 여부를 물어 피드백 3개와 반영 여부 메모를 시안 링크와 함께 제출합니다." },

  { "week": 3, "day": 4, "kind": "MAIN", "title": "리뷰 코멘트 반영 → 머지 → 배포 확인", "summary": "리뷰 코멘트를 전부 읽고 하나 고칠 때마다 커밋 하나씩 반영하며, 모든 코멘트에 답글을 답니다. 무엇을 왜 고쳤는지 담은 반영 기록표와 머지된 PR 링크, 개발 서버에서 직접 확인한 배포 스크린샷을 제출합니다." },
  { "week": 3, "day": 4, "kind": "EXTRA", "title": "동료 PR 읽기 — 배운 점 3개", "summary": "동료의 PR 1개를 골라 본문과 변경 파일, 리뷰 대화를 처음부터 끝까지 읽고 배운 점 3개를 메모합니다. 1문장 요약과 이해 못 한 줄 개수를 적고, 가능하면 칭찬 코멘트를 남긴 뒤 메모를 제출합니다." },
  { "week": 3, "day": 4, "kind": "DESIGN", "title": "핸드오프 문서 — 시안을 만들 수 있는 명세로", "summary": "최종 시안의 색·글자를 이름 붙은 스타일로 정돈하고 간격을 8곳 이상 숫자로 표기하며, 상태별 명세표와 인터랙션 명세 3개를 씁니다. 개발자에게 '이제 만들 수 있겠어?'라는 확인을 받아 문서 링크와 함께 제출합니다." },

  { "week": 3, "day": 5, "kind": "MAIN", "title": "첫 실무 회고 — 계획 대비 실제 1장", "summary": "월요일 계획서의 예상과 실제 결과를 비교표로 정리하고, 예상 못 한 문제마다 미리 알 수 있었는지 표시합니다. 행동으로 검증 가능한 '다음에 다르게 할 것 3가지'를 담은 retro-w3.md를 제출하고 1:1 면담에서 함께 읽습니다." },
  { "week": 3, "day": 5, "kind": "EXTRA", "title": "「프로그램의 변화」 그림 한 장 정리", "summary": "이번 주 아침 기본기 코너에서 배운 상태 변화 개념을 내 소과제 기능을 예로 '사용자 행동→상태 변화→화면 변화' 흐름 그림 한 장으로 그립니다. 가장 새로웠던 개념 1개를 2~3문장으로 설명해 회고와 함께 제출합니다." },
  { "week": 3, "day": 5, "kind": "DESIGN", "title": "디자인 회고 — 시안의 계획 대비 실제", "summary": "회고 양식의 비교표 항목을 시안 1차 완료·개발자 피드백 개수·핸드오프 완료 시점으로 바꿔 채웁니다. 개발자가 애매하다고 한 부분을 예상 못 한 문제 표에 넣고, 다음 시안 때 다르게 할 행동 문장 3가지를 적어 제출합니다." },

  { "week": 4, "day": 1, "kind": "MAIN", "title": "전체 흐름도 완성 — 버튼 클릭에서 화면 갱신까지", "summary": "버튼 클릭→React→HTTP 요청→Spring Boot→DB→응답→화면 갱신의 7단계 흐름도를 그리고, 1~3주차 개념 10개 이상과 에러 흐름 1갈래를 연결합니다. 내 3주차 소과제 파일명 3개 이상을 상자 옆에 적고 2분 설명 리허설까지 마쳐 제출합니다." },
  { "week": 4, "day": 1, "kind": "EXTRA", "title": "가장 자신 없는 단계 1개 파고들기", "summary": "흐름도 7단계 중 설명이 가장 막혔던 단계를 골라 스스로 질문 3개를 만들고 문서·필기에서 답을 찾아 3~5줄씩 적습니다. 알게 된 내용을 흐름도에 반영해 질문·답 문서와 업데이트된 흐름도를 함께 제출합니다." },
  { "week": 4, "day": 1, "kind": "DESIGN", "title": "같은 흐름을 사용자 여정으로 그리기", "summary": "같은 시나리오를 시간축 여정 지도로 그리되 각 시점의 화면·사용자 감정·뒤에서 일어나는 일을 채웁니다. 로딩 순간의 대안 2가지와 실패 화면 1장을 스케치하고, 개발 동료의 기술 검증을 받아 제출합니다." },

  { "week": 4, "day": 2, "kind": "MAIN", "title": "두 번째 소과제 1일차 — 계획서 작성 + 구현 시작 + 중간보고", "summary": "한 단계 90분 이내로 쪼갠 착수 계획서를 스스로 작성하고 3가지 질문으로 계획의 구멍을 먼저 공격해 고칩니다. 브랜치를 만들어 계획 단계와 연결된 커밋 2개 이상을 남기고, 1일차 중간보고를 채워 제출합니다." },
  { "week": 4, "day": 2, "kind": "EXTRA", "title": "JavaScript 근육 유지 — 배열·객체 연습 10제", "summary": "map·filter·reduce·스프레드·fetch까지 배열·객체 연습 10문제를 week4-practice.js에 풀고 console.log로 결과를 확인합니다. 7문제 이상 실행 확인을 목표로 하고 가장 어려웠던 문제와 이유를 주석으로 남겨 제출합니다." },
  { "week": 4, "day": 2, "kind": "DESIGN", "title": "내가 다시 디자인한다면 — 1일차: 문제 정의와 러프 시안", "summary": "1~3주차에 팀이 만든 화면 하나를 골라 근거 있는 문제 3개를 정의하고 개선 계획서를 씁니다. 배치와 흐름에 집중한 러프 시안 2안을 그리고 개발 동료 5분 인터뷰 기록과 함께 제출합니다." },

  { "week": 4, "day": 3, "kind": "MAIN", "title": "두 번째 소과제 2일차 — 마무리 + PR + 셀프 리뷰 3개", "summary": "완료 조건 3개를 직접 확인하며 구현을 마무리하고, 필요하면 13시에 축소 계획을 실행한 뒤 PR을 올립니다. 읽기 쉬움·깨질 수 있음·중복 정리 세 관점의 셀프 리뷰 코멘트 3개를 코드 줄을 지정해 달아 제출합니다." },
  { "week": 4, "day": 3, "kind": "EXTRA", "title": "코드 판단 문제 8제 — 어느 쪽이 나을까?", "summary": "변수 이름, 함수 분리, 로딩 표시, 서버 검증 등 8개 판단 문제에 선택과 이유 2줄씩을 적습니다. 내 어제·오늘 코드에서 같은 상황 1개를 찾아 표시하고 문서로 제출합니다. 이유 없는 선택만으로는 인정되지 않습니다." },
  { "week": 4, "day": 3, "kind": "DESIGN", "title": "내가 다시 디자인한다면 — 2일차: 완성과 전·후 비교", "summary": "고른 대안을 실제 문구까지 채운 완성 시안으로 다듬고, 기존 화면과 나란히 놓은 전·후 비교 문서에서 바뀐 지점 3곳을 설명합니다. 내 시안의 약점 셀프 리뷰 3개와 개발 동료의 구현 난이도 확인 메모를 함께 제출합니다." },

  { "week": 4, "day": 4, "kind": "MAIN", "title": "10분 발표 슬라이드 초안 + 소리 내어 리허설 1회", "summary": "도입 1장·개념 3장·시스템 연결 2장·배운 점 1장의 7장 구성으로 발표 자료 초안을 만들고, 이번 주 산출물을 재사용해 그림 위주로 채웁니다. 타이머를 켜고 소리 내어 리허설한 기록과 1:1 코칭 질문 2개를 함께 제출합니다." },
  { "week": 4, "day": 4, "kind": "EXTRA", "title": "예상 질문 5개 만들고 답 준비하기", "summary": "내 발표를 처음 듣는 사람이 할 법한 질문 5개(가장 받기 싫은 질문 1개 포함)를 적고 각 3~4문장 답을 준비합니다. 답을 소리 내어 말해 본 뒤 질문·답 문서를 발표 자료와 함께 제출합니다." },
  { "week": 4, "day": 4, "kind": "DESIGN", "title": "디자이너의 10분 발표 — 같은 구성, 다른 재료", "summary": "7장 구성과 리허설은 개발 과제와 동일하되 개념 3장을 사용자 여정·화면 설계·피드백 반영 같은 디자인 개념으로 채웁니다. 최소 1장은 개발 팀과 협업하며 알게 된 기술 이야기를 넣어 초안과 리허설 기록을 제출합니다." },

  { "week": 4, "day": 5, "kind": "MAIN", "title": "미니 발표회 — 최종 점검 + 발표 + 자기평가서", "summary": "코칭 피드백을 반영해 최종 리허설과 발표 환경 점검을 마친 뒤 미니 발표회에서 10분 발표를 합니다. 발표 후 4개 항목 전부에 점수와 산출물 근거를 단 자기평가서를 작성해 최종 발표자료와 함께 제출합니다." },
  { "week": 4, "day": 5, "kind": "EXTRA", "title": "4주 산출물 아카이브 — 내 포트폴리오의 씨앗", "summary": "주차별 폴더 4개에 계획서·흐름도·PR 링크·발표자료 등 대표 산출물을 모으고, 무엇을 만들었고 뭘 배웠는지 주차별 2줄씩 적은 README를 만듭니다. 이 아카이브 폴더는 중간평가 면담 자료로도 쓰입니다." },
  { "week": 4, "day": 5, "kind": "DESIGN", "title": "발표 + 자기평가서 — 개발 팀과 동일 진행", "summary": "발표와 자기평가서는 개발 과제와 완전히 동일하게 진행하되, 구현 능력 항목만 '시안 완성도'로 바꿔 화·수 개선안 산출물을 근거로 평가합니다. 최종 발표자료와 자기평가서를 같은 파일명 규칙으로 제출합니다." }
]
