{
  "issueId": "4144",
  "environment": "dev",
  "generatedAt": "2026-09-18T19:00:00+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "4144",
    "environment": "dev",
    "generatedAt": "2026-09-18T08:22:51.216Z",
    "exitStatus": 0,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-09-18T08:19:46.495Z",
        "detail": {
          "issueId": "4144",
          "environment": "dev",
          "exitStatus": 0
        },
        "finishedAt": "2026-09-18T08:22:51.216Z",
        "durationMs": 184721,
        "status": "ok"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-09-18T08:19:46.496Z",
        "detail": {},
        "finishedAt": "2026-09-18T08:19:46.499Z",
        "durationMs": 3,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-09-18T08:19:46.499Z",
        "detail": {},
        "finishedAt": "2026-09-18T08:20:03.549Z",
        "durationMs": 17050,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/QA4144_ADMIN",
        "startedAt": "2026-09-18T08:19:46.500Z",
        "detail": {
          "application": "admin",
          "role": "QA4144_ADMIN",
          "businessRole": "ADMIN"
        },
        "finishedAt": "2026-09-18T08:19:55.160Z",
        "durationMs": 8660,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/QA4144_TA",
        "startedAt": "2026-09-18T08:19:46.505Z",
        "detail": {
          "application": "admin",
          "role": "QA4144_TA",
          "businessRole": "TA"
        },
        "finishedAt": "2026-09-18T08:19:56.200Z",
        "durationMs": 9695,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-09-18T08:20:03.549Z",
        "detail": {
          "command": "npx playwright test qa/issues/4144/dev --trace retain-on-failure --grep ADMIN 정책 상속",
          "exitStatus": 0
        },
        "finishedAt": "2026-09-18T08:22:51.216Z",
        "durationMs": 167667,
        "status": "ok"
      }
    ]
  },
  "summary": {
    "status": "PASS",
    "passed": 21,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 350684,
    "checklistTotal": 21,
    "automatedScenariosPassed": 4
  },
  "rows": [
    {
      "title": "4144/dev/00-admin-custom-settlement-setup.spec.ts / [4144][dev] 커스텀 정산 일정 / ADMIN 정책 상속·예외·일정 0건·미지급 이동·취소·OFF 복귀",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 166486,
      "evidence": [
        "artifacts/screenshots/01-department-policy-final.png"
      ],
      "screenshots": [
        "artifacts/screenshots/01-department-policy-final.png"
      ],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "전체",
      "page": "[4144][dev] 커스텀 정산 일정",
      "checklistItem": "ADMIN 정책 상속·예외·일정 0건·미지급 이동·취소·OFF 복귀",
      "action": "전체 계정으로 [4144][dev] 커스텀 정산 일정 항목을 확인",
      "expected": "전체 계정에서 [4144][dev] 커스텀 정산 일정 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4144/dev/01-custom-settlement-boundary.spec.ts / 시작 포함·종료 제외 실시간 경계",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 121267,
      "evidence": ["artifacts/qa4144-boundary-evidence.json"],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "ADMIN",
      "page": "거래·정산내역",
      "checklistItem": "제한 시작 포함·종료 제외와 종료 후 기존 흐름 복귀",
      "action": "I+0 승인을 제한기간 안과 종료 후에 각각 생성",
      "expected": "제한기간 안 거래만 대체시각으로 연기되고 종료 후 거래는 기존 흐름으로 복귀해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {"required": false, "reason": "정상 확인된 항목입니다.", "debugCommand": "", "notifyMessage": "", "manualSteps": []}
    },
    {
      "title": "4144/dev/02-redmine-mandatory-coverage.spec.ts / 기존 20개 MID 주기와 테넌트 정산 기준 인벤토리",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 15188,
      "evidence": ["artifacts/qa4144-redmine-inventory.json"],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "ADMIN",
      "page": "거래·정산내역",
      "checklistItem": "20개 MID 전체 정산주기와 주말이체 조합",
      "action": "OFF/ON 거래 40건과 가맹 상세 설정을 대조",
      "expected": "기존 예정일이 제한기간 안인 거래만 대체일로 치환되어야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {"required": false, "reason": "정상 확인된 항목입니다.", "debugCommand": "", "notifyMessage": "", "manualSteps": []}
    },
    {
      "title": "4144/dev/02-redmine-mandatory-coverage.spec.ts / 거래일·통보일, 중복, 부분취소, 합산, 이동 재검증",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 47743,
      "evidence": ["artifacts/qa4144-redmine-mandatory-evidence.json", "artifacts/qa4144-backend-regression-evidence.json"],
      "screenshots": [],
      "traces": [],
      "logs": [],
      "files": [],
      "role": "ADMIN",
      "page": "API·거래·정산내역",
      "checklistItem": "Redmine 필수 추가 매트릭스",
      "action": "독립 승인·부분취소·합산·이동 요청과 백엔드 회귀를 검증",
      "expected": "날짜 기준, 중복 방지, 금액 보존, 상태 재검증과 멱등성이 모두 충족되어야 합니다.",
      "actual": "기대한 동작과 일치했고 백엔드 테스트 14건도 통과했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {"required": false, "reason": "정상 확인된 항목입니다.", "debugCommand": "", "notifyMessage": "", "manualSteps": []}
    }
  ]
}
