{
  "issueId": "3951",
  "environment": "dev",
  "generatedAt": "2026-08-06T18:38:14+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "3951",
    "environment": "dev",
    "generatedAt": "2026-08-06T09:38:04.669Z",
    "exitStatus": 0,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-08-06T09:36:29.750Z",
        "detail": {
          "issueId": "3951",
          "environment": "dev",
          "exitStatus": 0
        },
        "finishedAt": "2026-08-06T09:38:04.669Z",
        "durationMs": 94919,
        "status": "ok"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-08-06T09:36:29.751Z",
        "detail": {},
        "finishedAt": "2026-08-06T09:36:29.770Z",
        "durationMs": 19,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-08-06T09:36:29.770Z",
        "detail": {},
        "finishedAt": "2026-08-06T09:36:34.561Z",
        "durationMs": 4791,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/ADMIN",
        "startedAt": "2026-08-06T09:36:29.771Z",
        "detail": {
          "application": "admin",
          "role": "ADMIN",
          "businessRole": "ADMIN"
        },
        "finishedAt": "2026-08-06T09:36:34.561Z",
        "durationMs": 4790,
        "status": "ok"
      },
      {
        "name": "auth-refresh:store/dev/QA3951_VE",
        "startedAt": "2026-08-06T09:36:29.776Z",
        "detail": {
          "application": "store",
          "role": "QA3951_VE",
          "businessRole": "VE"
        },
        "finishedAt": "2026-08-06T09:36:33.961Z",
        "durationMs": 4185,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-08-06T09:36:34.561Z",
        "detail": {
          "command": "npx playwright test qa/issues/3951/dev --trace retain-on-failure",
          "exitStatus": 0
        },
        "finishedAt": "2026-08-06T09:38:04.669Z",
        "durationMs": 90108,
        "status": "ok"
      }
    ]
  },
  "summary": {
    "status": "PASS",
    "passed": 10,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 89391
  },
  "rows": [
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [ADMIN] role / 관리자 정산내역에서 박재민_가맹의 2026년 8월 양수·음수 취소·음수 채권 정산과 일반/선정산 법인계좌가 준비되어 있는지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 12627,
      "evidence": [
        "artifacts/logs/01-어드민-법인계좌관리V2-ADMIN-precondition.md",
        "artifacts/screenshots/01-어드민-법인계좌관리V2-ADMIN-precondition.png"
      ],
      "screenshots": [
        "artifacts/screenshots/01-어드민-법인계좌관리V2-ADMIN-precondition.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/01-어드민-법인계좌관리V2-ADMIN-precondition.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "관리자 정산내역에서 박재민_가맹의 2026년 8월 양수·음수 취소·음수 채권 정산과 일반/선정산 법인계좌가 준비되어 있는지 확인",
      "action": "ADMIN 계정으로 [ADMIN] role 항목을 확인",
      "expected": "ADMIN 계정에서 [ADMIN] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [ADMIN] role / 일반 양수 공제금 +44,607원, 일반 음수 취소 공제금 -11,151원, 선정산 양수 공제금 +34,694원, 선정산 음수 취소 공제금 -22,303원을 확인하고 거래 없는 음수 채권의 공제금이 0원인지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 11294,
      "evidence": [
        "artifacts/logs/02-어드민-정산내역-ADMIN-negative-tax.md",
        "artifacts/screenshots/02-어드민-정산내역-ADMIN-negative-tax.png"
      ],
      "screenshots": [
        "artifacts/screenshots/02-어드민-정산내역-ADMIN-negative-tax.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/02-어드민-정산내역-ADMIN-negative-tax.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "일반 양수 공제금 +44,607원, 일반 음수 취소 공제금 -11,151원, 선정산 양수 공제금 +34,694원, 선정산 음수 취소 공제금 -22,303원을 확인하고 거래 없는 음수 채권의 공제금이 0원인지 확인",
      "action": "ADMIN 계정으로 [ADMIN] role 항목을 확인",
      "expected": "ADMIN 계정에서 [ADMIN] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [ADMIN] role / 실험실 > 법인계좌관리V2에서 박재민 법인계좌와 박재민 선정산계좌를 분리해 2026년 8월 정산 전 월별 공제금 기준을 기록",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 11413,
      "evidence": [
        "artifacts/logs/03-어드민-법인계좌관리V2-ADMIN-account-separation.md",
        "artifacts/screenshots/03-어드민-법인계좌관리V2-ADMIN-account-separation.png"
      ],
      "screenshots": [
        "artifacts/screenshots/03-어드민-법인계좌관리V2-ADMIN-account-separation.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/03-어드민-법인계좌관리V2-ADMIN-account-separation.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "실험실 > 법인계좌관리V2에서 박재민 법인계좌와 박재민 선정산계좌를 분리해 2026년 8월 정산 전 월별 공제금 기준을 기록",
      "action": "ADMIN 계정으로 [ADMIN] role 항목을 확인",
      "expected": "ADMIN 계정에서 [ADMIN] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [ADMIN] role / transfer_ve_gj로 비스킷페이에 로그인해 정산 완료 전 지갑 잔액과 정산예정금·정산대기금을 기록",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 3547,
      "evidence": [
        "artifacts/logs/04-스토어-지갑내역-VE-store-before.md",
        "artifacts/screenshots/04-스토어-지갑내역-VE-store-before.png"
      ],
      "screenshots": [
        "artifacts/screenshots/04-스토어-지갑내역-VE-store-before.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/04-스토어-지갑내역-VE-store-before.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "transfer_ve_gj로 비스킷페이에 로그인해 정산 완료 전 지갑 잔액과 정산예정금·정산대기금을 기록",
      "action": "ADMIN 계정으로 [ADMIN] role 항목을 확인",
      "expected": "ADMIN 계정에서 [ADMIN] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [ADMIN] role / 준비된 일반·선정산 양수, 음수 취소, 음수 채권 6건을 지급·전산완료 처리",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 11383,
      "evidence": [
        "artifacts/logs/05-어드민-정산내역-ADMIN-settlement-payment.md",
        "artifacts/screenshots/05-어드민-정산내역-ADMIN-settlement-payment.png"
      ],
      "screenshots": [
        "artifacts/screenshots/05-어드민-정산내역-ADMIN-settlement-payment.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/05-어드민-정산내역-ADMIN-settlement-payment.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "준비된 일반·선정산 양수, 음수 취소, 음수 채권 6건을 지급·전산완료 처리",
      "action": "ADMIN 계정으로 [ADMIN] role 항목을 확인",
      "expected": "ADMIN 계정에서 [ADMIN] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [ADMIN] role / 정산 완료 후 일반정산 월별 공제금이 대상 4건·33,456원, 선정산 월별 공제금이 대상 4건·12,391원 증가하고 음수 채권은 공제금 대상에서 제외되는지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 11556,
      "evidence": [
        "artifacts/logs/06-어드민-법인계좌관리V2-ADMIN-monthly-deduction-after.md",
        "artifacts/screenshots/06-어드민-법인계좌관리V2-ADMIN-monthly-deduction-after.png"
      ],
      "screenshots": [
        "artifacts/screenshots/06-어드민-법인계좌관리V2-ADMIN-monthly-deduction-after.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/06-어드민-법인계좌관리V2-ADMIN-monthly-deduction-after.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "정산 완료 후 일반정산 월별 공제금이 대상 4건·33,456원, 선정산 월별 공제금이 대상 4건·12,391원 증가하고 음수 채권은 공제금 대상에서 제외되는지 확인",
      "action": "ADMIN 계정으로 [ADMIN] role 항목을 확인",
      "expected": "ADMIN 계정에서 [ADMIN] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [ADMIN] role / 관리자 정산내역 재조회에서 6건이 완료 상태가 되고 공제 후 지급 금액이 일반 +315,393원/-78,849원, 선정산 +245,306원/-157,697원, 음수 채권 각 -10,000원인지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 12447,
      "evidence": [
        "artifacts/logs/07-어드민-정산내역-ADMIN-admin-after.md",
        "artifacts/screenshots/07-어드민-정산내역-ADMIN-admin-after.png"
      ],
      "screenshots": [
        "artifacts/screenshots/07-어드민-정산내역-ADMIN-admin-after.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/07-어드민-정산내역-ADMIN-admin-after.md"
      ],
      "files": [],
      "role": "ADMIN",
      "page": "[ADMIN] role",
      "checklistItem": "관리자 정산내역 재조회에서 6건이 완료 상태가 되고 공제 후 지급 금액이 일반 +315,393원/-78,849원, 선정산 +245,306원/-157,697원, 음수 채권 각 -10,000원인지 확인",
      "action": "ADMIN 계정으로 [ADMIN] role 항목을 확인",
      "expected": "ADMIN 계정에서 [ADMIN] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [VE] role / 비스킷페이 정산내역과 지갑내역에서 일반·선정산 대금지급 및 음수 금액이 각각 표시되는지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 3971,
      "evidence": [
        "artifacts/logs/08-스토어-정산내역-VE-store-after.md",
        "artifacts/screenshots/08-스토어-정산내역-VE-store-after.png"
      ],
      "screenshots": [
        "artifacts/screenshots/08-스토어-정산내역-VE-store-after.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/08-스토어-정산내역-VE-store-after.md"
      ],
      "files": [],
      "role": "VE",
      "page": "[VE] role",
      "checklistItem": "비스킷페이 정산내역과 지갑내역에서 일반·선정산 대금지급 및 음수 금액이 각각 표시되는지 확인",
      "action": "VE 계정으로 [VE] role 항목을 확인",
      "expected": "VE 계정에서 [VE] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [VE] role / 정산 전후 가맹점 지갑 잔액 차이가 전체 대금지급 합계 +304,153원이고 음수 지급이 '-' 부호로 표시되는지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 3776,
      "evidence": [
        "artifacts/logs/09-스토어-지갑내역-VE-wallet-delta.md",
        "artifacts/screenshots/09-스토어-지갑내역-VE-wallet-delta.png"
      ],
      "screenshots": [
        "artifacts/screenshots/09-스토어-지갑내역-VE-wallet-delta.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/09-스토어-지갑내역-VE-wallet-delta.md"
      ],
      "files": [],
      "role": "VE",
      "page": "[VE] role",
      "checklistItem": "정산 전후 가맹점 지갑 잔액 차이가 전체 대금지급 합계 +304,153원이고 음수 지급이 '-' 부호로 표시되는지 확인",
      "action": "VE 계정으로 [VE] role 항목을 확인",
      "expected": "VE 계정에서 [VE] role 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3951/dev/negative-settlement-deduction.spec.ts / [3951][dev] 공제금 음수 처리 오류 수정 / [VE] role / 관리자·가맹점 화면을 새로고침한 뒤 일반/선정산 공제금, 정산 금액, 지갑 잔액과 음수 이력이 동일하게 유지되는지 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 6602,
      "evidence": [
        "artifacts/logs/10-스토어-지갑내역-VE-refresh-persist.md",
        "artifacts/screenshots/10-스토어-지갑내역-VE-refresh-persist.png"
      ],
      "screenshots": [
        "artifacts/screenshots/10-스토어-지갑내역-VE-refresh-persist.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/10-스토어-지갑내역-VE-refresh-persist.md"
      ],
      "files": [],
      "role": "VE",
      "page": "[VE] role",
      "checklistItem": "관리자·가맹점 화면을 새로고침한 뒤 일반/선정산 공제금, 정산 금액, 지갑 잔액과 음수 이력이 동일하게 유지되는지 확인",
      "action": "VE 계정으로 비스킷 카드 정책 사용여부/강제적용 값을 변경, 저장 확인, 원복 후 새로고침 유지 여부를 확인",
      "expected": "비스킷 카드 정책 변경은 저장 후 조회되고, 원복 후 새로고침해도 기준 상태가 유지되어야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    }
  ]
}
