{
  "scope": "Synthetic PromQL unit tests; expected vectors verified by real promtool",
  "promtool_version": "promtool, version 3.15.1 (branch: HEAD, revision: bae3eced0a5369e050e83ea73bc381d7c4b1a719)",
  "sample_times_seconds": [
    0,
    60,
    120
  ],
  "eval_time_seconds": 120,
  "range_seconds": 120,
  "rule_interval_seconds": 60,
  "queries": {
    "rate_then_sum": "60 * sum by (scenario) (rate(requests_total[2m]))",
    "sum_then_rate": "60 * rate(service:requests:raw_sum[2m])"
  },
  "verified_vector_values": 10,
  "empty_vector_assertions": 1,
  "cases": [
    {
      "scenario": "no_reset",
      "a": [
        100,
        100,
        110
      ],
      "b": [
        50,
        50,
        60
      ],
      "rate_then_sum_per_minute": 20,
      "sum_then_rate_per_minute": 20,
      "difference": 0
    },
    {
      "scenario": "visible_drop",
      "a": [
        100,
        100,
        110
      ],
      "b": [
        50,
        50,
        5
      ],
      "rate_then_sum_per_minute": 15,
      "sum_then_rate_per_minute": 115,
      "difference": 100
    },
    {
      "scenario": "hidden_drop",
      "a": [
        100,
        100,
        200
      ],
      "b": [
        50,
        50,
        5
      ],
      "rate_then_sum_per_minute": 105,
      "sum_then_rate_per_minute": 55,
      "difference": -50
    },
    {
      "scenario": "flat_sum",
      "a": [
        100,
        100,
        145
      ],
      "b": [
        50,
        50,
        5
      ],
      "rate_then_sum_per_minute": 50,
      "sum_then_rate_per_minute": 0,
      "difference": -50
    },
    {
      "scenario": "both_reset",
      "a": [
        100,
        100,
        2
      ],
      "b": [
        50,
        50,
        3
      ],
      "rate_then_sum_per_minute": 5.000000000000001,
      "sum_then_rate_per_minute": 5,
      "difference": -8.881784197001252e-16
    }
  ],
  "note": "Values below are explicit expectations confirmed by passing engine tests, not scraped production observations.",
  "process": {
    "check_rules_exit": 0,
    "test_rules_exit": 0
  },
  "exclusions": [
    "No live scraping",
    "No production traffic",
    "No recording-rule scheduling lag",
    "No native histogram, HA deduplication or out-of-order sample test"
  ]
}
