{
  "issueId": "3289",
  "environment": "dev",
  "generatedAt": "2026-05-27T18:13:18+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "3289",
    "environment": "dev",
    "generatedAt": "2026-05-27T08:57:15.365Z",
    "exitStatus": 0,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-05-27T08:56:37.417Z",
        "detail": {
          "issueId": "3289",
          "environment": "dev",
          "exitStatus": 0
        },
        "finishedAt": "2026-05-27T08:57:15.365Z",
        "durationMs": 37948,
        "status": "ok"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-05-27T08:56:37.418Z",
        "detail": {},
        "finishedAt": "2026-05-27T08:56:37.425Z",
        "durationMs": 7,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-05-27T08:56:37.425Z",
        "detail": {},
        "finishedAt": "2026-05-27T08:56:43.811Z",
        "durationMs": 6386,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/TA",
        "startedAt": "2026-05-27T08:56:37.425Z",
        "detail": {
          "application": "admin",
          "role": "TA",
          "businessRole": "TA"
        },
        "finishedAt": "2026-05-27T08:56:40.901Z",
        "durationMs": 3476,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/BO",
        "startedAt": "2026-05-27T08:56:40.901Z",
        "detail": {
          "application": "admin",
          "role": "BO",
          "businessRole": "BO"
        },
        "finishedAt": "2026-05-27T08:56:43.811Z",
        "durationMs": 2910,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-05-27T08:56:43.811Z",
        "detail": {
          "command": "npx playwright test qa/issues/3289/dev --grep (\\[TA\\].*(변경이력 진입|권한 범위|엑셀 다운로드)|\\[BO\\].*엑셀 다운로드) --trace on",
          "exitStatus": 0
        },
        "finishedAt": "2026-05-27T08:57:15.365Z",
        "durationMs": 31554,
        "status": "ok"
      }
    ]
  },
  "summary": {
    "status": "PASS",
    "passed": 4,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 30879
  },
  "rows": [
    {
      "title": "3289/dev/access-history-permission.spec.ts / [3289][dev] 영업라인 변경이력 TA 접근 및 BO 엑셀 재검증 / [TA] role / 영업라인 변경이력 / 변경이력 진입 권한이 role 정책과 일치한다",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 2734,
      "evidence": [
        "artifacts/screenshots/01-영업라인-변경이력-TA-access-allowed.png",
        "artifacts/logs/01-영업라인-변경이력-TA-access-allowed-url.txt",
        "artifacts/traces/01-trace.zip"
      ],
      "screenshots": [
        "artifacts/screenshots/01-영업라인-변경이력-TA-access-allowed.png"
      ],
      "traces": [
        "artifacts/traces/01-trace.zip"
      ],
      "logs": [
        "artifacts/logs/01-영업라인-변경이력-TA-access-allowed-url.txt"
      ],
      "files": [],
      "role": "TA",
      "page": "영업라인 변경이력",
      "checklistItem": "변경이력 진입 권한이 role 정책과 일치한다",
      "action": "TA 계정으로 영업라인 변경이력 화면이나 버튼에 들어갈 수 있는지 확인",
      "expected": "TA 계정은 영업라인 변경이력 화면 또는 버튼에 들어갈 수 있어야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3289/dev/access-history-permission.spec.ts / [3289][dev] 영업라인 변경이력 TA 접근 및 BO 엑셀 재검증 / [TA] role / 영업라인 변경이력 / 권한 범위의 변경이력만 노출된다",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 3530,
      "evidence": [
        "artifacts/screenshots/02-영업라인-변경이력-TA-history-scope.png",
        "artifacts/logs/02-영업라인-변경이력-TA-history-scope-url.txt",
        "artifacts/traces/02-trace.zip"
      ],
      "screenshots": [
        "artifacts/screenshots/02-영업라인-변경이력-TA-history-scope.png"
      ],
      "traces": [
        "artifacts/traces/02-trace.zip"
      ],
      "logs": [
        "artifacts/logs/02-영업라인-변경이력-TA-history-scope-url.txt"
      ],
      "files": [],
      "role": "TA",
      "page": "영업라인 변경이력",
      "checklistItem": "권한 범위의 변경이력만 노출된다",
      "action": "TA 계정으로 영업라인 변경이력 목록을 조회하고 화면에 보이는 범위를 확인",
      "expected": "TA 계정에는 본인 권한 범위에 해당하는 변경이력만 보여야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3289/dev/access-history-permission.spec.ts / [3289][dev] 영업라인 변경이력 TA 접근 및 BO 엑셀 재검증 / [TA] role / 영업라인 변경이력 / 엑셀 다운로드 범위가 화면 노출 범위와 일치한다",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 12110,
      "evidence": [
        "artifacts/files/01-빅스페이먼츠_영업라인변경이력_20260527175657.xlsx",
        "artifacts/logs/03-영업라인-변경이력-TA-download-text.txt",
        "artifacts/traces/03-trace.zip"
      ],
      "screenshots": [],
      "traces": [
        "artifacts/traces/03-trace.zip"
      ],
      "logs": [
        "artifacts/logs/03-영업라인-변경이력-TA-download-text.txt"
      ],
      "files": [
        "artifacts/files/01-빅스페이먼츠_영업라인변경이력_20260527175657.xlsx"
      ],
      "role": "TA",
      "page": "영업라인 변경이력",
      "checklistItem": "TA/BO 계정에서 영업라인 변경이력 엑셀 다운로드 요청 후 다운로드 이력에서 생성 상태가 실패가 아닌 사용 가능 상태가 되는지 확인",
      "action": "TA 계정으로 영업라인 변경이력 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교",
      "expected": "TA 계정으로 받은 엑셀 파일은 화면에 보이는 범위와 같아야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3289/dev/access-history-permission.spec.ts / [3289][dev] 영업라인 변경이력 TA 접근 및 BO 엑셀 재검증 / [BO] role / 영업라인 변경이력 / 엑셀 다운로드 범위가 화면 노출 범위와 일치한다",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 11361,
      "evidence": [
        "artifacts/files/02-빅스페이먼츠_영업라인변경이력_20260527175709.xlsx",
        "artifacts/logs/04-영업라인-변경이력-BO-download-text.txt",
        "artifacts/traces/04-trace.zip"
      ],
      "screenshots": [],
      "traces": [
        "artifacts/traces/04-trace.zip"
      ],
      "logs": [
        "artifacts/logs/04-영업라인-변경이력-BO-download-text.txt"
      ],
      "files": [
        "artifacts/files/02-빅스페이먼츠_영업라인변경이력_20260527175709.xlsx"
      ],
      "role": "BO",
      "page": "영업라인 변경이력",
      "checklistItem": "TA/BO 계정에서 영업라인 변경이력 엑셀 다운로드 요청 후 다운로드 이력에서 생성 상태가 실패가 아닌 사용 가능 상태가 되는지 확인",
      "action": "BO 계정으로 영업라인 변경이력 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교",
      "expected": "BO 계정으로 받은 엑셀 파일은 화면에 보이는 범위와 같아야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    }
  ]
}
