{
  "issueId": "4379",
  "environment": "dev",
  "generatedAt": "2026-10-27T01:03:51+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "4379",
    "environment": "dev",
    "generatedAt": "2026-10-26T12:39:00.286Z",
    "exitStatus": 0,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-10-26T12:37:56.960Z",
        "detail": {
          "issueId": "4379",
          "environment": "dev",
          "exitStatus": 0
        },
        "finishedAt": "2026-10-26T12:39:00.286Z",
        "durationMs": 63326,
        "status": "ok"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-10-26T12:37:56.961Z",
        "detail": {},
        "finishedAt": "2026-10-26T12:37:56.964Z",
        "durationMs": 3,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-10-26T12:37:56.964Z",
        "detail": {},
        "finishedAt": "2026-10-26T12:38:06.354Z",
        "durationMs": 9390,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/QA4379_ADMIN",
        "startedAt": "2026-10-26T12:37:56.965Z",
        "detail": {
          "application": "admin",
          "role": "QA4379_ADMIN",
          "businessRole": "ADMIN"
        },
        "finishedAt": "2026-10-26T12:38:02.803Z",
        "durationMs": 5838,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/QA4379_TA",
        "startedAt": "2026-10-26T12:37:56.971Z",
        "detail": {
          "application": "admin",
          "role": "QA4379_TA",
          "businessRole": "TA"
        },
        "finishedAt": "2026-10-26T12:38:01.999Z",
        "durationMs": 5028,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/QA4379_CO",
        "startedAt": "2026-10-26T12:38:01.999Z",
        "detail": {
          "application": "admin",
          "role": "QA4379_CO",
          "businessRole": "CO"
        },
        "finishedAt": "2026-10-26T12:38:06.353Z",
        "durationMs": 4354,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-10-26T12:38:06.354Z",
        "detail": {
          "command": "npx playwright test qa/issues/4379/dev --trace retain-on-failure",
          "exitStatus": 0
        },
        "finishedAt": "2026-10-26T12:39:00.286Z",
        "durationMs": 53932,
        "status": "ok"
      }
    ]
  },
  "summary": {
    "status": "PASS",
    "passed": 13,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 44614
  },
  "rows": [
    {
      "title": "4379/dev/00-account-preflight.spec.ts / admin/ADMIN supplied-account login preflight",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 3098,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "ADMIN",
      "page": "로그인",
      "checklistItem": "QA 사전 점검",
      "action": "admin/ADMIN supplied-account login preflight",
      "expected": "제공 계정과 개발계 설정을 읽기 전용으로 확인",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/00-account-preflight.spec.ts / admin/TA supplied-account login preflight",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 2705,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "TA",
      "page": "로그인",
      "checklistItem": "QA 사전 점검",
      "action": "admin/TA supplied-account login preflight",
      "expected": "제공 계정과 개발계 설정을 읽기 전용으로 확인",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/00-account-preflight.spec.ts / admin/CO supplied-account login preflight",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 2946,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "CO",
      "page": "로그인",
      "checklistItem": "QA 사전 점검",
      "action": "admin/CO supplied-account login preflight",
      "expected": "제공 계정과 개발계 설정을 읽기 전용으로 확인",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/00-account-preflight.spec.ts / admin/BO supplied-account login preflight",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 2828,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "BO",
      "page": "로그인",
      "checklistItem": "QA 사전 점검",
      "action": "admin/BO supplied-account login preflight",
      "expected": "제공 계정과 개발계 설정을 읽기 전용으로 확인",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/00-account-preflight.spec.ts / store/CO supplied-account login preflight",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 2886,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "CO",
      "page": "로그인",
      "checklistItem": "QA 사전 점검",
      "action": "store/CO supplied-account login preflight",
      "expected": "제공 계정과 개발계 설정을 읽기 전용으로 확인",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/00-account-preflight.spec.ts / store/BO supplied-account login preflight",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 2758,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "BO",
      "page": "로그인",
      "checklistItem": "QA 사전 점검",
      "action": "store/BO supplied-account login preflight",
      "expected": "제공 계정과 개발계 설정을 읽기 전용으로 확인",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/00-account-preflight.spec.ts / store/VE supplied-account login preflight",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 3261,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "VE",
      "page": "로그인",
      "checklistItem": "QA 사전 점검",
      "action": "store/VE supplied-account login preflight",
      "expected": "제공 계정과 개발계 설정을 읽기 전용으로 확인",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/03-create-form-guard.spec.ts / [CHECK-04] ADMIN creation requires a preset selection",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 4408,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "ADMIN",
      "page": "사용자 생성",
      "checklistItem": "[전산] 마스터와 사업장 사용자 생성 화면에서 프리셋을 선택하지 않으면 생성 버튼이 비활성화되는지 확인합니다.",
      "action": "[CHECK-04] ADMIN creation requires a preset selection",
      "expected": "[전산] 마스터와 사업장 사용자 생성 화면에서 프리셋을 선택하지 않으면 생성 버튼이 비활성화되는지 확인합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/03-create-form-guard.spec.ts / [CHECK-04] CO creation requires a preset selection",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 4435,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "CO",
      "page": "사용자 생성",
      "checklistItem": "[전산] 마스터와 사업장 사용자 생성 화면에서 프리셋을 선택하지 않으면 생성 버튼이 비활성화되는지 확인합니다.",
      "action": "[CHECK-04] CO creation requires a preset selection",
      "expected": "[전산] 마스터와 사업장 사용자 생성 화면에서 프리셋을 선택하지 않으면 생성 버튼이 비활성화되는지 확인합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/06-ve-device-policy-priority.spec.ts / VE missing-preset guide takes priority while device registration is enabled",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 2,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "VE",
      "page": "계정·프리셋 조회",
      "checklistItem": "QA 사전 점검",
      "action": "VE missing-preset guide takes priority while device registration is enabled",
      "expected": "제공 계정과 개발계 설정을 읽기 전용으로 확인",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/08-all-roles-missing-preset.spec.ts / [CHECK-01] ADMIN/TA/CO/BO missing-preset guide appears before second factor",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 5175,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "ADMIN/TA/CO/BO",
      "page": "로그인",
      "checklistItem": "[전산] 프리셋 미지정 계정 로그인 시 아이디·비밀번호 제출 직후 권한 설정 안내가 표시되고 2차 인증·기기 등록으로 이동하지 않는지 확인합니다.",
      "action": "[CHECK-01] ADMIN/TA/CO/BO missing-preset guide appears before second factor",
      "expected": "[전산] 프리셋 미지정 계정 로그인 시 아이디·비밀번호 제출 직후 권한 설정 안내가 표시되고 2차 인증·기기 등록으로 이동하지 않는지 확인합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/08-all-roles-missing-preset.spec.ts / [CHECK-02] CO/BO/VE missing-preset guide appears before second factor",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 2672,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "CO/BO/VE",
      "page": "로그인",
      "checklistItem": "[비스킷페이] 프리셋 미지정 계정 로그인 시 동일한 안내가 표시되고 내부 서버 오류·기기 등록 안내로 오인하지 않는지 확인합니다.",
      "action": "[CHECK-02] CO/BO/VE missing-preset guide appears before second factor",
      "expected": "[비스킷페이] 프리셋 미지정 계정 로그인 시 동일한 안내가 표시되고 내부 서버 오류·기기 등록 안내로 오인하지 않는지 확인합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4379/dev/08-all-roles-missing-preset.spec.ts / [CHECK-03] CO/BO/VE missing-preset guide persists after browser restart",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 6209,
      "evidence": [],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "CO/BO/VE",
      "page": "로그인",
      "checklistItem": "[비스킷페이] 브라우저를 새로 열고 다시 로그인해도 동일한 권한 설정 안내가 표시되는지 확인합니다.",
      "action": "[CHECK-03] CO/BO/VE missing-preset guide persists after browser restart",
      "expected": "[비스킷페이] 브라우저를 새로 열고 다시 로그인해도 동일한 권한 설정 안내가 표시되는지 확인합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    }
  ]
}
