76일차 자료 추가 (답 포함): 실습 15개 · 의도 · 생활 속 예 · 실행 결과, LAB-A · 정답 워크플로우와 25단계 실행 기록, 교안 개요 30장 · 4단계 정리, 바이브 코딩 tretry

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mcchaeandClaude Opus 5.5 committed 2026-10-29 23:18:55 +09:00
1 parent 3f36605043
commit bbf17e4696
141 files changed
+34072

No files matched your search

@@ -0,0 +1,174 @@
{
"cases": "lab03-challenge2.json",
"webhook": "my-ops-status",
"passed": 7,
"total": 7,
"results": [
{
"case": "1 · 아무 일 없음 → ok",
"webhook": "my-ops-status",
"run": 1,
"passed": true,
"problems": [],
"seconds": 0.9,
"status": 200,
"request": {},
"response": {
"status": "ok",
"dlq": 0,
"parked": 0,
"created": 0,
"alerts": {
"critical": 0,
"high": 0
},
"reasons": []
}
},
{
"case": "2 · (접수 실패 2건)",
"webhook": "my-intake",
"run": 1,
"passed": true,
"problems": [],
"seconds": 3.7,
"status": 200,
"request": {
"requests": [
{
"id": "R-301",
"user": "정우성",
"text": "사내 위키 로그인이 안 돼요"
},
{
"id": "R-302",
"user": "이준호",
"text": "노트북 배터리가 금방 닳아요"
}
]
},
"response": {
"total": 2,
"created": 0,
"failed": 2,
"rejected": 0,
"duplicates": 0,
"unclassified": 0,
"results": [
{
"id": "R-301",
"status": "failed",
"reason": "500 - \"{\\\"error\\\": \\\"tickets service is failing (fault switch)\\\"}\""
},
{
"id": "R-302",
"status": "failed",
"reason": "500 - \"{\\\"error\\\": \\\"tickets service is failing (fault switch)\\\"}\""
}
],
"dlq_saved": true,
"alert": "sent"
}
},
{
"case": "3 · DLQ가 있으면 warn",
"webhook": "my-ops-status",
"run": 1,
"passed": true,
"problems": [],
"seconds": 0.1,
"status": 200,
"request": {},
"response": {
"status": "warn",
"dlq": 2,
"parked": 0,
"created": 0,
"alerts": {
"critical": 0,
"high": 1
},
"reasons": [
"DLQ 2건: 원인을 고친 뒤 재처리",
"high 알림 1건 (10분)"
]
}
},
{
"case": "4 · (보고서 버그)",
"webhook": "nightly-report",
"run": 1,
"passed": true,
"problems": [],
"seconds": 0.1,
"status": 500,
"request": {},
"response": {
"message": "Error in workflow"
}
},
{
"case": "5 · critical 알림이 있으면 critical",
"webhook": "my-ops-status",
"run": 1,
"passed": true,
"problems": [],
"seconds": 0.1,
"status": 200,
"request": {},
"response": {
"status": "critical",
"dlq": 2,
"parked": 0,
"created": 0,
"alerts": {
"critical": 1,
"high": 1
},
"reasons": [
"critical 알림 1건 (10분)",
"DLQ 2건: 원인을 고친 뒤 재처리",
"high 알림 1건 (10분)"
]
}
},
{
"case": "6 · (재처리 · 알림 확인 뒤 비움)",
"webhook": "my-replay",
"run": 1,
"passed": true,
"problems": [],
"seconds": 1.2,
"status": 200,
"request": {},
"response": {
"replayed": 2,
"ok": 2,
"still_failed": 0,
"parked": 0,
"duplicates": 0
}
},
{
"case": "7 · 고친 뒤 → ok",
"webhook": "my-ops-status",
"run": 1,
"passed": true,
"problems": [],
"seconds": 0.0,
"status": 200,
"request": {},
"response": {
"status": "ok",
"dlq": 0,
"parked": 0,
"created": 2,
"alerts": {
"critical": 0,
"high": 0
},
"reasons": []
}
}
]
}