{
  "issueId": "4240",
  "environment": "dev",
  "generatedAt": "2026-10-06T09:37:47+09:00",
  "sourceResult": "qa-results redacted from tracked output",
  "timings": {
    "issueId": "4240",
    "environment": "dev",
    "generatedAt": "2026-10-06T00:37:09.206Z",
    "exitStatus": 0,
    "timings": [
      {
        "name": "qa:run",
        "startedAt": "2026-10-06T00:35:58.126Z",
        "detail": {
          "issueId": "4240",
          "environment": "dev",
          "exitStatus": 0
        },
        "finishedAt": "2026-10-06T00:37:09.206Z",
        "durationMs": 71080,
        "status": "ok"
      },
      {
        "name": "prepare-results",
        "startedAt": "2026-10-06T00:35:58.127Z",
        "detail": {},
        "finishedAt": "2026-10-06T00:35:58.128Z",
        "durationMs": 1,
        "status": "ok"
      },
      {
        "name": "auth-refresh",
        "startedAt": "2026-10-06T00:35:58.128Z",
        "detail": {},
        "finishedAt": "2026-10-06T00:36:27.212Z",
        "durationMs": 29084,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/ADMIN",
        "startedAt": "2026-10-06T00:35:58.129Z",
        "detail": {
          "application": "admin",
          "role": "ADMIN",
          "businessRole": "ADMIN"
        },
        "finishedAt": "2026-10-06T00:36:10.632Z",
        "durationMs": 12503,
        "status": "ok"
      },
      {
        "name": "auth-refresh:admin/dev/BO",
        "startedAt": "2026-10-06T00:36:10.632Z",
        "detail": {
          "application": "admin",
          "role": "BO",
          "businessRole": "BO"
        },
        "finishedAt": "2026-10-06T00:36:27.212Z",
        "durationMs": 16580,
        "status": "ok"
      },
      {
        "name": "playwright",
        "startedAt": "2026-10-06T00:36:27.212Z",
        "detail": {
          "command": "npx playwright test qa/issues/4240/dev --trace retain-on-failure",
          "exitStatus": 0
        },
        "finishedAt": "2026-10-06T00:37:09.206Z",
        "durationMs": 41994,
        "status": "ok"
      }
    ]
  },
  "summary": {
    "status": "PASS",
    "passed": 3,
    "failed": 0,
    "skipped": 0,
    "blocked": 0,
    "flaky": 0,
    "durationMs": 41464
  },
  "rows": [
    {
      "title": "4240/dev/branch-profit-bo-subtree.spec.ts / [4240][dev] QA checklist for #4240 / [BO] 영업점 기준 수익 집계 / 2026-07-01 ~ 2026-10-31 본인 + 하위 영업점 목록",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 17730,
      "evidence": [
        "artifacts/screenshots/01-BO-branch-profit-list.png",
        "artifacts/logs/01-BO-branch-profit-list.md"
      ],
      "screenshots": [
        "artifacts/screenshots/01-BO-branch-profit-list.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/01-BO-branch-profit-list.md"
      ],
      "files": [],
      "role": "BO - 영업점 기준 수익 집계",
      "page": "[BO] 영업점 기준 수익 집계",
      "checklistItem": "2026-07-01 ~ 2026-10-31 본인 + 하위 영업점 목록",
      "action": "BO - 영업점 기준 수익 집계 계정으로 [BO] 영업점 기준 수익 집계 항목을 확인",
      "expected": "BO - 영업점 기준 수익 집계 계정에서 [BO] 영업점 기준 수익 집계 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4240/dev/branch-profit-bo-subtree.spec.ts / [4240][dev] QA checklist for #4240 / [BO] 영업점 기준 수익 집계 / 월별(7~10월) 본인 + 하위 영업점 목록",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 6213,
      "evidence": [
        "artifacts/logs/02-BO-branch-profit-monthly.md"
      ],
      "screenshots": [],
      "traces": [],
      "logs": [
        "artifacts/logs/02-BO-branch-profit-monthly.md"
      ],
      "files": [],
      "role": "BO - 영업점 기준 수익 집계",
      "page": "[BO] 영업점 기준 수익 집계",
      "checklistItem": "월별(7~10월) 본인 + 하위 영업점 목록",
      "action": "BO - 영업점 기준 수익 집계 계정으로 [BO] 영업점 기준 수익 집계 항목을 확인",
      "expected": "BO - 영업점 기준 수익 집계 계정에서 [BO] 영업점 기준 수익 집계 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    },
    {
      "title": "4240/dev/branch-profit-bo-subtree.spec.ts / [4240][dev] QA checklist for #4240 / [BO] 영업점 기준 수익 집계 / 하위 영업점 가맹점 상세보기",
      "status": "PASS",
      "statusText": "통과",
      "durationMs": 17055,
      "evidence": [
        "artifacts/screenshots/02-BO-child-detail.png",
        "artifacts/logs/03-BO-child-detail.md"
      ],
      "screenshots": [
        "artifacts/screenshots/02-BO-child-detail.png"
      ],
      "traces": [],
      "logs": [
        "artifacts/logs/03-BO-child-detail.md"
      ],
      "files": [],
      "role": "BO - 영업점 기준 수익 집계",
      "page": "[BO] 영업점 기준 수익 집계",
      "checklistItem": "하위 영업점 행의 가맹점 상세보기 조회 가능 (같은 수정 범위 회귀)",
      "action": "BO - 영업점 기준 수익 집계 계정으로 [BO] 영업점 기준 수익 집계 항목을 확인",
      "expected": "BO - 영업점 기준 수익 집계 계정에서 [BO] 영업점 기준 수익 집계 확인 결과가 체크리스트와 일치해야 합니다.",
      "actual": "기대한 동작과 일치했습니다.",
      "error": "",
      "failureCategory": "none",
      "failureCategoryText": "문제 없음",
      "reproduction": {
        "required": false,
        "reason": "정상 확인된 항목입니다.",
        "debugCommand": "",
        "notifyMessage": "",
        "manualSteps": []
      }
    }
  ]
}
