{
  "issueId": "3350",
  "environment": "dev",
  "generatedAt": "2026-05-21T21:32:17+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "3350",
    "environment": "dev",
    "generatedAt": "2026-05-21T12:32:17.709Z",
    "exitStatus": 0,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-05-21T12:16:48.346Z",
        "detail": {
          "issueId": "3350",
          "environment": "dev",
          "exitStatus": 1
        },
        "finishedAt": "2026-05-21T12:17:54.128Z",
        "durationMs": 65782,
        "status": "failed"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-05-21T12:16:48.347Z",
        "detail": {},
        "finishedAt": "2026-05-21T12:16:48.353Z",
        "durationMs": 6,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-05-21T12:16:48.353Z",
        "detail": {},
        "finishedAt": "2026-05-21T12:16:54.619Z",
        "durationMs": 6266,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/ADMIN",
        "startedAt": "2026-05-21T12:16:48.353Z",
        "detail": {
          "application": "admin",
          "role": "ADMIN"
        },
        "finishedAt": "2026-05-21T12:16:51.532Z",
        "durationMs": 3179,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/TA",
        "startedAt": "2026-05-21T12:16:48.358Z",
        "detail": {
          "application": "admin",
          "role": "TA"
        },
        "finishedAt": "2026-05-21T12:16:51.524Z",
        "durationMs": 3166,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/CO",
        "startedAt": "2026-05-21T12:16:51.525Z",
        "detail": {
          "application": "admin",
          "role": "CO"
        },
        "finishedAt": "2026-05-21T12:16:54.619Z",
        "durationMs": 3094,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-05-21T12:16:54.619Z",
        "detail": {
          "command": "npx playwright test qa/issues/3350/dev",
          "exitStatus": 1
        },
        "finishedAt": "2026-05-21T12:17:54.128Z",
        "durationMs": 59509,
        "status": "failed"
      },
      {
        "name": "co-rerun",
        "startedAt": "2026-05-21T12:31:00.095Z",
        "finishedAt": "2026-05-21T12:31:03.926Z",
        "durationMs": 3831,
        "status": "ok",
        "detail": {
          "command": "QA_RESULT_ROOT=qa-results/issues/3350/dev-co-rerun npx playwright test qa/issues/3350/dev --grep \"[CO] role\"",
          "reason": "CO 하위 데이터 재추가 후 CO role만 재검증"
        }
      }
    ]
  },
  "summary": {
    "status": "PASS",
    "passed": 7,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 59601
  },
  "rows": [
    {
      "title": "3350/dev/biscuit-card-activation.spec.ts / [3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증 / cardIds가 빈 배열인 상태로 요청되지 않도록 프론트에서 방어되는지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 6548,
      "evidence": [
        "artifacts/logs/01-비스킷카드관리-ADMIN-empty-cardids-guard.md",
        "artifacts/screenshots/01-비스킷카드관리-ADMIN-empty-cardids-guard.png"
      ],
      "screenshots": [
        "artifacts/screenshots/01-비스킷카드관리-ADMIN-empty-cardids-guard.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/01-비스킷카드관리-ADMIN-empty-cardids-guard.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증",
      "checklistItem": "cardIds가 빈 배열인 상태로 요청되지 않도록 프론트에서 방어되는지 확인",
      "action": "전체 계정으로 비스킷카드관리 화면의 등록 완료 처리 요청, 응답 결과, 카드 상태 반영을 확인",
      "expected": "선택한 무기명 카드 ID로 활성화 요청이 발생하고, 응답 건수/성공 여부/상태 갱신/store 반영이 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3350/dev/biscuit-card-activation.spec.ts / [3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증 / request body, 결과 건수, 성공/실패 메시지 화면 표시 검증",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 8050,
      "evidence": [
        "artifacts/logs/02-비스킷카드관리-ADMIN-mixed-result-rendering.md",
        "artifacts/screenshots/02-비스킷카드관리-ADMIN-mixed-result-rendering.png"
      ],
      "screenshots": [
        "artifacts/screenshots/02-비스킷카드관리-ADMIN-mixed-result-rendering.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/02-비스킷카드관리-ADMIN-mixed-result-rendering.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증",
      "checklistItem": "활성화 대상 카드를 여러 개 선택 후 요청 시 request body의 cardIds에 선택한 카드 ID가 모두 포함되는지 확인",
      "action": "전체 계정으로 비스킷카드관리 화면의 등록 완료 처리 요청, 응답 결과, 카드 상태 반영을 확인",
      "expected": "선택한 무기명 카드 ID로 활성화 요청이 발생하고, 응답 건수/성공 여부/상태 갱신/store 반영이 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3350/dev/biscuit-card-activation.spec.ts / [3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증 / 활성화 대상 카드 1개 실제 등록 완료 처리 및 ACTIVE 갱신 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 13957,
      "evidence": [
        "artifacts/logs/03-비스킷카드관리-ADMIN-single-activation.md",
        "artifacts/screenshots/03-비스킷카드관리-ADMIN-single-activation.png"
      ],
      "screenshots": [
        "artifacts/screenshots/03-비스킷카드관리-ADMIN-single-activation.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/03-비스킷카드관리-ADMIN-single-activation.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증",
      "checklistItem": "활성화 대상 카드를 1개 선택 후 활성화 요청 시 정상 처리되는지 확인",
      "action": "전체 계정으로 비스킷카드관리 화면의 등록 완료 처리 요청, 응답 결과, 카드 상태 반영을 확인",
      "expected": "선택한 무기명 카드 ID로 활성화 요청이 발생하고, 응답 건수/성공 여부/상태 갱신/store 반영이 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3350/dev/biscuit-card-activation.spec.ts / [3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증 / 여러 카드 실제 등록 완료 처리와 store 카드 상태 반영 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 16609,
      "evidence": [
        "artifacts/screenshots/04-비스킷-Pay-카드-STORE_CARD_ACTIVE_1-store-card-reflection.png",
        "artifacts/screenshots/05-비스킷-Pay-카드-STORE_CARD_ACTIVE_2-store-card-reflection.png",
        "artifacts/logs/04-비스킷카드관리-ADMIN-multi-activation-store-reflection.md",
        "artifacts/screenshots/06-비스킷카드관리-ADMIN-multi-activation-store-reflection.png"
      ],
      "screenshots": [
        "artifacts/screenshots/04-비스킷-Pay-카드-STORE_CARD_ACTIVE_1-store-card-reflection.png",
        "artifacts/screenshots/05-비스킷-Pay-카드-STORE_CARD_ACTIVE_2-store-card-reflection.png",
        "artifacts/screenshots/06-비스킷카드관리-ADMIN-multi-activation-store-reflection.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/04-비스킷카드관리-ADMIN-multi-activation-store-reflection.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증",
      "checklistItem": "비스킷 페이에서 테스트 계정으로 로그인 후 카드 등록 상태가 정상 반영되었는지 확인",
      "action": "전체 계정으로 비스킷카드관리 화면의 등록 완료 처리 요청, 응답 결과, 카드 상태 반영을 확인",
      "expected": "선택한 무기명 카드 ID로 활성화 요청이 발생하고, 응답 건수/성공 여부/상태 갱신/store 반영이 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3350/dev/biscuit-card-activation.spec.ts / [3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증 / [ADMIN] role / ADMIN 계정으로 무기명 카드 활성화 기능 진입 및 활성화 요청이 가능한지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 7029,
      "evidence": [
        "artifacts/logs/05-비스킷카드관리-ADMIN-activation-access.md",
        "artifacts/screenshots/07-비스킷카드관리-ADMIN-activation-access.png"
      ],
      "screenshots": [
        "artifacts/screenshots/07-비스킷카드관리-ADMIN-activation-access.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/05-비스킷카드관리-ADMIN-activation-access.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "ADMIN 계정으로 무기명 카드 활성화 기능 진입 및 활성화 요청이 가능한지 확인",
      "action": "ADMIN 계정으로 비스킷카드관리 화면의 등록 완료 처리 요청, 응답 결과, 카드 상태 반영을 확인",
      "expected": "선택한 무기명 카드 ID로 활성화 요청이 발생하고, 응답 건수/성공 여부/상태 갱신/store 반영이 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3350/dev/biscuit-card-activation.spec.ts / [3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증 / [TA] role / TA 계정으로 무기명 카드 활성화 기능 진입 및 활성화 요청이 가능한지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 3138,
      "evidence": [
        "artifacts/logs/06-비스킷카드관리-TA-activation-access.md",
        "artifacts/screenshots/08-비스킷카드관리-TA-activation-access.png"
      ],
      "screenshots": [
        "artifacts/screenshots/08-비스킷카드관리-TA-activation-access.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/06-비스킷카드관리-TA-activation-access.md"
      ],
      "files": [],
      "role": "TA",
      "page": "[TA] role",
      "checklistItem": "TA 계정으로 무기명 카드 활성화 기능 진입 및 활성화 요청이 가능한지 확인",
      "action": "TA 계정으로 비스킷카드관리 화면의 등록 완료 처리 요청, 응답 결과, 카드 상태 반영을 확인",
      "expected": "선택한 무기명 카드 ID로 활성화 요청이 발생하고, 응답 건수/성공 여부/상태 갱신/store 반영이 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3350/dev/biscuit-card-activation.spec.ts / [3350][dev] [QA] 비스킷 무기명 카드 활성화 API 등록 완료 처리 검증 / [CO] role / CO 계정으로 무기명 카드 활성화 기능 진입 및 활성화 요청이 가능한지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 3334,
      "evidence": [
        "artifacts/logs/07-비스킷카드관리-CO-activation-access.md",
        "artifacts/screenshots/09-비스킷카드관리-CO-activation-access.png"
      ],
      "screenshots": [
        "artifacts/screenshots/09-비스킷카드관리-CO-activation-access.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/07-비스킷카드관리-CO-activation-access.md"
      ],
      "files": [],
      "role": "CO",
      "page": "[CO] role",
      "checklistItem": "CO 계정으로 무기명 카드 활성화 기능 진입 및 활성화 요청이 가능한지 확인",
      "action": "CO 계정으로 비스킷카드관리 화면의 등록 완료 처리 요청, 응답 결과, 카드 상태 반영을 확인",
      "expected": "선택한 무기명 카드 ID로 활성화 요청이 발생하고, 응답 건수/성공 여부/상태 갱신/store 반영이 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    }
  ]
}
