{
  "issueId": "2911",
  "environment": "dev",
  "generatedAt": "2026-06-08T14:57:32+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "2911",
    "environment": "dev",
    "generatedAt": "2026-06-08T05:49:53.804Z",
    "exitStatus": 1,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-06-08T05:47:36.570Z",
        "detail": {
          "issueId": "2911",
          "environment": "dev",
          "exitStatus": 1
        },
        "finishedAt": "2026-06-08T05:49:53.804Z",
        "durationMs": 137234,
        "status": "failed"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-06-08T05:47:36.571Z",
        "detail": {},
        "finishedAt": "2026-06-08T05:47:36.731Z",
        "durationMs": 160,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-06-08T05:47:36.731Z",
        "detail": {},
        "finishedAt": "2026-06-08T05:47:47.105Z",
        "durationMs": 10374,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/ADMIN",
        "startedAt": "2026-06-08T05:47:36.732Z",
        "detail": {
          "application": "admin",
          "role": "ADMIN",
          "businessRole": "ADMIN"
        },
        "finishedAt": "2026-06-08T05:47:40.892Z",
        "durationMs": 4160,
        "status": "ok"
      },
      {
        "name": "auth-refresh:store/dev/LUCY_VE",
        "startedAt": "2026-06-08T05:47:36.737Z",
        "detail": {
          "application": "store",
          "role": "LUCY_VE",
          "businessRole": "VE"
        },
        "finishedAt": "2026-06-08T05:47:40.668Z",
        "durationMs": 3931,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/TA",
        "startedAt": "2026-06-08T05:47:40.668Z",
        "detail": {
          "application": "admin",
          "role": "TA",
          "businessRole": "TA"
        },
        "finishedAt": "2026-06-08T05:47:44.011Z",
        "durationMs": 3343,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/CO",
        "startedAt": "2026-06-08T05:47:40.892Z",
        "detail": {
          "application": "admin",
          "role": "CO",
          "businessRole": "CO"
        },
        "finishedAt": "2026-06-08T05:47:44.365Z",
        "durationMs": 3473,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/BO",
        "startedAt": "2026-06-08T05:47:44.011Z",
        "detail": {
          "application": "admin",
          "role": "BO",
          "businessRole": "BO"
        },
        "finishedAt": "2026-06-08T05:47:47.105Z",
        "durationMs": 3094,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-06-08T05:47:47.105Z",
        "detail": {
          "command": "npx playwright test qa/issues/2911/dev",
          "exitStatus": 1
        },
        "finishedAt": "2026-06-08T05:49:53.804Z",
        "durationMs": 126699,
        "status": "failed"
      }
    ]
  },
  "summary": {
    "status": "FAIL",
    "passed": 0,
    "failed": 1,
    "skipped": 0,
    "blocked": 11,
    "flaky": 0,
    "durationMs": 126003
  },
  "rows": [
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [VE] role / [ve] 가맹점 결제 테스트 화면에서 스토어의 결제하기 버튼 클릭 후, 루시페이먼츠 ISP 모달창에서는 별도 결제하기 버튼 클릭 없이 ISP 창이 바로 열리는지 확인",
      "status": "FAIL",
      "statusText": "실패",
      "durationMs": 15614,
      "evidence": [
        "artifacts/screenshots/01-가맹점-결제-테스트-VE-isp-popup-isp-form.png",
        "artifacts/screenshots/02-가맹점-결제-테스트-VE-isp-popup-isp-popup-started.png",
        "artifacts/logs/01-가맹점-결제-테스트-VE-isp-popup-opened.md",
        "artifacts/screenshots/03-screenshot.png",
        "artifacts/logs/02-error-context.md",
        "artifacts/logs/03-error-context.md",
        "artifacts/traces/01-trace.zip"
      ],
      "screenshots": [
        "artifacts/screenshots/01-가맹점-결제-테스트-VE-isp-popup-isp-form.png",
        "artifacts/screenshots/02-가맹점-결제-테스트-VE-isp-popup-isp-popup-started.png",
        "artifacts/screenshots/03-screenshot.png"
      ],
      "traces": [
        "artifacts/traces/01-trace.zip"
      ],
      "logs": [
        "artifacts/logs/01-가맹점-결제-테스트-VE-isp-popup-opened.md",
        "artifacts/logs/02-error-context.md",
        "artifacts/logs/03-error-context.md"
      ],
      "files": [],
      "role": "VE",
      "page": "가맹점 결제 테스트",
      "checklistItem": "[ve] 가맹점 결제 테스트 화면에서 스토어의 결제하기 버튼 클릭 후, 루시페이먼츠 ISP 모달창에서는 별도 결제하기 버튼 클릭 없이 ISP 창이 바로 열리는지 확인",
      "action": "VE 계정으로 가맹점 결제 테스트 항목을 확인",
      "expected": "VE 계정에서 가맹점 결제 테스트 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 달랐습니다: Error: ISP 결제창은 결제 시작 직후 새 창으로 열려야 합니다.  expect(received).toBe(expected) // Object.is equality",
      "error": "Error: ISP 결제창은 결제 시작 직후 새 창으로 열려야 합니다.  expect(received).toBe(expected) // Object.is equality",
      "failureCategory": "assertion",
      "failureCategoryText": "기대 결과와 다름",
      "reproduction": {
        "required": true,
        "reason": "화면에서 확인한 값이 체크리스트의 기대 결과와 달랐습니다.",
        "debugCommand": "npm run qa:debug -- --issue \"2911\" --env \"dev\" --role \"VE\" --case \"[ve] 가맹점 결제 테스트 화면에서 스토어의 결제하기 버튼 클릭 후, 루시페이먼츠 ISP 모달창에서는 별도 결제하기 버튼 클릭 없이 ISP 창이 바로 열리는지 확인\"",
        "notifyMessage": "[QA 확인 요청] VE / 가맹점 결제 테스트 / [ve] 가맹점 결제 테스트 화면에서 스토어의 결제하기 버튼 클릭 후, 루시페이먼츠 ISP 모달창에서는 별도 결제하기 버튼 클릭 없이 ISP 창이 바로 열리는지 확인: 기대 결과와 다름 상태입니다. npm run qa:debug -- --issue \"2911\" --env \"dev\" --role \"VE\" --case \"[ve] 가맹점 결제 테스트 화면에서 스토어의 결제하기 버튼 클릭 후, 루시페이먼츠 ISP 모달창에서는 별도 결제하기 버튼 클릭 없이 ISP 창이 바로 열리는지 확인\" 로 동일 계정과 항목을 다시 열어 확인하세요.",
        "manualSteps": [
          "작업자가 위 명령을 실행하면 대상 계정의 로그인 세션을 새로 만든 뒤 브라우저가 열립니다.",
          "브라우저에서 자동화가 멈춘 화면, 현재 URL, 화면 문구, 다운로드 알림 또는 문서보관함 상태를 확인합니다.",
          "확인한 화면과 필요한 조치 내용을 Redmine/GitHub QA 이슈에 남깁니다."
        ]
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [VE] role / [ve] 루시페이먼츠 ISP 결제 진행 후 결제창이 닫히면 스토어 결과 화면에 결제요청에 성공했습니다. 안내가 표시되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 109177,
      "evidence": [
        "artifacts/screenshots/04-가맹점-결제-테스트-VE-isp-primary-isp-form.png",
        "artifacts/screenshots/05-가맹점-결제-테스트-VE-isp-primary-isp-popup.png",
        "artifacts/logs/04-가맹점-결제-테스트-VE-isp-primary-isp-complete-blocked.md"
      ],
      "screenshots": [
        "artifacts/screenshots/04-가맹점-결제-테스트-VE-isp-primary-isp-form.png",
        "artifacts/screenshots/05-가맹점-결제-테스트-VE-isp-primary-isp-popup.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/04-가맹점-결제-테스트-VE-isp-primary-isp-complete-blocked.md"
      ],
      "files": [],
      "role": "VE",
      "page": "[VE] role",
      "checklistItem": "[ve] 루시페이먼츠 ISP 결제 진행 후 결제창이 닫히면 스토어 결과 화면에 결제요청에 성공했습니다. 안내가 표시되는지 확인",
      "action": "VE 계정으로 [VE] role 항목을 확인",
      "expected": "VE 계정에서 [VE] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: ISP 외부 결제창 승인 완료 또는 거래 통보 반영이 자동화 세션에서 발생하지 않아 완료 ISP 거래를 확보하지 못했습니다.",
      "error": "skip: BLOCKED: ISP 외부 결제창 승인 완료 또는 거래 통보 반영이 자동화 세션에서 발생하지 않아 완료 ISP 거래를 확보하지 못했습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [ADMIN] role / [admin] 거래 로그 화면에서 루시페이먼츠 ISP 결제 통보 반영 후 결제 완료 상태, 승인번호, 금액, 카드 정보가 정상 표시되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 1,
      "evidence": [
        "artifacts/logs/05-거래로그-ADMIN-payment-log-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/05-거래로그-ADMIN-payment-log-blocked.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "[admin] 거래 로그 화면에서 루시페이먼츠 ISP 결제 통보 반영 후 결제 완료 상태, 승인번호, 금액, 카드 정보가 정상 표시되는지 확인",
      "action": "ADMIN 계정으로 [ADMIN] role 항목을 확인",
      "expected": "ADMIN 계정에서 [ADMIN] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: ADMIN 거래 로그 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: ADMIN 거래 로그 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [ADMIN] role / [admin] 거래 로그 화면에서 루시페이먼츠 ISP 거래 취소가 정상 수행되고 취소 상태와 취소 금액이 정상 표시되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/06-거래로그-ADMIN-cancel-isp-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/06-거래로그-ADMIN-cancel-isp-blocked.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "[admin] 거래 로그 화면에서 루시페이먼츠 ISP 거래 취소가 정상 수행되고 취소 상태와 취소 금액이 정상 표시되는지 확인",
      "action": "ADMIN 계정으로 [ADMIN] role 항목을 확인",
      "expected": "ADMIN 계정에서 [ADMIN] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: ADMIN 계정의 ISP 결제 취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: ADMIN 계정의 ISP 결제 취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [TA] role / [ta] 거래 로그 화면에서 루시페이먼츠 ISP 결제 통보 반영 후 결제 완료 상태, 승인번호, 금액, 카드 정보가 정상 표시되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/07-거래로그-TA-payment-log-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/07-거래로그-TA-payment-log-blocked.md"
      ],
      "files": [],
      "role": "TA",
      "page": "[TA] role",
      "checklistItem": "[ta] 거래 로그 화면에서 루시페이먼츠 ISP 결제 통보 반영 후 결제 완료 상태, 승인번호, 금액, 카드 정보가 정상 표시되는지 확인",
      "action": "TA 계정으로 [TA] role 항목을 확인",
      "expected": "TA 계정에서 [TA] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: TA 거래 로그 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: TA 거래 로그 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [TA] role / [ta] 거래 로그 화면에서 루시페이먼츠 ISP 거래 취소가 정상 수행되고 취소 상태와 취소 금액이 정상 표시되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/08-거래로그-TA-cancel-isp-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/08-거래로그-TA-cancel-isp-blocked.md"
      ],
      "files": [],
      "role": "TA",
      "page": "[TA] role",
      "checklistItem": "[ta] 거래 로그 화면에서 루시페이먼츠 ISP 거래 취소가 정상 수행되고 취소 상태와 취소 금액이 정상 표시되는지 확인",
      "action": "TA 계정으로 [TA] role 항목을 확인",
      "expected": "TA 계정에서 [TA] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: TA 계정의 ISP 결제 취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: TA 계정의 ISP 결제 취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [CO] role / [co] 거래 로그 화면에서 루시페이먼츠 ISP 결제 통보 반영 후 결제 완료 상태, 승인번호, 금액, 카드 정보가 정상 표시되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/09-거래로그-CO-payment-log-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/09-거래로그-CO-payment-log-blocked.md"
      ],
      "files": [],
      "role": "CO",
      "page": "[CO] role",
      "checklistItem": "[co] 거래 로그 화면에서 루시페이먼츠 ISP 결제 통보 반영 후 결제 완료 상태, 승인번호, 금액, 카드 정보가 정상 표시되는지 확인",
      "action": "CO 계정으로 [CO] role 항목을 확인",
      "expected": "CO 계정에서 [CO] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: CO 거래 로그 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: CO 거래 로그 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [CO] role / [co] 거래 로그 화면에서 루시페이먼츠 ISP 거래 취소가 정상 수행되고 취소 상태와 취소 금액이 정상 표시되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 2,
      "evidence": [
        "artifacts/logs/10-거래로그-CO-cancel-isp-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/10-거래로그-CO-cancel-isp-blocked.md"
      ],
      "files": [],
      "role": "CO",
      "page": "[CO] role",
      "checklistItem": "[co] 거래 로그 화면에서 루시페이먼츠 ISP 거래 취소가 정상 수행되고 취소 상태와 취소 금액이 정상 표시되는지 확인",
      "action": "CO 계정으로 [CO] role 항목을 확인",
      "expected": "CO 계정에서 [CO] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: CO 계정의 ISP 결제 취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: CO 계정의 ISP 결제 취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [BO] role / [bo] 거래 로그 화면에서 루시페이먼츠 ISP 결제 통보 반영 후 결제 완료 상태, 승인번호, 금액, 카드 정보가 정상 표시되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/11-거래로그-BO-payment-log-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/11-거래로그-BO-payment-log-blocked.md"
      ],
      "files": [],
      "role": "BO",
      "page": "[BO] role",
      "checklistItem": "[bo] 거래 로그 화면에서 루시페이먼츠 ISP 결제 통보 반영 후 결제 완료 상태, 승인번호, 금액, 카드 정보가 정상 표시되는지 확인",
      "action": "BO 계정으로 [BO] role 항목을 확인",
      "expected": "BO 계정에서 [BO] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: BO 거래 로그 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: BO 거래 로그 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [BO] role / [bo] 거래 로그 화면에서 루시페이먼츠 ISP 거래 취소가 정상 수행되고 취소 상태와 취소 금액이 정상 표시되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/12-거래로그-BO-cancel-isp-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/12-거래로그-BO-cancel-isp-blocked.md"
      ],
      "files": [],
      "role": "BO",
      "page": "[BO] role",
      "checklistItem": "[bo] 거래 로그 화면에서 루시페이먼츠 ISP 거래 취소가 정상 수행되고 취소 상태와 취소 금액이 정상 표시되는지 확인",
      "action": "BO 계정으로 [BO] role 항목을 확인",
      "expected": "BO 계정에서 [BO] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: BO 계정의 ISP 결제 취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: BO 계정의 ISP 결제 취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [ADMIN/TA/CO/BO] role / [admin, ta, co, bo] 부분취소를 여러 번 진행했을 때 화면에서 현재 취소 금액과 누적 취소 금액이 구분되어 이상 없이 보이는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/13-거래로그-ALL-partial-cancel-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/13-거래로그-ALL-partial-cancel-blocked.md"
      ],
      "files": [],
      "role": "ADMIN/TA/CO/BO",
      "page": "[ADMIN/TA/CO/BO] role",
      "checklistItem": "[admin, ta, co, bo] 부분취소를 여러 번 진행했을 때 화면에서 현재 취소 금액과 누적 취소 금액이 구분되어 이상 없이 보이는지 확인",
      "action": "ADMIN/TA/CO/BO 계정으로 [ADMIN/TA/CO/BO] role 항목을 확인",
      "expected": "ADMIN/TA/CO/BO 계정에서 [ADMIN/TA/CO/BO] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: 다중 부분취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: 다중 부분취소 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "2911/dev/lucypay-payment-log.spec.ts / [2911][dev] [QA] 루시페이먼츠 ISP 결제/취소 및 거래 로그 재검증 / [ADMIN/TA/CO/BO] role / [admin, ta, co, bo] 거래 로그 화면에서 승인번호 버튼 클릭 시 영수증 화면이 정상 노출되는지 확인",
      "status": "BLOCKED",
      "statusText": "확인 불가",
      "durationMs": 0,
      "evidence": [
        "artifacts/logs/14-거래로그-ALL-receipt-summary-blocked.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/14-거래로그-ALL-receipt-summary-blocked.md"
      ],
      "files": [],
      "role": "ADMIN/TA/CO/BO",
      "page": "[ADMIN/TA/CO/BO] role",
      "checklistItem": "[admin, ta, co, bo] 거래 로그 화면에서 승인번호 버튼 클릭 시 영수증 화면이 정상 노출되는지 확인",
      "action": "ADMIN/TA/CO/BO 계정으로 [ADMIN/TA/CO/BO] role 항목을 확인",
      "expected": "ADMIN/TA/CO/BO 계정에서 [ADMIN/TA/CO/BO] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "확인을 끝내지 못했습니다: skip: BLOCKED: 승인번호 영수증 검증에 사용할 완료 ISP 거래가 없습니다.",
      "error": "skip: BLOCKED: 승인번호 영수증 검증에 사용할 완료 ISP 거래가 없습니다.",
      "failureCategory": "blocked",
      "failureCategoryText": "확인 조건 부족",
      "reproduction": {
        "required": false,
        "reason": "확인 조건이 부족해 본 시나리오를 끝까지 실행하지 못했습니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    }
  ]
}
