Files

108 lines
4.1 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
$ uv run tools/flow.py push reference/lab02-example1-ask.json
✔ pushed '79 Ops ask (reference)' (id w7ab48263bf09133)
POST http://localhost:5678/webhook/my-ops-ask
$ uv run tools/flow.py test cases/lab02.json -v
✔ before: POST http://localhost:8800/ops-reset · HTTP 200 · 0.0s · {"seeded_at": "2026-11-04T08:30:00", "note": "79일차 운영 아침 상태 (연습 데이터, seed 79)", "counts": {"alerts": 6, "dlq": 3, "quali
→ request POST http://localhost:8800/ops-reset
{}
← response HTTP 200
{
"seeded_at": "2026-11-04T08:30:00",
"note": "79일차 운영 아침 상태 (연습 데이터, seed 79)",
"counts": {
"alerts": 6,
"dlq": 3,
"quality_log": 4,
"quarantine": 1,
"usage": 192
}
}
POST http://localhost:5678/webhook/my-ops-ask · 6 case(s) × 1
✔ 실행 · 오류율 · 2.9s
→ request POST /webhook/my-ops-ask
{
"question": "지난주 오류율이 얼마야?"
}
← response HTTP 200
{
"question": "지난주 오류율이 얼마야?",
"area": "runs",
"router": "keyword",
"refused": false,
"reason": null,
"answer": "지난주 오류율은 5.88%였습니다. 총 357회 실행 중 21회 오류가 발생했습니다."
}
✔ DLQ · parked · 1.8s
→ request POST /webhook/my-ops-ask
{
"question": "DLQ에 parked 된 건 몇 건이야?"
}
← response HTTP 200
{
"question": "DLQ에 parked 된 건 몇 건이야?",
"area": "dlq",
"router": "keyword",
"refused": false,
"reason": null,
"answer": "DLQ에 parked 된 건은 2건입니다. 전체 DLQ 크기는 3건이며, 대기 중인 건은 1건입니다."
}
✔ 운영과 상관없는 질문은 거절 · 0.1s
→ request POST /webhook/my-ops-ask
{
"question": "점심 메뉴 추천해 줘"
}
← response HTTP 200
{
"question": "점심 메뉴 추천해 줘",
"area": "unknown",
"router": "keyword",
"refused": true,
"reason": "out_of_scope",
"answer": "운영 데이터(실행 · 알림 · DLQ · 품질 · 비용 · 릴리스)로 답할 수 있는 질문만 받습니다."
}
✘ 작업 요청은 거절 (읽기만) · 1.0s · refused = false (expected true); reason = null (expected read_only)
→ request POST /webhook/my-ops-ask
{
"question": "DLQ 1번 다시 돌려 줘"
}
← response HTTP 200
{
"question": "DLQ 1번 다시 돌려 줘",
"area": "dlq",
"router": "keyword",
"refused": false,
"reason": null,
"answer": "DLQ 1번은 현재 대기 중인 상태이며, DLQ 전체 크기는 3입니다. 현재 시스템 상태는 빨간색(위험)입니다."
}
✘ 비용 · 숫자 확인 · 1.0s · numbers_ok = null (expected true)
→ request POST /webhook/my-ops-ask
{
"question": "오늘 LLM 비용이 예산의 몇 퍼센트야?"
}
← response HTTP 200
{
"question": "오늘 LLM 비용이 예산의 몇 퍼센트야?",
"area": "cost",
"router": "keyword",
"refused": false,
"reason": null,
"answer": "오늘 LLM 비용은 예산의 92.01%에 해당합니다. 일일 비용은 0.08달러이며, 현재 사용 비율은 0.9201입니다."
}
✘ 릴리스 · 숫자 확인 · 2.3s · numbers_ok = null (expected true)
→ request POST /webhook/my-ops-ask
{
"question": "카나리 버전 문제 있어?"
}
← response HTTP 200
{
"question": "카나리 버전 문제 있어?",
"area": "release",
"router": "keyword",
"refused": false,
"reason": null,
"answer": "카나리 버전 1.2.0의 반복 발생률은 62.5%로 매우 높으며, 현재 전체 시스템 상태는 빨간색(문제 있음)입니다. 활성 버전 1.1.0의 반복 발생률은 7.73%에 비해 카나리 버전에서 문제가 심각한 것으로 나타납니다."
}
Passed 3/6
report: runs/lab02-20261101-185243.json