[
  {
    "pr_id": "pr_001",
    "service_raw": "결제 서비스",
    "service_id": "pay-core",
    "lang": "Java",
    "rule_id": "api_backward_incompat",
    "rule_hit": true,
    "grounded": true,
    "severity": "block",
    "has_ticket_link": true,
    "label": "block",
    "ts": "2026-05-04T09:00"
  },
  {
    "pr_id": "pr_002",
    "service_raw": "정산 서비스",
    "service_id": "settle",
    "lang": "Kotlin",
    "rule_id": "tx_boundary_violation",
    "rule_hit": true,
    "grounded": true,
    "severity": "block",
    "has_ticket_link": true,
    "label": "block",
    "ts": "2026-05-04T10:00"
  },
  {
    "pr_id": "pr_003",
    "service_raw": "결제 서비스",
    "service_id": "pay-core",
    "lang": "Java",
    "rule_id": "missing_audit_log",
    "rule_hit": true,
    "grounded": true,
    "severity": "warn",
    "has_ticket_link": true,
    "label": "needs_review",
    "ts": "2026-05-04T11:00"
  },
  {
    "pr_id": "pr_004",
    "service_raw": "결제서비스",
    "service_id": "pay-core",
    "lang": "Kotlin",
    "rule_id": "swallowed_exception",
    "rule_hit": true,
    "grounded": true,
    "severity": "warn",
    "has_ticket_link": false,
    "label": "needs_review",
    "ts": "2026-05-04T12:00"
  },
  {
    "pr_id": "pr_005",
    "service_raw": "송금 서비스",
    "service_id": null,
    "lang": "Java",
    "rule_id": "none",
    "rule_hit": false,
    "grounded": true,
    "severity": null,
    "has_ticket_link": true,
    "label": "needs_review",
    "ts": "2026-05-04T13:00"
  },
  {
    "pr_id": "pr_006",
    "service_raw": "결제 서비스",
    "service_id": "pay-core",
    "lang": "Java",
    "rule_id": "n_plus_one_query",
    "rule_hit": true,
    "grounded": false,
    "severity": "warn",
    "has_ticket_link": true,
    "label": "needs_review",
    "ts": "2026-05-04T14:00"
  },
  {
    "pr_id": "pr_007",
    "service_raw": "쿠폰 서비스",
    "service_id": "coupon",
    "lang": "Kotlin",
    "rule_id": "none",
    "rule_hit": false,
    "grounded": true,
    "severity": null,
    "has_ticket_link": true,
    "label": "approve_candidate",
    "ts": "2026-05-04T15:00"
  },
  {
    "pr_id": "pr_008",
    "service_raw": "결제 서비스",
    "service_id": "pay-core",
    "lang": "Java",
    "rule_id": "api_backward_incompat",
    "rule_hit": true,
    "grounded": true,
    "severity": "block",
    "has_ticket_link": false,
    "label": "block",
    "ts": "2026-05-05T09:00"
  },
  {
    "pr_id": "pr_009",
    "service_raw": "정 산 서비스",
    "service_id": "settle",
    "lang": "Kotlin",
    "rule_id": "none",
    "rule_hit": false,
    "grounded": true,
    "severity": null,
    "has_ticket_link": true,
    "label": "approve_candidate",
    "ts": "2026-05-05T10:00"
  },
  {
    "pr_id": "pr_010",
    "service_raw": "결제 서비스",
    "service_id": "pay-core",
    "lang": "Java",
    "rule_id": "swallowed_exception",
    "rule_hit": true,
    "grounded": true,
    "severity": "info",
    "has_ticket_link": true,
    "label": "needs_review",
    "ts": "2026-05-05T11:00"
  },
  {
    "pr_id": "pr_011",
    "service_raw": "포인트 서비스",
    "service_id": "point",
    "lang": "Kotlin",
    "rule_id": "none",
    "rule_hit": false,
    "grounded": true,
    "severity": null,
    "has_ticket_link": true,
    "label": "approve_candidate",
    "ts": "2026-05-05T12:00"
  }
]