{
  "issueId": "3888",
  "environment": "dev",
  "generatedAt": "2026-07-27T16:38:13+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "3888",
    "environment": "dev",
    "generatedAt": "2026-07-27T07:19:59.525Z",
    "exitStatus": 0,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-07-27T07:18:14.066Z",
        "detail": {
          "issueId": "3888",
          "environment": "dev",
          "exitStatus": 0
        },
        "finishedAt": "2026-07-27T07:19:59.525Z",
        "durationMs": 105459,
        "status": "ok"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-07-27T07:18:14.066Z",
        "detail": {},
        "finishedAt": "2026-07-27T07:18:14.068Z",
        "durationMs": 2,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-07-27T07:18:14.068Z",
        "detail": {},
        "finishedAt": "2026-07-27T07:18:21.096Z",
        "durationMs": 7028,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/ADMIN",
        "startedAt": "2026-07-27T07:18:14.068Z",
        "detail": {
          "application": "admin",
          "role": "ADMIN",
          "businessRole": "ADMIN"
        },
        "finishedAt": "2026-07-27T07:18:21.096Z",
        "durationMs": 7028,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-07-27T07:18:21.096Z",
        "detail": {
          "command": "npx playwright test qa/issues/3888/dev --trace retain-on-failure",
          "exitStatus": 0
        },
        "finishedAt": "2026-07-27T07:19:59.525Z",
        "durationMs": 98429,
        "status": "ok"
      }
    ]
  },
  "summary": {
    "status": "PASS",
    "passed": 5,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 97980
  },
  "rows": [
    {
      "title": "3888/dev/transaction-offset-dedup.spec.ts / [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 / 거래내역 화면에서 지정 거래의 취소금액 80,000원, 수수료 10%, 정산금액 72,000원 및 상계 이력 없음 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 10792,
      "evidence": [
        "artifacts/logs/01-거래내역-ADMIN-initial-state.md",
        "artifacts/screenshots/01-거래내역-ADMIN-initial-state.png"
      ],
      "screenshots": [
        "artifacts/screenshots/01-거래내역-ADMIN-initial-state.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/01-거래내역-ADMIN-initial-state.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증",
      "checklistItem": "거래내역 화면에서 지정 거래의 취소금액 80,000원, 수수료 10%, 정산금액 72,000원 및 상계 이력 없음 확인",
      "action": "전체 계정으로 [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 항목을 확인",
      "expected": "전체 계정에서 [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3888/dev/transaction-offset-dedup.spec.ts / [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 / 가맹점만 상계 옵션으로 40,000원을 부분상계한 뒤 화면 상계금액 36,000원 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 15539,
      "evidence": [
        "artifacts/logs/02-거래내역-ADMIN-first-partial-offset.md",
        "artifacts/screenshots/02-거래내역-ADMIN-first-partial-offset.png"
      ],
      "screenshots": [
        "artifacts/screenshots/02-거래내역-ADMIN-first-partial-offset.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/02-거래내역-ADMIN-first-partial-offset.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증",
      "checklistItem": "가맹점만 상계 옵션으로 40,000원을 부분상계한 뒤 화면 상계금액 36,000원 확인",
      "action": "전체 계정으로 [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 항목을 확인",
      "expected": "전체 계정에서 [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3888/dev/transaction-offset-dedup.spec.ts / [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 / 같은 거래에 나머지 40,000원을 상계한 뒤 누적 상계금액 72,000원 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 19663,
      "evidence": [
        "artifacts/logs/03-거래내역-ADMIN-second-partial-offset.md",
        "artifacts/screenshots/03-거래내역-ADMIN-second-partial-offset.png"
      ],
      "screenshots": [
        "artifacts/screenshots/03-거래내역-ADMIN-second-partial-offset.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/03-거래내역-ADMIN-second-partial-offset.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증",
      "checklistItem": "같은 거래에 나머지 40,000원을 상계한 뒤 누적 상계금액 72,000원 확인",
      "action": "전체 계정으로 [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 항목을 확인",
      "expected": "전체 계정에서 [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3888/dev/transaction-offset-dedup.spec.ts / [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 / 상계 완료 후 여러 번 새로고침하고 목록에서 나갔다 재진입해도 상계금액이 72,000원으로 유지되고 144,000원으로 중복되지 않는지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 37062,
      "evidence": [
        "artifacts/logs/04-거래내역-ADMIN-refresh-and-reentry.md",
        "artifacts/screenshots/04-거래내역-ADMIN-refresh-and-reentry.png",
        "artifacts/traces/01-trace.zip"
      ],
      "screenshots": [
        "artifacts/screenshots/04-거래내역-ADMIN-refresh-and-reentry.png"
      ],
      "traces": [
        "artifacts/traces/01-trace.zip"
      ],
      "logs": [
        "artifacts/logs/04-거래내역-ADMIN-refresh-and-reentry.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증",
      "checklistItem": "상계 완료 후 여러 번 새로고침하고 목록에서 나갔다 재진입해도 상계금액이 72,000원으로 유지되고 144,000원으로 중복되지 않는지 확인",
      "action": "전체 계정으로 새로고침과 재조회 전후 거래 ID 출현 횟수를 비교",
      "expected": "비스킷 카드 정책 변경은 저장 후 조회되고, 원복 후 새로고침해도 기준 상태가 유지되어야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3888/dev/transaction-offset-dedup.spec.ts / [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 / 거래 목록과 상세 화면의 상계금액 72,000원 및 상계 완료 상태가 동일한지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 13685,
      "evidence": [
        "artifacts/screenshots/05-거래내역-ADMIN-detail-partial-offset-1-36-000원.png",
        "artifacts/screenshots/06-거래내역-ADMIN-detail-partial-offset-2-36-000원.png",
        "artifacts/logs/05-거래내역-ADMIN-list-detail-consistency.md",
        "artifacts/screenshots/07-거래내역-ADMIN-list-detail-consistency.png",
        "artifacts/traces/02-trace.zip"
      ],
      "screenshots": [
        "artifacts/screenshots/05-거래내역-ADMIN-detail-partial-offset-1-36-000원.png",
        "artifacts/screenshots/06-거래내역-ADMIN-detail-partial-offset-2-36-000원.png",
        "artifacts/screenshots/07-거래내역-ADMIN-list-detail-consistency.png"
      ],
      "traces": [
        "artifacts/traces/02-trace.zip"
      ],
      "logs": [
        "artifacts/logs/05-거래내역-ADMIN-list-detail-consistency.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증",
      "checklistItem": "거래 목록과 상세 화면의 상계금액 72,000원 및 상계 완료 상태가 동일한지 확인",
      "action": "전체 계정으로 [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 항목을 확인",
      "expected": "전체 계정에서 [3888][dev] [QA] 거래내역 부분상계 금액 중복 누적 방지 검증 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    }
  ]
}
