$ uv run tools/flow.py budget --daily 0.0003
✔ budget changed: {"daily_usd": 0.0003}
budget $0.0003 / used $0.000934 · remaining $-0.000634 · over True · per user 20/min · question 500 chars

$ uv run tools/flow.py test cases/lab03-drill.json
✔ before: POST http://localhost:8800/usage-clear · HTTP 200 · 0.0s · {"cleared": 8}
POST http://localhost:5678/webhook/my-cost · 6 case(s) × 1
✔ 1번째 · VPN · 1.1s · 자동 답변 · 1 call · $0.000141
✔ 2번째 · 프린터 · 1.0s · 자동 답변 · 1 call · $0.000152
✔ 3번째 · 비밀번호 · 1.3s · 자동 답변 · 1 call · $0.000136
✔ 4번째 · 메일 · 0.1s · 한도 초과 · 0 calls · $0.000000
✔ 5번째 · 접수 · 0.1s · 한도 초과 · 0 calls · $0.000000
✔ 6번째 · VPN 다시 · 0.0s · 한도 초과 · 0 calls · $0.000000
Passed 6/6
report: runs/lab03-drill-20261028-210759.json

$ uv run tools/flow.py usage
requests 3 · calls 3 · tokens in 498 / out 144 · $0.000430
  model  gpt-4.1-mini      3 calls · in     498 · out    144 · $0.000430
  user   최유진               1 calls · in     164 · out     54 · $0.000152
  user   이준호               1 calls · in     165 · out     47 · $0.000141
  user   한지훈               1 calls · in     169 · out     43 · $0.000136
  route  자동 답변             3 calls · in     498 · out    144 · $0.000430
budget $0.0003 / used $0.000430 · remaining $-0.000130 · over True · per user 20/min · question 500 chars

$ uv run tools/flow.py budget --reset
✔ budget back to data/budget.json
budget $1.0 / used $0.000430 · remaining $0.999570 · over False · per user 20/min · question 500 chars

$ uv run tools/flow.py test cases/lab03-drill.json
✔ before: POST http://localhost:8800/usage-clear · HTTP 200 · 0.0s · {"cleared": 3}
POST http://localhost:5678/webhook/my-cost · 6 case(s) × 1
✔ 1번째 · VPN · 1.4s · 자동 답변 · 1 call · $0.000141
✔ 2번째 · 프린터 · 1.2s · 자동 답변 · 1 call · $0.000152
✔ 3번째 · 비밀번호 · 1.6s · 자동 답변 · 1 call · $0.000136
✔ 4번째 · 메일 · 1.8s · 자동 답변 · 1 call · $0.000166
✔ 5번째 · 접수 · 1.4s · 자동 답변 · 1 call · $0.000133
✔ 6번째 · VPN 다시 · 1.5s · 자동 답변 · 1 call · $0.000156
Passed 6/6
report: runs/lab03-drill-20261028-210808.json

$ uv run tools/flow.py usage --clear
✔ usage cleared: {"cleared": 6}
