{
  "issueId": "3557",
  "environment": "dev",
  "generatedAt": "2026-06-15T14:37:24+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "3557",
    "environment": "dev",
    "generatedAt": "2026-06-15T05:29:03.648Z",
    "exitStatus": 0,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-06-15T05:28:32.228Z",
        "detail": {
          "issueId": "3557",
          "environment": "dev",
          "exitStatus": 0
        },
        "finishedAt": "2026-06-15T05:29:03.648Z",
        "durationMs": 31420,
        "status": "ok"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-06-15T05:28:32.228Z",
        "detail": {},
        "finishedAt": "2026-06-15T05:28:32.230Z",
        "durationMs": 2,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-06-15T05:28:32.230Z",
        "detail": {},
        "finishedAt": "2026-06-15T05:28:42.034Z",
        "durationMs": 9804,
        "status": "ok"
      },
      {
        "name": "auth-refresh:store/dev/DW_VE",
        "startedAt": "2026-06-15T05:28:32.230Z",
        "detail": {
          "application": "store",
          "role": "DW_VE",
          "businessRole": "VE"
        },
        "finishedAt": "2026-06-15T05:28:42.034Z",
        "durationMs": 9804,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-06-15T05:28:42.034Z",
        "detail": {
          "command": "npx playwright test qa/issues/3557/dev --trace retain-on-failure",
          "exitStatus": 0
        },
        "finishedAt": "2026-06-15T05:29:03.648Z",
        "durationMs": 21614,
        "status": "ok"
      }
    ]
  },
  "summary": {
    "status": "PASS",
    "passed": 3,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 20729
  },
  "rows": [
    {
      "title": "3557/dev/biscuit-card-manual-charge.spec.ts / [3557][dev] [QA] 비스킷 카드 수동 충전 전환 및 메뉴 반영 검증 / [VE] role / 비스킷 카드 설정 / [케이스1-사이드바 메뉴 반영] 비스킷 카드 설정 화면(/biscuit-card/settings)에서 '충전 방식' 섹션 셀렉트를 '정산금 자동 충전'에서 '수동 금액 충전'으로 변경하고 '저장' 버튼을 누른다 / [케이스1] 표시되는 '충전 방식 설정' 바텀시트에서 '저장' 버튼을 한 번 더 눌러 컨펌하고, 이어서 뜨는 '저장 완료' 모달에서 '확인'을 눌러 닫는다 / [케이스1-확인] 화면 우상단 햄버거 버튼을 눌러 사이드바를 연다. '비스킷 카드' 메뉴 하위에 '카드 관리'와 '수동 충전' 2개 서브메뉴가 (새로고침 없이) 즉시 표시되는지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 8208,
      "evidence": [
        "artifacts/logs/01-비스킷-카드-사이드바-VE-manual-charge-menu-visible.md",
        "artifacts/screenshots/01-비스킷-카드-사이드바-VE-manual-charge-menu-visible.png",
        "artifacts/traces/01-비스킷-카드-설정-VE-charge-method-sidebar-trace.zip"
      ],
      "screenshots": [
        "artifacts/screenshots/01-비스킷-카드-사이드바-VE-manual-charge-menu-visible.png"
      ],
      "traces": [
        "artifacts/traces/01-비스킷-카드-설정-VE-charge-method-sidebar-trace.zip"
      ],
      "logs": [
        "artifacts/logs/01-비스킷-카드-사이드바-VE-manual-charge-menu-visible.md"
      ],
      "files": [],
      "role": "VE",
      "page": "비스킷 카드 사이드바",
      "checklistItem": "[케이스1-사이드바 메뉴 반영] 비스킷 카드 설정 화면(/biscuit-card/settings)에서 '충전 방식' 섹션 셀렉트를 '정산금 자동 충전'에서 '수동 금액 충전'으로 변경하고 '저장' 버튼을 누른다 / [케이스1] 표시되는 '충전 방식 설정' 바텀시트에서 '저장' 버튼을 한 번 더 눌러 컨펌하고, 이어서 뜨는 '저장 완료' 모달에서 '확인'을 눌러 닫는다 / [케이스1-확인] 화면 우상단 햄버거 버튼을 눌러 사이드바를 연다. '비스킷 카드' 메뉴 하위에 '카드 관리'와 '수동 충전' 2개 서브메뉴가 (새로고침 없이) 즉시 표시되는지 확인",
      "action": "VE 계정으로 비스킷 카드 설정에서 충전 방식을 수동 금액 충전으로 저장한 뒤 같은 세션에서 사이드바를 열어 하위 메뉴 노출을 확인",
      "expected": "충전 방식 저장 완료 후 새로고침 없이 사이드바 비스킷 카드 하위에 카드 관리와 수동 충전 메뉴가 보여야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3557/dev/biscuit-card-manual-charge.spec.ts / [3557][dev] [QA] 비스킷 카드 수동 충전 전환 및 메뉴 반영 검증 / [VE] role / 비스킷 카드 설정 / [케이스2-수동충전 동작] 사이드바에서 '수동 충전' 서브메뉴를 눌러 수동 충전 화면(/biscuit-card/manual-charge)으로 이동한다",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 4312,
      "evidence": [
        "artifacts/logs/02-비스킷-카드-수동-충전-VE-sidebar-navigate-manual-charge.md",
        "artifacts/screenshots/02-비스킷-카드-수동-충전-VE-sidebar-navigate-manual-charge.png",
        "artifacts/traces/02-비스킷-카드-수동-충전-VE-sidebar-navigate-manual-charge-trace.zip"
      ],
      "screenshots": [
        "artifacts/screenshots/02-비스킷-카드-수동-충전-VE-sidebar-navigate-manual-charge.png"
      ],
      "traces": [
        "artifacts/traces/02-비스킷-카드-수동-충전-VE-sidebar-navigate-manual-charge-trace.zip"
      ],
      "logs": [
        "artifacts/logs/02-비스킷-카드-수동-충전-VE-sidebar-navigate-manual-charge.md"
      ],
      "files": [],
      "role": "VE",
      "page": "비스킷 카드 사이드바",
      "checklistItem": "[케이스2-수동충전 동작] 사이드바에서 '수동 충전' 서브메뉴를 눌러 수동 충전 화면(/biscuit-card/manual-charge)으로 이동한다",
      "action": "VE 계정으로 사이드바의 수동 충전 메뉴를 클릭해 수동 충전 화면으로 이동",
      "expected": "사이드바 수동 충전 메뉴 클릭 시 /biscuit-card/manual-charge 화면으로 이동하고 화면 본문이 정상 표시되어야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3557/dev/biscuit-card-manual-charge.spec.ts / [3557][dev] [QA] 비스킷 카드 수동 충전 전환 및 메뉴 반영 검증 / [VE] role / 비스킷 카드 설정 / [케이스2] 충전 금액 입력란에 1000을 입력하고 하단 '충전' 버튼을 누른다. 표시되는 바텀시트에서 '충전' 버튼을 눌러 컨펌한다 / [케이스2-확인] 약 1초 로딩 후 '충전 완료' 모달이 표시되는지 확인하고, '확인' 버튼을 눌러 모달을 닫는다",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 7594,
      "evidence": [
        "artifacts/logs/03-비스킷-카드-수동-충전-VE-manual-charge-complete-modal.md",
        "artifacts/screenshots/03-비스킷-카드-수동-충전-VE-manual-charge-complete-modal.png",
        "artifacts/logs/04-비스킷-카드-수동-충전-VE-manual-charge-complete-closed.md",
        "artifacts/screenshots/04-비스킷-카드-수동-충전-VE-manual-charge-complete-closed.png",
        "artifacts/traces/03-비스킷-카드-수동-충전-VE-manual-charge-complete-trace.zip"
      ],
      "screenshots": [
        "artifacts/screenshots/03-비스킷-카드-수동-충전-VE-manual-charge-complete-modal.png",
        "artifacts/screenshots/04-비스킷-카드-수동-충전-VE-manual-charge-complete-closed.png"
      ],
      "traces": [
        "artifacts/traces/03-비스킷-카드-수동-충전-VE-manual-charge-complete-trace.zip"
      ],
      "logs": [
        "artifacts/logs/03-비스킷-카드-수동-충전-VE-manual-charge-complete-modal.md",
        "artifacts/logs/04-비스킷-카드-수동-충전-VE-manual-charge-complete-closed.md"
      ],
      "files": [],
      "role": "VE",
      "page": "비스킷 카드 수동 충전",
      "checklistItem": "[케이스2] 충전 금액 입력란에 1000을 입력하고 하단 '충전' 버튼을 누른다. 표시되는 바텀시트에서 '충전' 버튼을 눌러 컨펌한다 / [케이스2-확인] 약 1초 로딩 후 '충전 완료' 모달이 표시되는지 확인하고, '확인' 버튼을 눌러 모달을 닫는다",
      "action": "VE 계정으로 수동 충전 화면에서 1,000원을 입력하고 충전 확인/완료 모달을 확인",
      "expected": "1,000원 입력 후 충전 확인 바텀시트와 충전 완료 모달이 표시되고 확인 버튼으로 닫을 수 있어야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    }
  ]
}
