{
    "created_at": "2026-05-08 19:49:51",
    "title": "route_regression_money_worklog_v1",
    "judgment": "OK",
    "all_ok": true,
    "bad_cases": [],
    "results": {
        "worklog_overmatch": {
            "ok": true,
            "query": "오늘 명철이형님 사용전점검 했는데 합격 받앗어 저장해줘",
            "note": "합격 받았어\/받앗어를 돈 받은 것으로 오판하면 안 됨",
            "answer_preview": "기존 작업기록에 추가해뒀어. \/  \/ 기존 기록: \/ - 작업기록 id: 46 \/  \/ 추가한 내용: \/  \/ 원본 project_logs 내용은 덮어쓰지 않고, 추가 기록 테이블에 따로 저장했어.",
            "selected_payment": false,
            "selected_worklog": true,
            "selected_history_memo": false,
            "has_pending": false,
            "checks": {
                "no_error": true,
                "no_missing_worklog_id": true,
                "answer_not_금액이 얼마": true,
                "trace_not_[system_gate] intent=payment": true,
                "trace_not_tool_name=payment": true,
                "trace_not_selected_tool=payment": true,
                "trace_has_any": true
            },
            "cleanup": []
        },
        "payment_create_no_amount": {
            "ok": true,
            "query": "서현우 입금했어",
            "note": "명시적 입금은 payment로 가고 금액을 물어야 함",
            "answer_preview": "금액이 얼마인가요?",
            "selected_payment": true,
            "selected_worklog": false,
            "selected_history_memo": false,
            "has_pending": false,
            "checks": {
                "no_error": true,
                "no_missing_worklog_id": true,
                "answer_not_어느 고객": true,
                "trace_has_any": true,
                "answer_has_any": true
            },
            "cleanup": []
        },
        "payment_delete_plain_with_date": {
            "ok": true,
            "query": "2026-05-08 서현우 200000원 입금 기록 삭제해줘",
            "note": "날짜 있는 입금 삭제는 payment 삭제 승인대기",
            "answer_preview": "📝 입금\/미수금 삭제 계획만 만들었습니다. \/ - 요청: 2026-05-08 서현우 200000원 입금 기록 삭제해줘 \/ - 선택 도구: payment \/ - 승인대기 ID: sysap_20260508_194948_460b3a \/ - 판단: 삭제\/초기화 같은 고위험 작업이라 바로 실행하지 않았습니다. \/  \/ 진짜 실행하려면 `승인` 또는 `실행`이라고 입력하세요. \/ 취소하려면 `취소`라고 입력하세요.",
            "selected_payment": true,
            "selected_worklog": false,
            "selected_history_memo": false,
            "has_pending": true,
            "checks": {
                "no_error": true,
                "no_missing_worklog_id": true,
                "text_has_입금\/미수금 삭제 계획": true,
                "text_not_입금\/미수금 등록 계획": true,
                "text_not_어느 고객": true,
                "trace_has_any": true,
                "text_has_any": true
            },
            "cleanup": [
                {
                    "type": "cancel_sysap",
                    "answer_preview": "승인대기를 취소했어. \/ - 승인대기 ID: sysap_20260508_194948_460b3a"
                }
            ]
        },
        "payment_delete_prefixed_with_date": {
            "ok": true,
            "query": "[기록] 💰 입금: 200,000원 \/ 서현우 \/ 2026-05-08 거래 기록 삭제해줘",
            "note": "[기록] UI prefix가 있어도 payment delete",
            "answer_preview": "📝 입금\/미수금 삭제 계획만 만들었습니다. \/ - 요청: [기록] 💰 입금: 200,000원 \/ 서현우 \/ 2026-05-08 거래 기록 삭제해줘 \/ - 선택 도구: payment \/ - 승인대기 ID: sysap_20260508_194949_f2b2fd \/ - 판단: 삭제\/초기화 같은 고위험 작업이라 바로 실행하지 않았습니다. \/  \/ 진짜 실행하려면 `승인` 또는 `실행`이라고 입력하세요. \/ 취소하려면 `취소`라고 입력하세요.",
            "selected_payment": true,
            "selected_worklog": false,
            "selected_history_memo": false,
            "has_pending": true,
            "checks": {
                "no_error": true,
                "no_missing_worklog_id": true,
                "text_has_입금\/미수금 삭제 계획": true,
                "text_not_입금\/미수금 등록 계획": true,
                "text_not_어느 고객": true,
                "trace_has_any": true,
                "text_has_any": true
            },
            "cleanup": [
                {
                    "type": "cancel_sysap",
                    "answer_preview": "승인대기를 취소했어. \/ - 승인대기 ID: sysap_20260508_194949_f2b2fd"
                }
            ]
        },
        "payment_delete_prefixed_without_date": {
            "ok": true,
            "query": "[기록] 💰 입금: 200,000원 \/ 서현우 거래 기록 삭제해줘",
            "note": "날짜 없는 입금 삭제는 고객 질문이 아니라 날짜 질문",
            "answer_preview": "입금\/미수 처리하려면 입금 날짜가 언제인지 알려줘.",
            "selected_payment": true,
            "selected_worklog": false,
            "selected_history_memo": false,
            "has_pending": false,
            "checks": {
                "no_error": true,
                "no_missing_worklog_id": true,
                "text_not_입금\/미수금 등록 계획": true,
                "text_not_승인대기 ID": true,
                "text_not_sysap_": true,
                "answer_not_어느 고객": true,
                "trace_has_any": true,
                "answer_has_any": true
            },
            "cleanup": []
        },
        "history_read": {
            "ok": true,
            "query": "최근 히스토리 보여줘",
            "note": "히스토리 조회는 payment로 오염되면 안 됨",
            "answer_preview": "최근 히스토리 저장 기록을 불러왔어. \/ - 표시: 최근 20건 \/ - 숨김: 테스트\/중복 3건 \/  \/ 1. 2026-05-08 16:41:05 · ID 127 · history · 내일 송지 주택 마감 해야해 \/ 2. 2026-05-08 · ID 126 · history · 점심 먹은 거 \/ 3. 2026-05-07 13:12:03 · ID 122 · history · 연화는 아토피가 있어 \/ 4. 2026-05-06 12:36:45 · ID 121 · history · 삼성주방 사장님 이름은 최인식이야 \/ 5. 2026-05-06 · ID 105 · history · 도 애기엄마 상태가 안좋네 오늘은 앞에 놀이터에 보냈어 반응 보려고 \/ 6. 2026-05-05 · ID 103 · history · 서울에서 내려왓어 \/ 7. 2026-05-05 18:32:38 · ID 102 · history · 방금 서울에서 내려 왔어 \/ 8. 2026-05-04 · ID 98 · histo",
            "selected_payment": false,
            "selected_worklog": false,
            "selected_history_memo": false,
            "has_pending": false,
            "checks": {
                "no_error": true,
                "no_missing_worklog_id": true,
                "text_not_입금\/미수금 등록 계획": true,
                "text_not_입금\/미수금 삭제 계획": true,
                "trace_not_tool_name=payment": true,
                "trace_not_selected_tool=payment": true,
                "trace_not_selected=payment": true
            },
            "cleanup": []
        }
    }
}