| 전날 | 약 5분 | 자료 받기 · n8n 켜기 · doctor | [PREP](../../Lecture/70/00-DAY70-PREP.md) | `ready` |
| 1 | 09:00~09:50 | 개요 · 1단계 강의 (템플릿화: 같은 것과 다른 것 나누기) | [개요](../../Lecture/70/00-DAY70-OVERVIEW.md), [1단계](../../Lecture/70/01-STAGE1-TEMPLATE.md) | |
- 오늘은 **고치기 전에도 테스트를 돌립니다.** 바꾸기 전과 뒤에 같은 테스트가 통과해야 "결과는 그대로"입니다.
- 모듈은 파일 안의 `id`(`modRuleCheck01`, `modRuleCheck02`)로 불립니다. 에이전트가 id를 바꾸지 않게 합니다.
- 계약(웹훅 · 입력 · 결과)은 [AGENTS.md](AGENTS.md) 3절.
## 4. 1~2교시 · 1단계 · 복사본 3개를 공지 키트 하나로
[Lab 01](LAB-01-Q-TEMPLATE-KIT.md) (약 40분).
| 순서 | 할 일 | 파일 · 웹훅 | 확인 |
| --- | --- | --- | --- |
| 예제 1 (10분) | 복사본 3개(점검 · 보안 · 교육)를 돌려 보고 비교. `cp templates/REUSE-DESIGN-TEMPLATE.md my-work/DESIGN.md` 1절 | `samples/*.json` | `push samples/notice-maintenance.json samples/notice-security.json samples/notice-training.json`, `call sample-security requests/kit-security.json` |
| 예제 2 (15분) | `kind`를 받아 종류에 맞는 공지를 쓰는 워크플로우 **하나**, 다른 값은 설정 표 한 곳에 | `my-work/notice-kit.json` · `my-notice-kit` (오늘 끝까지 고쳐 나감) | `push my-work/notice-kit.json` → `test cases/lab01.json --repeat 3` |
| 과제 (15분) | 설문 공지는 표 한 줄로, 표에 없는 종류는 목록을 알려 주고 멈춤 | `my-work/notice-kit.json` 고치기 | `test cases/lab01-challenge.json --repeat 3`, `test cases/lab01.json` |
(명령 앞에는 모두 `uv run tools/flow.py`가 붙습니다.)
- 먼저 해 보기: 지금 키트에 없는 종류 보내기 `call my-notice-kit requests/kit-unknown.json`.
- 볼 것: Executions에서 키트 실행 하나에 모듈 실행이 따로 생기나요? 웹훅으로 다른 역할을 부르던 69일차와 무엇이 다른가요?
## 6. 5~6교시 · 3단계 · 모듈을 바꿀 때: 하위 호환과 새 버전
[Lab 03](LAB-03-Q-CHANGE-AND-VERSION.md) (약 80분).
| 순서 | 할 일 | 확인 |
| --- | --- | --- |
| 예제 1 (20분) | 사외 링크 검사 더하기 (사내 `intra.example.com`만, 허용 목록은 부르는 쪽에서 더 줄 수 있게). **같은 id**, 하위 호환 (v1.1) | 먼저 `test cases/lab03.json` → `push my-work/rule-check.json my-work/rule-check-test.json` → `test cases/lab03.json`, `lab02-module`, `lab01`, `lab02-challenge` |
| 예제 2 (20분) | 결과 모양이 바뀌는 심각도(`blocking` · `warnings`)는 **새 id**`modRuleCheck02`. 키트만 v2, SMS는 그대로 v1 | `push my-work/rule-check-v2.json my-work/rule-check-v2-test.json my-work/notice-kit.json` → `test cases/lab03-v2.json`, `test cases/lab01.json`, `test cases/lab02-challenge.json` |
| 과제 (40분, 6교시) | ① `DESIGN.md` 5절 영향 표 (모듈 · 버전마다 쓰는 워크플로우와 테스트) ② 키트의 어려운 요청 5개 이상 `cases/my-cases.json`, 실패 고치기 | `test cases/my-cases.json --repeat 3`, 모듈을 고쳤다면 영향 표의 테스트 **모두** |
- 보고서: `cp templates/TEST-REPORT-TEMPLATE.md my-work/TEST-REPORT.md` 후 채우기.
- 고칠 곳은 "설정 표 · 키트 흐름 · 모듈" 중 어디인지 먼저 정합니다.
## 7. 7~8교시 · 바이브 코딩 `tkit`
[VIBE-Q-TKIT](VIBE-Q-TKIT.md): 템플릿 폴더를 골라 변수를 넣으면 새 n8n 워크플로우 · 프로젝트 뼈대를 만드는 TUI.