77일차 실행 기록 분석: 실습 15개 · 강의(개요 30장 · 단계 문서 · 4단계 정리 · 05 바이브), 정답본 LAB-A · answers · VIBE-A · tlog 포함
This commit is contained in:
1 parent
036eae1c6a
commit
dcd4cdd66b
148 files changed
+40344
No files matched your search
@@ -0,0 +1,553 @@
|
||||
$ uv run tools/flow.py push answers/77-lab01-challenge-day-release.json
|
||||
! unpublished '77 Log report (reference)' (w1971efa15af33a8): it used the same webhook path
|
||||
✔ pushed '77 Log report + days and releases (answer)' (id w5ee2fc1d2930303)
|
||||
POST http://localhost:5678/webhook/my-log-report
|
||||
|
||||
$ uv run tools/flow.py test cases/lab01-challenge.json -v
|
||||
POST http://localhost:5678/webhook/my-log-report · 6 case(s) × 1
|
||||
✔ 날짜별 · 월요일 · 1.0s
|
||||
→ request POST /webhook/my-log-report
|
||||
{
|
||||
"from": "2026-10-19",
|
||||
"to": "2026-10-30"
|
||||
}
|
||||
← response HTTP 200
|
||||
{
|
||||
"total": 666,
|
||||
"errors": 21,
|
||||
"error_rate": 0.0315,
|
||||
"p50_ms": 1205,
|
||||
"p95_ms": 2537,
|
||||
"by_route": {
|
||||
"자동 답변": 591,
|
||||
"담당자 연결": 34,
|
||||
"오류": 21,
|
||||
"잠시 후": 20
|
||||
},
|
||||
"by_day": {
|
||||
"2026-10-19": {
|
||||
"total": 73,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-20": {
|
||||
"total": 57,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-21": {
|
||||
"total": 60,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-22": {
|
||||
"total": 55,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-23": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-26": {
|
||||
"total": 70,
|
||||
"errors": 16,
|
||||
"error_rate": 0.2286
|
||||
},
|
||||
"2026-10-27": {
|
||||
"total": 62,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-28": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-29": {
|
||||
"total": 97,
|
||||
"errors": 5,
|
||||
"error_rate": 0.0515
|
||||
},
|
||||
"2026-10-30": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
}
|
||||
},
|
||||
"by_release": {
|
||||
"1.0.0": {
|
||||
"answers": 402,
|
||||
"repeats": 19,
|
||||
"repeat_rate": 0.0473
|
||||
},
|
||||
"1.1.0": {
|
||||
"answers": 181,
|
||||
"repeats": 14,
|
||||
"repeat_rate": 0.0773
|
||||
},
|
||||
"1.2.0": {
|
||||
"answers": 8,
|
||||
"repeats": 5,
|
||||
"repeat_rate": 0.625
|
||||
}
|
||||
}
|
||||
}
|
||||
✔ 날짜별 · 목요일 · 0.1s
|
||||
→ request POST /webhook/my-log-report
|
||||
{
|
||||
"from": "2026-10-19",
|
||||
"to": "2026-10-30"
|
||||
}
|
||||
← response HTTP 200
|
||||
{
|
||||
"total": 666,
|
||||
"errors": 21,
|
||||
"error_rate": 0.0315,
|
||||
"p50_ms": 1205,
|
||||
"p95_ms": 2537,
|
||||
"by_route": {
|
||||
"자동 답변": 591,
|
||||
"담당자 연결": 34,
|
||||
"오류": 21,
|
||||
"잠시 후": 20
|
||||
},
|
||||
"by_day": {
|
||||
"2026-10-19": {
|
||||
"total": 73,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-20": {
|
||||
"total": 57,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-21": {
|
||||
"total": 60,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-22": {
|
||||
"total": 55,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-23": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-26": {
|
||||
"total": 70,
|
||||
"errors": 16,
|
||||
"error_rate": 0.2286
|
||||
},
|
||||
"2026-10-27": {
|
||||
"total": 62,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-28": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-29": {
|
||||
"total": 97,
|
||||
"errors": 5,
|
||||
"error_rate": 0.0515
|
||||
},
|
||||
"2026-10-30": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
}
|
||||
},
|
||||
"by_release": {
|
||||
"1.0.0": {
|
||||
"answers": 402,
|
||||
"repeats": 19,
|
||||
"repeat_rate": 0.0473
|
||||
},
|
||||
"1.1.0": {
|
||||
"answers": 181,
|
||||
"repeats": 14,
|
||||
"repeat_rate": 0.0773
|
||||
},
|
||||
"1.2.0": {
|
||||
"answers": 8,
|
||||
"repeats": 5,
|
||||
"repeat_rate": 0.625
|
||||
}
|
||||
}
|
||||
}
|
||||
✔ 날짜는 10일 · 0.2s
|
||||
→ request POST /webhook/my-log-report
|
||||
{
|
||||
"from": "2026-10-19",
|
||||
"to": "2026-10-30"
|
||||
}
|
||||
← response HTTP 200
|
||||
{
|
||||
"total": 666,
|
||||
"errors": 21,
|
||||
"error_rate": 0.0315,
|
||||
"p50_ms": 1205,
|
||||
"p95_ms": 2537,
|
||||
"by_route": {
|
||||
"자동 답변": 591,
|
||||
"담당자 연결": 34,
|
||||
"오류": 21,
|
||||
"잠시 후": 20
|
||||
},
|
||||
"by_day": {
|
||||
"2026-10-19": {
|
||||
"total": 73,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-20": {
|
||||
"total": 57,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-21": {
|
||||
"total": 60,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-22": {
|
||||
"total": 55,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-23": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-26": {
|
||||
"total": 70,
|
||||
"errors": 16,
|
||||
"error_rate": 0.2286
|
||||
},
|
||||
"2026-10-27": {
|
||||
"total": 62,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-28": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-29": {
|
||||
"total": 97,
|
||||
"errors": 5,
|
||||
"error_rate": 0.0515
|
||||
},
|
||||
"2026-10-30": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
}
|
||||
},
|
||||
"by_release": {
|
||||
"1.0.0": {
|
||||
"answers": 402,
|
||||
"repeats": 19,
|
||||
"repeat_rate": 0.0473
|
||||
},
|
||||
"1.1.0": {
|
||||
"answers": 181,
|
||||
"repeats": 14,
|
||||
"repeat_rate": 0.0773
|
||||
},
|
||||
"1.2.0": {
|
||||
"answers": 8,
|
||||
"repeats": 5,
|
||||
"repeat_rate": 0.625
|
||||
}
|
||||
}
|
||||
}
|
||||
✔ 릴리스별 다시 묻기 · 1.2.0 · 0.1s
|
||||
→ request POST /webhook/my-log-report
|
||||
{
|
||||
"from": "2026-10-19",
|
||||
"to": "2026-10-30"
|
||||
}
|
||||
← response HTTP 200
|
||||
{
|
||||
"total": 666,
|
||||
"errors": 21,
|
||||
"error_rate": 0.0315,
|
||||
"p50_ms": 1205,
|
||||
"p95_ms": 2537,
|
||||
"by_route": {
|
||||
"자동 답변": 591,
|
||||
"담당자 연결": 34,
|
||||
"오류": 21,
|
||||
"잠시 후": 20
|
||||
},
|
||||
"by_day": {
|
||||
"2026-10-19": {
|
||||
"total": 73,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-20": {
|
||||
"total": 57,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-21": {
|
||||
"total": 60,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-22": {
|
||||
"total": 55,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-23": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-26": {
|
||||
"total": 70,
|
||||
"errors": 16,
|
||||
"error_rate": 0.2286
|
||||
},
|
||||
"2026-10-27": {
|
||||
"total": 62,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-28": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-29": {
|
||||
"total": 97,
|
||||
"errors": 5,
|
||||
"error_rate": 0.0515
|
||||
},
|
||||
"2026-10-30": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
}
|
||||
},
|
||||
"by_release": {
|
||||
"1.0.0": {
|
||||
"answers": 402,
|
||||
"repeats": 19,
|
||||
"repeat_rate": 0.0473
|
||||
},
|
||||
"1.1.0": {
|
||||
"answers": 181,
|
||||
"repeats": 14,
|
||||
"repeat_rate": 0.0773
|
||||
},
|
||||
"1.2.0": {
|
||||
"answers": 8,
|
||||
"repeats": 5,
|
||||
"repeat_rate": 0.625
|
||||
}
|
||||
}
|
||||
}
|
||||
✔ 릴리스별 다시 묻기 · 1.0.0 · 1.1.0 · 0.1s
|
||||
→ request POST /webhook/my-log-report
|
||||
{
|
||||
"from": "2026-10-19",
|
||||
"to": "2026-10-30"
|
||||
}
|
||||
← response HTTP 200
|
||||
{
|
||||
"total": 666,
|
||||
"errors": 21,
|
||||
"error_rate": 0.0315,
|
||||
"p50_ms": 1205,
|
||||
"p95_ms": 2537,
|
||||
"by_route": {
|
||||
"자동 답변": 591,
|
||||
"담당자 연결": 34,
|
||||
"오류": 21,
|
||||
"잠시 후": 20
|
||||
},
|
||||
"by_day": {
|
||||
"2026-10-19": {
|
||||
"total": 73,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-20": {
|
||||
"total": 57,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-21": {
|
||||
"total": 60,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-22": {
|
||||
"total": 55,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-23": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-26": {
|
||||
"total": 70,
|
||||
"errors": 16,
|
||||
"error_rate": 0.2286
|
||||
},
|
||||
"2026-10-27": {
|
||||
"total": 62,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-28": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-29": {
|
||||
"total": 97,
|
||||
"errors": 5,
|
||||
"error_rate": 0.0515
|
||||
},
|
||||
"2026-10-30": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
}
|
||||
},
|
||||
"by_release": {
|
||||
"1.0.0": {
|
||||
"answers": 402,
|
||||
"repeats": 19,
|
||||
"repeat_rate": 0.0473
|
||||
},
|
||||
"1.1.0": {
|
||||
"answers": 181,
|
||||
"repeats": 14,
|
||||
"repeat_rate": 0.0773
|
||||
},
|
||||
"1.2.0": {
|
||||
"answers": 8,
|
||||
"repeats": 5,
|
||||
"repeat_rate": 0.625
|
||||
}
|
||||
}
|
||||
}
|
||||
✔ 1.1.0 · 0.0s
|
||||
→ request POST /webhook/my-log-report
|
||||
{
|
||||
"from": "2026-10-19",
|
||||
"to": "2026-10-30"
|
||||
}
|
||||
← response HTTP 200
|
||||
{
|
||||
"total": 666,
|
||||
"errors": 21,
|
||||
"error_rate": 0.0315,
|
||||
"p50_ms": 1205,
|
||||
"p95_ms": 2537,
|
||||
"by_route": {
|
||||
"자동 답변": 591,
|
||||
"담당자 연결": 34,
|
||||
"오류": 21,
|
||||
"잠시 후": 20
|
||||
},
|
||||
"by_day": {
|
||||
"2026-10-19": {
|
||||
"total": 73,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-20": {
|
||||
"total": 57,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-21": {
|
||||
"total": 60,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-22": {
|
||||
"total": 55,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-23": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-26": {
|
||||
"total": 70,
|
||||
"errors": 16,
|
||||
"error_rate": 0.2286
|
||||
},
|
||||
"2026-10-27": {
|
||||
"total": 62,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-28": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
},
|
||||
"2026-10-29": {
|
||||
"total": 97,
|
||||
"errors": 5,
|
||||
"error_rate": 0.0515
|
||||
},
|
||||
"2026-10-30": {
|
||||
"total": 64,
|
||||
"errors": 0,
|
||||
"error_rate": 0
|
||||
}
|
||||
},
|
||||
"by_release": {
|
||||
"1.0.0": {
|
||||
"answers": 402,
|
||||
"repeats": 19,
|
||||
"repeat_rate": 0.0473
|
||||
},
|
||||
"1.1.0": {
|
||||
"answers": 181,
|
||||
"repeats": 14,
|
||||
"repeat_rate": 0.0773
|
||||
},
|
||||
"1.2.0": {
|
||||
"answers": 8,
|
||||
"repeats": 5,
|
||||
"repeat_rate": 0.625
|
||||
}
|
||||
}
|
||||
}
|
||||
Passed 6/6
|
||||
report: runs/lab01-challenge-20261031-074930.json
|
||||
|
||||
$ uv run tools/flow.py test cases/lab01.json
|
||||
POST http://localhost:5678/webhook/my-log-report · 5 case(s) × 1
|
||||
✔ 두 주 전체 · 0.1s
|
||||
✔ 두 주 · 갈래별 · 0.1s
|
||||
✔ 첫 주 · 0.1s
|
||||
✔ 둘째 주 · 0.1s
|
||||
✔ 10월 26일 하루 · 0.1s
|
||||
Passed 5/5
|
||||
report: runs/lab01-20261031-074930.json
|
||||
Reference in new issue
Block a user