{
  "issueId": "3839",
  "environment": "dev",
  "generatedAt": "2026-07-22T21:56:44+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "3839",
    "environment": "dev",
    "generatedAt": "2026-07-22T12:54:12.347Z",
    "exitStatus": 1,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-07-22T12:52:24.909Z",
        "detail": {
          "issueId": "3839",
          "environment": "dev",
          "exitStatus": 1
        },
        "finishedAt": "2026-07-22T12:54:12.347Z",
        "durationMs": 107438,
        "status": "failed"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-07-22T12:52:24.910Z",
        "detail": {},
        "finishedAt": "2026-07-22T12:52:24.913Z",
        "durationMs": 3,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-07-22T12:52:24.913Z",
        "detail": {},
        "finishedAt": "2026-07-22T12:52:31.080Z",
        "durationMs": 6167,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/ADMIN",
        "startedAt": "2026-07-22T12:52:24.913Z",
        "detail": {
          "application": "admin",
          "role": "ADMIN",
          "businessRole": "ADMIN"
        },
        "finishedAt": "2026-07-22T12:52:27.966Z",
        "durationMs": 3053,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/TA",
        "startedAt": "2026-07-22T12:52:24.917Z",
        "detail": {
          "application": "admin",
          "role": "TA",
          "businessRole": "TA"
        },
        "finishedAt": "2026-07-22T12:52:28.572Z",
        "durationMs": 3655,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/CO_TEST_GJ",
        "startedAt": "2026-07-22T12:52:27.966Z",
        "detail": {
          "application": "admin",
          "role": "CO_TEST_GJ",
          "businessRole": "CO"
        },
        "finishedAt": "2026-07-22T12:52:31.079Z",
        "durationMs": 3113,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-07-22T12:52:31.080Z",
        "detail": {
          "command": "npx playwright test qa/issues/3839/dev --trace retain-on-failure",
          "exitStatus": 1
        },
        "finishedAt": "2026-07-22T12:54:12.347Z",
        "durationMs": 101267,
        "status": "failed"
      }
    ]
  },
  "summary": {
    "status": "FAIL",
    "passed": 7,
    "failed": 1,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 100811
  },
  "rows": [
    {
      "title": "3839/dev/user-preset-bulk-department-admin.spec.ts / [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 / ADMIN 사용자 목록에서 선택 전/후 프리셋 일괄 변경 버튼 활성화 상태와 동일/상이 role 선택 제한 메시지를 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 21284,
      "evidence": [
        "artifacts/logs/01-계정관리-ADMIN-bulk-preset-button-state.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/01-계정관리-ADMIN-bulk-preset-button-state.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증",
      "checklistItem": "ADMIN 사용자 목록에서 선택 전/후 프리셋 일괄 변경 버튼 활성화 상태와 동일/상이 role 선택 제한 메시지를 확인",
      "action": "전체 계정으로 [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 항목을 확인",
      "expected": "전체 계정에서 [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3839/dev/user-preset-bulk-department-admin.spec.ts / [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 / ADMIN 계정으로 ADMIN/TA/CO/BO/VE 대상 사용자의 role별 프리셋 후보와 변경 후 목록 프리셋명 표시를 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 8573,
      "evidence": [
        "artifacts/logs/02-계정관리-ADMIN-admin-role-preset-candidates.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/02-계정관리-ADMIN-admin-role-preset-candidates.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증",
      "checklistItem": "ADMIN 계정으로 ADMIN/TA/CO/BO/VE 대상 사용자의 role별 프리셋 후보와 변경 후 목록 프리셋명 표시를 확인",
      "action": "이번 QA 실행 대상 role이 ADMIN과 TA로 제한되어 있는지 확인",
      "expected": "이번 QA는 ADMIN과 TA만 실행하고 CO/BO/VE는 결과 대상에서 제외해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3839/dev/user-preset-bulk-department-admin.spec.ts / [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 / TA 계정으로 TA 본인 제한, 관리 범위 내 CO/BO/VE 프리셋 후보, 노출 범위 필터링, 변경 후 프리셋명 표시를 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 15117,
      "evidence": [
        "artifacts/logs/03-업체관리-사용자-TA-ta-preset-scope.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/03-업체관리-사용자-TA-ta-preset-scope.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증",
      "checklistItem": "TA 계정으로 TA 본인 제한, 관리 범위 내 CO/BO/VE 프리셋 후보, 노출 범위 필터링, 변경 후 프리셋명 표시를 확인",
      "action": "이번 QA 실행 대상 role이 ADMIN과 TA로 제한되어 있는지 확인",
      "expected": "이번 QA는 ADMIN과 TA만 실행하고 CO/BO/VE는 결과 대상에서 제외해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3839/dev/user-preset-bulk-department-admin.spec.ts / [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 / CO 계정(co_test_gj)으로 CO 본인 제한, BO/VE 프리셋 후보, 노출 범위 필터링, 변경 후 프리셋명 표시를 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 14770,
      "evidence": [
        "artifacts/logs/04-업체관리-사용자-CO_TEST_GJ-co-preset-scope.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/04-업체관리-사용자-CO_TEST_GJ-co-preset-scope.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증",
      "checklistItem": "CO 계정(co_test_gj)으로 CO 본인 제한, BO/VE 프리셋 후보, 노출 범위 필터링, 변경 후 프리셋명 표시를 확인",
      "action": "전체 계정으로 [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 항목을 확인",
      "expected": "전체 계정에서 [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3839/dev/user-preset-bulk-department-admin.spec.ts / [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 / ADMIN/TA/CO 권한별 사용자 활성화·비활성화 버튼 노출과 자기 자신 비활성화 제한을 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 4712,
      "evidence": [
        "artifacts/logs/05-계정-사용자-관리-ADMIN_TA_CO-user-state-controls.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/05-계정-사용자-관리-ADMIN_TA_CO-user-state-controls.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증",
      "checklistItem": "ADMIN/TA/CO 권한별 사용자 활성화·비활성화 버튼 노출과 자기 자신 비활성화 제한을 확인",
      "action": "전체 계정으로 [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 항목을 확인",
      "expected": "전체 계정에서 [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3839/dev/user-preset-bulk-department-admin.spec.ts / [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 / 총판/영업점/가맹점 생성·수정 화면의 사업자 구분 항목과 설정 안 함/비사업자/개인사업자/법인사업자 옵션을 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 5103,
      "evidence": [
        "artifacts/logs/06-업체관리-ADMIN-department-business-type.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/06-업체관리-ADMIN-department-business-type.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증",
      "checklistItem": "총판/영업점/가맹점 생성·수정 화면의 사업자 구분 항목과 설정 안 함/비사업자/개인사업자/법인사업자 옵션을 확인",
      "action": "전체 계정으로 [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 항목을 확인",
      "expected": "전체 계정에서 [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3839/dev/user-preset-bulk-department-admin.spec.ts / [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 / 총판/영업점/가맹점 변경 이력에서 사업자 구분 변경 전/후 값 표시와 미변경 시 불필요 이력 미생성을 확인 / 총판/영업점/가맹점 등록일시 오름차순·내림차순 정렬과 방향 변경 시 즉시 갱신을 확인 / 총판/영업점/가맹점 수정 모달의 비고란 위치, 기존 값 표시, 수정 후 유지, 다른 정보 수정 시 유지 여부를 확인",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 7090,
      "evidence": [
        "artifacts/logs/07-업체관리-ADMIN-department-history-sort-remark.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/07-업체관리-ADMIN-department-history-sort-remark.md"
      ],
      "files": [],
      "role": "전체",
      "page": "총판/영업점/가맹점 등록일시 오름차순·내림차순 정렬과 방향 변경 시 즉시 갱신을 확인",
      "checklistItem": "총판/영업점/가맹점 수정 모달의 비고란 위치, 기존 값 표시, 수정 후 유지, 다른 정보 수정 시 유지 여부를 확인",
      "action": "전체 계정으로 총판/영업점/가맹점 등록일시 오름차순·내림차순 정렬과 방향 변경 시 즉시 갱신을 확인 항목을 확인",
      "expected": "전체 계정에서 총판/영업점/가맹점 등록일시 오름차순·내림차순 정렬과 방향 변경 시 즉시 갱신을 확인 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "3839/dev/user-preset-bulk-department-admin.spec.ts / [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 / 총판/영업점/가맹점 엑셀 다운로드 파일의 사업자 구분 컬럼/값과 그대로 업로드 후 대상 데이터 유지 여부를 확인",
      "status": "FAIL",
      "statusText": "실패",
      "durationMs": 23393,
      "evidence": [
        "artifacts/screenshots/01-screenshot.png",
        "artifacts/logs/08-error-context.md",
        "artifacts/traces/01-trace.zip"
      ],
      "screenshots": [
        "artifacts/screenshots/01-screenshot.png"
      ],
      "traces": [
        "artifacts/traces/01-trace.zip"
      ],
      "logs": [
        "artifacts/logs/08-error-context.md"
      ],
      "files": [],
      "role": "전체",
      "page": "[3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증",
      "checklistItem": "총판/영업점/가맹점 엑셀 다운로드 파일의 사업자 구분 컬럼/값과 그대로 업로드 후 대상 데이터 유지 여부를 확인",
      "action": "전체 계정으로 [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교",
      "expected": "전체 계정으로 받은 엑셀 파일은 화면에 보이는 범위와 같아야 합니다.",
      "actual": "기대한 동작과 달랐습니다: Error: 총판관리 엑셀 다운로드 이벤트 또는 파일 응답이 발생하지 않았습니다.",
      "error": "Error: 총판관리 엑셀 다운로드 이벤트 또는 파일 응답이 발생하지 않았습니다.",
      "failureCategory": "unknown",
      "failureCategoryText": "원인 확인 필요",
      "reproduction": {
        "required": true,
        "reason": "자동화 결과만으로 원인을 확정하기 어려워 화면 기준 확인이 필요합니다.",
        "debugCommand": "npm run qa:debug -- --issue \"3839\" --env \"dev\" --role \"전체\" --case \"총판/영업점/가맹점 엑셀 다운로드 파일의 사업자 구분 컬럼/값과 그대로 업로드 후 대상 데이터 유지 여부를 확인\"",
        "notifyMessage": "[QA 확인 요청] 전체 / [3839][dev] [QA] 역할별 사용자 프리셋 일괄 변경 및 부서 관리 검증 / 총판/영업점/가맹점 엑셀 다운로드 파일의 사업자 구분 컬럼/값과 그대로 업로드 후 대상 데이터 유지 여부를 확인: 원인 확인 필요 상태입니다. npm run qa:debug -- --issue \"3839\" --env \"dev\" --role \"전체\" --case \"총판/영업점/가맹점 엑셀 다운로드 파일의 사업자 구분 컬럼/값과 그대로 업로드 후 대상 데이터 유지 여부를 확인\" 로 동일 계정과 항목을 다시 열어 확인하세요.",
        "manualSteps": [
          "작업자가 위 명령을 실행하면 대상 계정의 로그인 세션을 새로 만든 뒤 브라우저가 열립니다.",
          "브라우저에서 자동화가 멈춘 화면, 현재 URL, 화면 문구, 다운로드 알림 또는 문서보관함 상태를 확인합니다.",
          "확인한 화면과 필요한 조치 내용을 Redmine/GitHub QA 이슈에 남깁니다."
        ]
      }
    }
  ]
}
