{
  "issueId": "4291",
  "environment": "dev",
  "generatedAt": "2026-10-14T11:35:00+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "4291",
    "environment": "dev",
    "generatedAt": "2026-10-14T02:35:00.041Z",
    "exitStatus": 0,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-10-14T02:34:30.448Z",
        "detail": {
          "issueId": "4291",
          "environment": "dev",
          "exitStatus": 0
        },
        "finishedAt": "2026-10-14T02:35:00.041Z",
        "durationMs": 29593,
        "status": "ok"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-10-14T02:34:30.449Z",
        "detail": {},
        "finishedAt": "2026-10-14T02:34:30.451Z",
        "durationMs": 2,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-10-14T02:34:30.451Z",
        "detail": {},
        "finishedAt": "2026-10-14T02:34:36.302Z",
        "durationMs": 5851,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/ADMIN",
        "startedAt": "2026-10-14T02:34:30.452Z",
        "detail": {
          "application": "admin",
          "role": "ADMIN",
          "businessRole": "ADMIN"
        },
        "finishedAt": "2026-10-14T02:34:36.302Z",
        "durationMs": 5850,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-10-14T02:34:36.302Z",
        "detail": {
          "command": "npx playwright test qa/issues/4291/dev --trace retain-on-failure",
          "exitStatus": 0
        },
        "finishedAt": "2026-10-14T02:35:00.041Z",
        "durationMs": 23739,
        "status": "ok"
      }
    ]
  },
  "summary": {
    "status": "PASS",
    "passed": 10,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 23096
  },
  "rows": [
    {
      "title": "#4291 체크리스트 1: 지급계좌 이체·반환 후 잔액 1,004원 복구와 입금 이력",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/screenshots/disbursement-after-return.png",
        "artifacts/screenshots/verify-disbursement-history.png",
        "artifacts/logs/execution.md"
      ],
      "screenshots": [
        "artifacts/screenshots/disbursement-after-return.png",
        "artifacts/screenshots/verify-disbursement-history.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "운영계좌 관리",
      "checklistItem": "지급계좌 이체·반환 후 잔액 1,004원 복구와 입금 이력",
      "action": "운영계좌 관리 화면에서 지급계좌 이체·반환 후 잔액 1,004원 복구와 입금 이력",
      "expected": "지급계좌 이체·반환 후 잔액 1,004원 복구와 입금 이력",
      "actual": "12,500,288원 → 12,499,284원 → 12,500,288원, 반환 입금 1,004원 확인",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "#4291 체크리스트 2: 법인 일반계좌 이체·반환 후 잔액·가용잔액 1,004원 복구 및 지급계좌 불변",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/screenshots/corporation-after-return.png",
        "artifacts/screenshots/verify-corporation-history.png",
        "artifacts/logs/execution.md"
      ],
      "screenshots": [
        "artifacts/screenshots/corporation-after-return.png",
        "artifacts/screenshots/verify-corporation-history.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "법인계좌관리",
      "checklistItem": "법인 일반계좌 이체·반환 후 잔액·가용잔액 1,004원 복구 및 지급계좌 불변",
      "action": "법인계좌관리 화면에서 법인 일반계좌 이체·반환 후 잔액·가용잔액 1,004원 복구 및 지급계좌 불변",
      "expected": "법인 일반계좌 이체·반환 후 잔액·가용잔액 1,004원 복구 및 지급계좌 불변",
      "actual": "잔액 5,798,106원 → 5,797,102원 → 5,798,106원, 가용잔액 복구 및 지급계좌 잔액 불변 확인",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "#4291 체크리스트 3: 법인 지갑 이체·반환 후 잔액 1,004원 복구와 입금 이력",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/screenshots/verify-wallet.png",
        "artifacts/screenshots/verify-wallet-history.png",
        "artifacts/logs/execution.md"
      ],
      "screenshots": [
        "artifacts/screenshots/verify-wallet.png",
        "artifacts/screenshots/verify-wallet-history.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "지갑관리",
      "checklistItem": "법인 지갑 이체·반환 후 잔액 1,004원 복구와 입금 이력",
      "action": "지갑관리 화면에서 법인 지갑 이체·반환 후 잔액 1,004원 복구와 입금 이력",
      "expected": "법인 지갑 이체·반환 후 잔액 1,004원 복구와 입금 이력",
      "actual": "297,203원 → 296,199원 → 297,203원, 반환 입금 1,004원 확인",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "#4291 체크리스트 4: 예금주확인 실제 조회 결과와 출금처별 거래 식별값 기록",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/execution.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "이체내역",
      "checklistItem": "예금주확인 실제 조회 결과와 출금처별 거래 식별값 기록",
      "action": "이체내역 화면에서 예금주확인 실제 조회 결과와 출금처별 거래 식별값 기록",
      "expected": "예금주확인 실제 조회 결과와 출금처별 거래 식별값 기록",
      "actual": "실제 예금주 조회 후 동일 수취인으로 이체했고 세 거래의 식별값을 실행 기록에 보관",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "#4291 체크리스트 5: 반환 후 실패 상태·처리 사유·새로고침 영속성",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/execution.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "이체내역",
      "checklistItem": "반환 후 실패 상태·처리 사유·새로고침 영속성",
      "action": "이체내역 화면에서 반환 후 실패 상태·처리 사유·새로고침 영속성",
      "expected": "반환 후 실패 상태·처리 사유·새로고침 영속성",
      "actual": "세 거래 모두 실패 상태와 입력 사유가 새로고침 후 유지됐고 반환 버튼이 비활성화됨",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "#4291 체크리스트 6: 이미 실패한 거래의 반환 비활성화 및 성공·진행중 거래의 반환 불가",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/execution.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "이체내역",
      "checklistItem": "이미 실패한 거래의 반환 비활성화 및 성공·진행중 거래의 반환 불가",
      "action": "이체내역 화면에서 이미 실패한 거래의 반환 비활성화 및 성공·진행중 거래의 반환 불가",
      "expected": "이미 실패한 거래의 반환 비활성화 및 성공·진행중 거래의 반환 불가",
      "actual": "실패 거래는 반환 버튼 비활성화. 9~10월 실제 성공 거래의 작업 버튼 0개 확인. 진행중은 서버 응답을 바꾼 화면 검증에서 작업 버튼 0개 확인(서버 변경 없음)",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "#4291 체크리스트 7: ADMIN·비ADMIN 이체 유형별 반환 확인창 문구",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/screenshots/disbursement-return-confirm.png",
        "artifacts/logs/execution.md"
      ],
      "screenshots": [
        "artifacts/screenshots/disbursement-return-confirm.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "이체내역",
      "checklistItem": "ADMIN·비ADMIN 이체 유형별 반환 확인창 문구",
      "action": "이체내역 화면에서 ADMIN·비ADMIN 이체 유형별 반환 확인창 문구",
      "expected": "ADMIN·비ADMIN 이체 유형별 반환 확인창 문구",
      "actual": "실제 ADMIN 반환 문구와 9~10월 실제 AUTO 대기 거래의 지갑 반환 문구를 확인하고 취소. 분기 기준은 사용자 역할이 아닌 이체 유형",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "#4291 체크리스트 8: 확인창 취소·사유 공백·처리 중 중복 클릭 방지·완료 후 모달 닫힘과 목록 갱신",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/screenshots/modal-confirm-cancel.png",
        "artifacts/logs/execution.md"
      ],
      "screenshots": [
        "artifacts/screenshots/modal-confirm-cancel.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "이체내역",
      "checklistItem": "확인창 취소·사유 공백·처리 중 중복 클릭 방지·완료 후 모달 닫힘과 목록 갱신",
      "action": "이체내역 화면에서 확인창 취소·사유 공백·처리 중 중복 클릭 방지·완료 후 모달 닫힘과 목록 갱신",
      "expected": "확인창 취소·사유 공백·처리 중 중복 클릭 방지·완료 후 모달 닫힘과 목록 갱신",
      "actual": "실제 취소·공백 사유 차단·완료 후 모달 닫힘·목록 갱신 확인. 지연 응답 화면 검증에서 처리 중 버튼 비활성화·POST 1회 확인(서버 전송 없음)",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "#4291 체크리스트 9: COMPLETE_TRANSFER_TRANSACTION 및 RETURN_TRANSFER_TRANSACTION 권한 연결",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/execution.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "이체내역",
      "checklistItem": "COMPLETE_TRANSFER_TRANSACTION 및 RETURN_TRANSFER_TRANSACTION 권한 연결",
      "action": "이체내역 화면에서 COMPLETE_TRANSFER_TRANSACTION 및 RETURN_TRANSFER_TRANSACTION 권한 연결",
      "expected": "COMPLETE_TRANSFER_TRANSACTION 및 RETURN_TRANSFER_TRANSACTION 권한 연결",
      "actual": "ADMIN 권한 응답에서 두 권한이 확인되고 화면에 완료·반환 버튼이 표시됨",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "#4291 체크리스트 10: 별도 적합한 거래가 있을 때 완료 버튼의 상태만 변경 동작",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/execution.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/execution.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "이체내역",
      "checklistItem": "별도 적합한 거래가 있을 때 완료 버튼의 상태만 변경 동작",
      "action": "이체내역 화면에서 별도 적합한 거래가 있을 때 완료 버튼의 상태만 변경 동작",
      "expected": "별도 적합한 거래가 있을 때 완료 버튼의 상태만 변경 동작",
      "actual": "10월 6일 0원 ADMIN 개발계 거래를 완료 처리: HTTP 200, completeSettlements=false, PENDING→COMPLETED, 입력 사유·금액 유지 재조회 확인",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    }
  ],
  "automatedSummary": {
    "status": "PASS",
    "passed": 2,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 23096
  }
}
