{
  "env": {
    "date": "2026-06-23T20:22:15",
    "endpoint": "https://obsidian.example.com",
    "commit": "af16598",
    "echo_workers": 8,
    "echo_timeout": 30,
    "python": "3.10.12",
    "iterations": null,
    "count_k": 50
  },
  "run_id": "20260623-202215-7b414f",
  "metrics": {
    "soak": {
      "result": {
        "seconds": 22,
        "iterations": 15,
        "errors": 0,
        "per_pass": {
          "n": 15,
          "min_ms": 1472.88,
          "median_ms": 1551.67,
          "p90_ms": 1648.45,
          "p95_ms": 1702.66,
          "max_ms": 1820.58,
          "mean_ms": 1569.81
        },
        "early_mean_ms": 1575.63,
        "late_mean_ms": 1564.72,
        "drift_ratio_late_over_early": 0.99
      },
      "gates": [
        {
          "rule": {
            "field": "errors",
            "op": "<=",
            "min": 0,
            "why": "no read errors across the soak window \u2014 connection leaks/pool exhaustion would surface here"
          },
          "value": 0,
          "pass": true
        },
        {
          "rule": {
            "field": "drift_ratio_late_over_early",
            "op": "<=",
            "min": 1.5,
            "why": "late passes must not be much slower than early ones; >1.5 suggests a leak or degrading pool"
          },
          "value": 0.99,
          "pass": true
        }
      ]
    }
  }
}