{
  "schema": 1,
  "generated_at": "2026-11-08T18:48:38Z",
  "site_sha": "0532778bcb777578f7a57677958e54f294c670d4",
  "build_id": "42509356445.1",
  "routes": {
    "checked_at": "2026-11-08T18:48:38Z",
    "cached": false,
    "fetch": "ok",
    "observed_at": "2026-11-08T17:51:56Z",
    "sources": [
      "https://github.com/roundhouse-rb/roundhouse/blob/main/bench/lobsters/declared-gaps.json"
    ],
    "data": {
      "entries": [
        {
          "route": "/hottest",
          "since": "2026-08-03",
          "owner": "roundhouse",
          "reason": "this snapshot's Story#as_json serializes a nested record (`submitter_user: user`), which the render-json monomorphizer declines, so the emit answers this route with its html arm",
          "detail": "config/routes.rb pins `get \"/hottest\" => \"home#index\", :format => \"json\"`, so Rails serves JSON here and the AOT lane serves the HTML page. The respond_to flattening ledgers the dropped arm as a lower_residue warning (src/lower/controller/body.rs). Current upstream lobsters, whose Story#as_json writes `submitter_user: user.username`, is monomorphized end to end (src/lower/as_json_poro.rs, as_json_writer.rs).",
          "closes_with": "nested-record encoding: Story's writer calling User's, where User#as_json is the attrs + super(only:) idiom with four row-dependent keys, a pluck, and keybase_signatures (an Array of Hashes, which needs its own encoding)",
          "status": "in progress"
        },
        {
          "route": "/u/:username",
          "since": "2026-08-03",
          "owner": "roundhouse",
          "reason": "Markdowner.to_html is a raising facade -- the AOT tree ships no CommonMark renderer",
          "detail": "User#linkified_about renders markdown at REQUEST time, so unlike the markeddown_* columns it cannot be precomputed. The facade raises rather than returning wrong HTML, which is why this route answers 500 instead of a wrong 200.",
          "closes_with": "a Commonmarker/Markly facade over an iterative Node#walk plus the DOM surgery Markdowner does (h1-h6 to strong, images to links, rel=ugc, @mention linkifier); scripts/markly-conformance already carries vectors generated from the real gem",
          "status": "not started"
        }
      ]
    }
  },
  "release": {
    "checked_at": "2026-11-08T18:48:38Z",
    "cached": false,
    "fetch": "ok",
    "observed_at": null,
    "sources": [
      "RELEASES.md"
    ],
    "data": {
      "latest": "2026.9.18"
    }
  },
  "specs": {
    "checked_at": "2026-11-08T18:48:38Z",
    "cached": false,
    "fetch": "missing",
    "error": "bench/lobsters-specs/summary.json isn't in this publication",
    "observed_at": null,
    "data": null
  },
  "replay": {
    "checked_at": "2026-11-08T18:48:38Z",
    "cached": false,
    "fetch": "ok",
    "observed_at": "2026-11-08T10:17:42Z",
    "sources": [
      "https://roundbench.showcase.party/lobsters/matrix.json"
    ],
    "data": {
      "workload": "frozen 114-visit sequence, in-memory, in-process, single-threaded",
      "lanes": [
        {
          "id": "rails",
          "label": "Rails",
          "kind": "rails",
          "runtime": "cruby",
          "jit": "YJIT",
          "state": "skipped",
          "stage": "bundle",
          "detail": "bundle not installable in ruby-bench/benchmarks/lobsters"
        },
        {
          "id": "rails-int",
          "label": "Rails",
          "kind": "rails",
          "runtime": "cruby",
          "jit": "no JIT",
          "state": "skipped",
          "stage": "bundle",
          "detail": "bundle not installable in ruby-bench/benchmarks/lobsters"
        },
        {
          "id": "ruby",
          "label": "Roundhouse",
          "kind": "emit",
          "runtime": "cruby",
          "jit": "YJIT",
          "state": "failed",
          "stage": "replay",
          "detail": "roundhouse: ingest ruby-bench/benchmarks/lobsters: unsupported construct in ruby-bench/benchmarks/lobsters/config/application.rb: config.load_defaults must name a literal version to determine JSON es…"
        },
        {
          "id": "ruby-int",
          "label": "Roundhouse",
          "kind": "emit",
          "runtime": "cruby",
          "jit": "no JIT",
          "state": "failed",
          "stage": "replay",
          "detail": "roundhouse: ingest ruby-bench/benchmarks/lobsters: unsupported construct in ruby-bench/benchmarks/lobsters/config/application.rb: config.load_defaults must name a literal version to determine JSON es…"
        },
        {
          "id": "spinel",
          "label": "Roundhouse",
          "kind": "emit",
          "runtime": "spinel",
          "jit": "AOT",
          "state": "failed",
          "stage": "emit",
          "detail": "roundhouse: ingest ruby-bench/benchmarks/lobsters: unsupported construct in ruby-bench/benchmarks/lobsters/config/application.rb: config.load_defaults must name a literal version to determine JSON es…"
        },
        {
          "id": "futamura",
          "label": "Futamura",
          "kind": "futamura",
          "runtime": "cruby",
          "jit": "YJIT",
          "state": "skipped",
          "stage": "bundle",
          "detail": "bundle not installable in ruby-bench/benchmarks/lobsters"
        }
      ]
    }
  },
  "archives": {
    "checked_at": "2026-11-08T18:48:38Z",
    "cached": false,
    "fetch": "ok",
    "observed_at": "2026-11-08T18:18:41Z",
    "sources": [
      "https://roundhouse-rb.dev/ci/archive-results.json"
    ],
    "data": {
      "run_id": "42509356445",
      "attempt": 1,
      "source_sha": "0532778bcb777578f7a57677958e54f294c670d4",
      "run": {
        "url": "https://github.com/roundhouse-rb/roundhouse/actions/runs/42509356445",
        "created_at": "2026-11-08T18:18:41Z",
        "attempt": 1,
        "conclusion": null
      },
      "rows": [
        {
          "path": "browse/blog.tgz",
          "check": null,
          "status": "not-selected",
          "reason": null,
          "harness_outcome": null,
          "selected": false,
          "validation_attempt": null,
          "size": 43603
        },
        {
          "path": "browse/crystal.tgz",
          "check": "smoke-crystal",
          "status": "not-selected",
          "reason": null,
          "harness_outcome": "success",
          "selected": false,
          "validation_attempt": 1,
          "size": 120768
        },
        {
          "path": "browse/csharp.tgz",
          "check": "smoke-csharp",
          "status": "not-selected",
          "reason": null,
          "harness_outcome": "success",
          "selected": false,
          "validation_attempt": 1,
          "size": 114768
        },
        {
          "path": "browse/elixir.tgz",
          "check": "smoke-elixir",
          "status": "not-selected",
          "reason": null,
          "harness_outcome": "success",
          "selected": false,
          "validation_attempt": 1,
          "size": 117221
        },
        {
          "path": "browse/futamura.tgz",
          "check": null,
          "status": "not-selected",
          "reason": null,
          "harness_outcome": null,
          "selected": false,
          "validation_attempt": null,
          "size": 45285
        },
        {
          "path": "browse/go.tgz",
          "check": "smoke-go",
          "status": "not-selected",
          "reason": null,
          "harness_outcome": "success",
          "selected": false,
          "validation_attempt": 1,
          "size": 121903
        },
        {
          "path": "browse/jruby.tgz",
          "check": "smoke-jruby",
          "status": "passed",
          "reason": null,
          "harness_outcome": "success",
          "selected": true,
          "validation_attempt": 1,
          "size": 879542
        },
        {
          "path": "browse/kotlin.tgz",
          "check": "smoke-kotlin",
          "status": "not-selected",
          "reason": null,
          "harness_outcome": "success",
          "selected": false,
          "validation_attempt": 1,
          "size": 109357
        },
        {
          "path": "browse/python.tgz",
          "check": "smoke-python",
          "status": "not-selected",
          "reason": null,
          "harness_outcome": "success",
          "selected": false,
          "validation_attempt": 1,
          "size": 107859
        },
        {
          "path": "browse/ruby.tgz",
          "check": "smoke-ruby",
          "status": "passed",
          "reason": null,
          "harness_outcome": "success",
          "selected": true,
          "validation_attempt": 1,
          "size": 848998
        },
        {
          "path": "browse/rust.tgz",
          "check": "smoke-rust",
          "status": "passed",
          "reason": null,
          "harness_outcome": "success",
          "selected": true,
          "validation_attempt": 1,
          "size": 143856
        },
        {
          "path": "browse/spinel.tgz",
          "check": "spinel-smoke",
          "status": "passed",
          "reason": null,
          "harness_outcome": "success",
          "selected": true,
          "validation_attempt": 1,
          "size": 941672
        },
        {
          "path": "browse/swift.tgz",
          "check": "smoke-swift",
          "status": "not-selected",
          "reason": null,
          "harness_outcome": "success",
          "selected": false,
          "validation_attempt": 1,
          "size": 109695
        },
        {
          "path": "browse/typescript-worker.tgz",
          "check": null,
          "status": "not-selected",
          "reason": null,
          "harness_outcome": null,
          "selected": false,
          "validation_attempt": null,
          "size": 125361
        },
        {
          "path": "browse/typescript.tgz",
          "check": "smoke-typescript",
          "status": "passed",
          "reason": null,
          "harness_outcome": "success",
          "selected": true,
          "validation_attempt": 1,
          "size": 118545
        },
        {
          "path": "campfire/docker.tgz",
          "check": "campfire-smoke-docker",
          "status": "passed",
          "reason": null,
          "harness_outcome": "success",
          "selected": true,
          "validation_attempt": 1,
          "size": 20076142
        },
        {
          "path": "campfire/spinel.tgz",
          "check": "campfire-smoke",
          "status": "passed",
          "reason": null,
          "harness_outcome": "success",
          "selected": true,
          "validation_attempt": 1,
          "size": 22870952
        }
      ]
    }
  },
  "bench": {
    "checked_at": "2026-11-08T18:48:38Z",
    "cached": false,
    "fetch": "ok",
    "observed_at": "2026-11-08T05:02:59Z",
    "sources": [
      "https://roundhouse-rb.dev/bench/summary.json",
      "https://roundhouse-rb.dev/bench/env.json"
    ],
    "data": {
      "rows": [
        {
          "target": "rails",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 261.43,
          "p50_ms": 238.69,
          "p99_ms": 358.35,
          "rss_mb": 352.869140625,
          "rps_per_gb": 758.6504150684401,
          "req_lo": 261.39,
          "req_hi": 268.43
        },
        {
          "target": "rails",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 251.99,
          "p50_ms": 245.86,
          "p99_ms": 418.04,
          "rss_mb": 364.515625,
          "rps_per_gb": 707.8921788332119,
          "req_lo": 250.03,
          "req_hi": 257.17
        },
        {
          "target": "rails",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 394.95,
          "p50_ms": 158.77,
          "p99_ms": 249.39,
          "rss_mb": 373.6640625,
          "rps_per_gb": 1082.3326099228502,
          "req_lo": 359.62,
          "req_hi": 405.14
        },
        {
          "target": "rails",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 637.78,
          "p50_ms": 98.94,
          "p99_ms": 142.62,
          "rss_mb": 376.91015625,
          "rps_per_gb": 1732.7384501860315,
          "req_lo": 480.82,
          "req_hi": 770.51
        },
        {
          "target": "rails",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 1220.47,
          "p50_ms": 48.67,
          "p99_ms": 100.07,
          "rss_mb": 403.3515625,
          "rps_per_gb": 3098.4416479110578,
          "req_lo": 1214.19,
          "req_hi": 1261.08
        },
        {
          "target": "rails-int",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 411.25,
          "p50_ms": 151.35,
          "p99_ms": 214.56,
          "rss_mb": 331.31640625,
          "rps_per_gb": 1271.0508506549395,
          "req_lo": 336.1,
          "req_hi": 444.33
        },
        {
          "target": "rails-int",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 503.71,
          "p50_ms": 121.99,
          "p99_ms": 404.38,
          "rss_mb": 341.5625,
          "rps_per_gb": 1510.1161280878316,
          "req_lo": 355.49,
          "req_hi": 514.2
        },
        {
          "target": "rails-int",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 752.69,
          "p50_ms": 82.49,
          "p99_ms": 139.08,
          "rss_mb": 347.19140625,
          "rps_per_gb": 2219.97015515127,
          "req_lo": 750.45,
          "req_hi": 755.92
        },
        {
          "target": "rails-int",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 948.24,
          "p50_ms": 67.7,
          "p99_ms": 79.64,
          "rss_mb": 348.17578125,
          "rps_per_gb": 2788.814766248191,
          "req_lo": 946.71,
          "req_hi": 973.13
        },
        {
          "target": "rails-int",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 1410.57,
          "p50_ms": 43.34,
          "p99_ms": 72.49,
          "rss_mb": 379.625,
          "rps_per_gb": 3804.869753045769,
          "req_lo": 1392.76,
          "req_hi": 1414.89
        },
        {
          "target": "rails-jruby",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 991.26,
          "p50_ms": 59.75,
          "p99_ms": 88.46,
          "rss_mb": 1145.9609375,
          "rps_per_gb": 885.7633858047626,
          "req_lo": 984.5,
          "req_hi": 1002.17
        },
        {
          "target": "rails-jruby",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 927.96,
          "p50_ms": 64.31,
          "p99_ms": 90.21,
          "rss_mb": 1238.62890625,
          "rps_per_gb": 767.1636235883301,
          "req_lo": 920.6,
          "req_hi": 931.52
        },
        {
          "target": "rails-jruby",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 1484.09,
          "p50_ms": 39.13,
          "p99_ms": 60.44,
          "rss_mb": 1262.41796875,
          "rps_per_gb": 1203.8074533308165,
          "req_lo": 1473.27,
          "req_hi": 1488.8
        },
        {
          "target": "rails-jruby",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 1543.05,
          "p50_ms": 38.08,
          "p99_ms": 59.81,
          "rss_mb": 1350.88671875,
          "rps_per_gb": 1169.6637312876092,
          "req_lo": 1535.57,
          "req_hi": 1544.45
        },
        {
          "target": "rails-jruby",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 2537.85,
          "p50_ms": 22.38,
          "p99_ms": 38.49,
          "rss_mb": 1350.93359375,
          "rps_per_gb": 1923.6759023707564,
          "req_lo": 2530.43,
          "req_hi": 2562.87
        },
        {
          "target": "rails-truffleruby",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 1846.64,
          "p50_ms": 30.97,
          "p99_ms": 55.7,
          "rss_mb": 1612.28125,
          "rps_per_gb": 1172.8470823561336,
          "req_lo": 1724.05,
          "req_hi": 1876.48
        },
        {
          "target": "rails-truffleruby",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 1978.45,
          "p50_ms": 28.73,
          "p99_ms": 49.5,
          "rss_mb": 1675.203125,
          "rps_per_gb": 1209.3654612780167,
          "req_lo": 1974.66,
          "req_hi": 1994.63
        },
        {
          "target": "rails-truffleruby",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 3820.25,
          "p50_ms": 14.91,
          "p99_ms": 30.32,
          "rss_mb": 1686.67578125,
          "rps_per_gb": 2319.3171109037053,
          "req_lo": 3802.93,
          "req_hi": 3838.28
        },
        {
          "target": "rails-truffleruby",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 3496.33,
          "p50_ms": 16.76,
          "p99_ms": 30.5,
          "rss_mb": 1708.28515625,
          "rps_per_gb": 2095.810472216061,
          "req_lo": 3355.46,
          "req_hi": 3516.12
        },
        {
          "target": "rails-truffleruby",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 6929.09,
          "p50_ms": 8.41,
          "p99_ms": 18.84,
          "rss_mb": 1716.859375,
          "rps_per_gb": 4132.771887621839,
          "req_lo": 6838.59,
          "req_hi": 6975.5
        },
        {
          "target": "ruby",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 2617.4,
          "p50_ms": 24.22,
          "p99_ms": 40.79,
          "rss_mb": 145.05859375,
          "rps_per_gb": 18476.79293388986,
          "req_lo": 2608.77,
          "req_hi": 2636.63
        },
        {
          "target": "ruby",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 2679.46,
          "p50_ms": 23.69,
          "p99_ms": 40.16,
          "rss_mb": 146.21875,
          "rps_per_gb": 18764.809848258174,
          "req_lo": 2658.36,
          "req_hi": 2683.82
        },
        {
          "target": "ruby",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 3601.7,
          "p50_ms": 17.62,
          "p99_ms": 32.44,
          "rss_mb": 148.3203125,
          "rps_per_gb": 24866.053326310244,
          "req_lo": 3582.88,
          "req_hi": 3632.17
        },
        {
          "target": "ruby",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 3058.01,
          "p50_ms": 20.93,
          "p99_ms": 22.29,
          "rss_mb": 148.046875,
          "rps_per_gb": 21151.424101319262,
          "req_lo": 3052.27,
          "req_hi": 3124.14
        },
        {
          "target": "ruby",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 3770.73,
          "p50_ms": 17.07,
          "p99_ms": 18.99,
          "rss_mb": 151.5625,
          "rps_per_gb": 25476.14033814433,
          "req_lo": 3656.92,
          "req_hi": 3876.11
        },
        {
          "target": "ruby-int",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 1850.15,
          "p50_ms": 34.52,
          "p99_ms": 47.76,
          "rss_mb": 127.6328125,
          "rps_per_gb": 14843.781649017568,
          "req_lo": 1834.83,
          "req_hi": 1851.54
        },
        {
          "target": "ruby-int",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 1909.1,
          "p50_ms": 33.34,
          "p99_ms": 47.56,
          "rss_mb": 128.98046875,
          "rps_per_gb": 15156.701002453132,
          "req_lo": 1888.98,
          "req_hi": 1914.15
        },
        {
          "target": "ruby-int",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 2574.56,
          "p50_ms": 24.73,
          "p99_ms": 36.75,
          "rss_mb": 130.98046875,
          "rps_per_gb": 20127.8058107423,
          "req_lo": 2573.78,
          "req_hi": 2592.17
        },
        {
          "target": "ruby-int",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 2150.62,
          "p50_ms": 29.75,
          "p99_ms": 31.51,
          "rss_mb": 130.44140625,
          "rps_per_gb": 16882.943409696643,
          "req_lo": 2110.92,
          "req_hi": 2152.82
        },
        {
          "target": "ruby-int",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 2667.09,
          "p50_ms": 24.08,
          "p99_ms": 26.26,
          "rss_mb": 132.81640625,
          "rps_per_gb": 20562.97288197406,
          "req_lo": 2639.86,
          "req_hi": 2673.13
        },
        {
          "target": "jruby",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 11027.39,
          "p50_ms": 5.69,
          "p99_ms": 8.12,
          "rss_mb": 1148.38671875,
          "rps_per_gb": 9832.965825563715,
          "req_lo": 10859.39,
          "req_hi": 11043.12
        },
        {
          "target": "jruby",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 12592.44,
          "p50_ms": 4.94,
          "p99_ms": 7.3,
          "rss_mb": 1329.5078125,
          "rps_per_gb": 9698.821201925055,
          "req_lo": 12023.79,
          "req_hi": 12677.21
        },
        {
          "target": "jruby",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 19477.57,
          "p50_ms": 3.16,
          "p99_ms": 5.61,
          "rss_mb": 1334.33984375,
          "rps_per_gb": 14947.490156590777,
          "req_lo": 19095.4,
          "req_hi": 19495.94
        },
        {
          "target": "jruby",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 14815.45,
          "p50_ms": 4.13,
          "p99_ms": 6.48,
          "rss_mb": 1337.78515625,
          "rps_per_gb": 11340.401505520143,
          "req_lo": 14703.57,
          "req_hi": 15141.55
        },
        {
          "target": "jruby",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 20045.14,
          "p50_ms": 3.03,
          "p99_ms": 5.34,
          "rss_mb": 1321.4296875,
          "rps_per_gb": 15533.34509899907,
          "req_lo": 19264.94,
          "req_hi": 20435.17
        },
        {
          "target": "truffleruby",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 7550.36,
          "p50_ms": 7.91,
          "p99_ms": 18.46,
          "rss_mb": 782.22265625,
          "rps_per_gb": 9884.102152020734,
          "req_lo": 7138.02,
          "req_hi": 8029.05
        },
        {
          "target": "truffleruby",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 9969.16,
          "p50_ms": 6.01,
          "p99_ms": 13.35,
          "rss_mb": 789.1796875,
          "rps_per_gb": 12935.482250358857,
          "req_lo": 9639.58,
          "req_hi": 10019.27
        },
        {
          "target": "truffleruby",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 18716.64,
          "p50_ms": 3.18,
          "p99_ms": 10.28,
          "rss_mb": 795.69921875,
          "rps_per_gb": 24086.789214281856,
          "req_lo": 18607.5,
          "req_hi": 18890.77
        },
        {
          "target": "truffleruby",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 8500.05,
          "p50_ms": 7.22,
          "p99_ms": 13.62,
          "rss_mb": 800.75390625,
          "rps_per_gb": 10869.82046801598,
          "req_lo": 8494.44,
          "req_hi": 8570.42
        },
        {
          "target": "truffleruby",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 15734.0,
          "p50_ms": 3.84,
          "p99_ms": 9.71,
          "rss_mb": 813.87109375,
          "rps_per_gb": 19796.275016678585,
          "req_lo": 15563.45,
          "req_hi": 15779.58
        },
        {
          "target": "python",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 4638.36,
          "p50_ms": 13.77,
          "p99_ms": 13.99,
          "rss_mb": 82.25,
          "rps_per_gb": 57746.877082066865,
          "req_lo": 4634.45,
          "req_hi": 4641.28
        },
        {
          "target": "python",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 5137.85,
          "p50_ms": 12.41,
          "p99_ms": 13.06,
          "rss_mb": 82.3046875,
          "rps_per_gb": 63922.94971048885,
          "req_lo": 5088.69,
          "req_hi": 5139.9
        },
        {
          "target": "python",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 7197.46,
          "p50_ms": 8.88,
          "p99_ms": 8.96,
          "rss_mb": 82.38671875,
          "rps_per_gb": 89458.58206059456,
          "req_lo": 7194.82,
          "req_hi": 7206.52
        },
        {
          "target": "python",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 5383.62,
          "p50_ms": 11.86,
          "p99_ms": 11.97,
          "rss_mb": 82.38671875,
          "rps_per_gb": 66914.02405196529,
          "req_lo": 5380.84,
          "req_hi": 5394.55
        },
        {
          "target": "python",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 7313.3,
          "p50_ms": 8.7,
          "p99_ms": 9.63,
          "rss_mb": 82.4140625,
          "rps_per_gb": 90868.22045691535,
          "req_lo": 7310.02,
          "req_hi": 7326.8
        },
        {
          "target": "spinel",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 9301.93,
          "p50_ms": 6.56,
          "p99_ms": 11.51,
          "rss_mb": 77.5859375,
          "rps_per_gb": 122769.36551807472,
          "req_lo": 9300.64,
          "req_hi": 9308.59
        },
        {
          "target": "spinel",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 9748.86,
          "p50_ms": 6.2,
          "p99_ms": 11.76,
          "rss_mb": 74.796875,
          "rps_per_gb": 133465.90536035097,
          "req_lo": 9748.62,
          "req_hi": 9764.78
        },
        {
          "target": "spinel",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 13757.13,
          "p50_ms": 4.43,
          "p99_ms": 9.16,
          "rss_mb": 72.62109375,
          "rps_per_gb": 193983.59887687588,
          "req_lo": 13740.23,
          "req_hi": 13771.02
        },
        {
          "target": "spinel",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 13681.98,
          "p50_ms": 4.5,
          "p99_ms": 7.98,
          "rss_mb": 73.5859375,
          "rps_per_gb": 190394.36060728313,
          "req_lo": 13580.31,
          "req_hi": 13698.94
        },
        {
          "target": "spinel",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 18977.88,
          "p50_ms": 3.06,
          "p99_ms": 7.49,
          "rss_mb": 70.93359375,
          "rps_per_gb": 273965.38216421613,
          "req_lo": 18814.32,
          "req_hi": 19049.8
        },
        {
          "target": "typescript",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 9393.18,
          "p50_ms": 6.64,
          "p99_ms": 8.07,
          "rss_mb": 317.375,
          "rps_per_gb": 30306.7863568334,
          "req_lo": 9353.76,
          "req_hi": 9449.3
        },
        {
          "target": "typescript",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 10574.64,
          "p50_ms": 5.92,
          "p99_ms": 7.23,
          "rss_mb": 315.99609375,
          "rps_per_gb": 34267.61144891526,
          "req_lo": 10534.67,
          "req_hi": 10640.55
        },
        {
          "target": "typescript",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 20486.26,
          "p50_ms": 3.04,
          "p99_ms": 3.84,
          "rss_mb": 316.3046875,
          "rps_per_gb": 66321.90754365598,
          "req_lo": 19364.74,
          "req_hi": 20597.33
        },
        {
          "target": "typescript",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 11414.16,
          "p50_ms": 5.46,
          "p99_ms": 6.51,
          "rss_mb": 310.5,
          "rps_per_gb": 37642.8336231884,
          "req_lo": 11378.93,
          "req_hi": 11614.01
        },
        {
          "target": "typescript",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 16021.57,
          "p50_ms": 3.82,
          "p99_ms": 5.18,
          "rss_mb": 306.984375,
          "rps_per_gb": 53442.74502570367,
          "req_lo": 15992.85,
          "req_hi": 16068.27
        },
        {
          "target": "elixir",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 7355.66,
          "p50_ms": 7.83,
          "p99_ms": 19.68,
          "rss_mb": 121.33203125,
          "rps_per_gb": 62079.20334309906,
          "req_lo": 7348.79,
          "req_hi": 7366.89
        },
        {
          "target": "elixir",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 14209.53,
          "p50_ms": 4.25,
          "p99_ms": 11.95,
          "rss_mb": 127.419921875,
          "rps_per_gb": 114193.75012860406,
          "req_lo": 14154.48,
          "req_hi": 14211.78
        },
        {
          "target": "elixir",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 28582.49,
          "p50_ms": 2.04,
          "p99_ms": 5.6,
          "rss_mb": 130.490234375,
          "rps_per_gb": 224296.24638338,
          "req_lo": 28536.6,
          "req_hi": 28590.86
        },
        {
          "target": "elixir",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 18832.84,
          "p50_ms": 3.18,
          "p99_ms": 10.3,
          "rss_mb": 129.80859375,
          "rps_per_gb": 148563.57043002016,
          "req_lo": 18812.51,
          "req_hi": 18982.27
        },
        {
          "target": "elixir",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 29367.21,
          "p50_ms": 1.97,
          "p99_ms": 6.26,
          "rss_mb": 129.6171875,
          "rps_per_gb": 232006.44621300703,
          "req_lo": 29335.09,
          "req_hi": 29439.48
        },
        {
          "target": "go",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 5245.63,
          "p50_ms": 11.65,
          "p99_ms": 29.4,
          "rss_mb": 34.37890625,
          "rps_per_gb": 156244.7938552437,
          "req_lo": 5223.3,
          "req_hi": 5288.02
        },
        {
          "target": "go",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 5358.48,
          "p50_ms": 11.41,
          "p99_ms": 25.91,
          "rss_mb": 35.6875,
          "rps_per_gb": 153753.65380035026,
          "req_lo": 5313.54,
          "req_hi": 5384.96
        },
        {
          "target": "go",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 6183.25,
          "p50_ms": 4.9,
          "p99_ms": 98.61,
          "rss_mb": 35.6875,
          "rps_per_gb": 177419.20840630474,
          "req_lo": 6145.37,
          "req_hi": 6183.86
        },
        {
          "target": "go",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 9960.38,
          "p50_ms": 5.84,
          "p99_ms": 19.84,
          "rss_mb": 37.09765625,
          "rps_per_gb": 274934.5956323049,
          "req_lo": 9784.38,
          "req_hi": 9961.44
        },
        {
          "target": "go",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 10985.5,
          "p50_ms": 3.99,
          "p99_ms": 53.86,
          "rss_mb": 36.859375,
          "rps_per_gb": 305191.0674014413,
          "req_lo": 10981.89,
          "req_hi": 11004.44
        },
        {
          "target": "csharp",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 33331.85,
          "p50_ms": 1.43,
          "p99_ms": 5.59,
          "rss_mb": 127.015625,
          "rps_per_gb": 268721.38290072576,
          "req_lo": 33279.29,
          "req_hi": 33871.61
        },
        {
          "target": "csharp",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 45345.56,
          "p50_ms": 1.1,
          "p99_ms": 5.01,
          "rss_mb": 137.234375,
          "rps_per_gb": 338354.3914562222,
          "req_lo": 45296.67,
          "req_hi": 45659.95
        },
        {
          "target": "csharp",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 77497.14,
          "p50_ms": 0.511,
          "p99_ms": 4.14,
          "rss_mb": 136.73046875,
          "rps_per_gb": 580390.5456149473,
          "req_lo": 77061.34,
          "req_hi": 77698.86
        },
        {
          "target": "csharp",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 47448.21,
          "p50_ms": 1.12,
          "p99_ms": 5.26,
          "rss_mb": 138.37109375,
          "rps_per_gb": 351135.2387499647,
          "req_lo": 46898.85,
          "req_hi": 47451.65
        },
        {
          "target": "csharp",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 86225.33,
          "p50_ms": 0.505,
          "p99_ms": 3.78,
          "rss_mb": 139.15625,
          "rps_per_gb": 634500.6991780822,
          "req_lo": 83506.52,
          "req_hi": 86299.74
        },
        {
          "target": "csharp-aot",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 38171.83,
          "p50_ms": 1.48,
          "p99_ms": 4.4,
          "rss_mb": 72.484375,
          "rps_per_gb": 539260.4119163613,
          "req_lo": 36202.25,
          "req_hi": 39090.69
        },
        {
          "target": "csharp-aot",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 49529.17,
          "p50_ms": 1.12,
          "p99_ms": 3.97,
          "rss_mb": 75.03515625,
          "rps_per_gb": 675921.4295632256,
          "req_lo": 49517.98,
          "req_hi": 49794.88
        },
        {
          "target": "csharp-aot",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 95835.75,
          "p50_ms": 0.475,
          "p99_ms": 2.36,
          "rss_mb": 76.0078125,
          "rps_per_gb": 1291127.9087264878,
          "req_lo": 94142.56,
          "req_hi": 95865.97
        },
        {
          "target": "csharp-aot",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 48645.32,
          "p50_ms": 1.15,
          "p99_ms": 3.64,
          "rss_mb": 75.1015625,
          "rps_per_gb": 663272.5874378446,
          "req_lo": 48346.68,
          "req_hi": 48657.53
        },
        {
          "target": "csharp-aot",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 89916.53,
          "p50_ms": 0.535,
          "p99_ms": 2.4,
          "rss_mb": 75.4765625,
          "rps_per_gb": 1219908.8521022669,
          "req_lo": 88547.28,
          "req_hi": 91268.78
        },
        {
          "target": "swift",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 13833.54,
          "p50_ms": 4.42,
          "p99_ms": 7.89,
          "rss_mb": 45.859375,
          "rps_per_gb": 308890.9292810903,
          "req_lo": 13827.22,
          "req_hi": 13835.76
        },
        {
          "target": "swift",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 16078.57,
          "p50_ms": 3.74,
          "p99_ms": 7.64,
          "rss_mb": 46.87890625,
          "rps_per_gb": 351212.4534688776,
          "req_lo": 15896.78,
          "req_hi": 16177.06
        },
        {
          "target": "swift",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 20985.17,
          "p50_ms": 2.75,
          "p99_ms": 6.75,
          "rss_mb": 47.41015625,
          "rps_per_gb": 453253.3908280464,
          "req_lo": 20911.75,
          "req_hi": 20996.54
        },
        {
          "target": "swift",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 32723.24,
          "p50_ms": 1.84,
          "p99_ms": 3.29,
          "rss_mb": 47.625,
          "rps_per_gb": 703592.6038845144,
          "req_lo": 32712.3,
          "req_hi": 32765.49
        },
        {
          "target": "swift",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 40446.52,
          "p50_ms": 1.54,
          "p99_ms": 2.77,
          "rss_mb": 47.62109375,
          "rps_per_gb": 869724.5951013041,
          "req_lo": 40355.16,
          "req_hi": 40453.1
        },
        {
          "target": "kotlin",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 48883.81,
          "p50_ms": 1.06,
          "p99_ms": 4.7,
          "rss_mb": 524.97265625,
          "rps_per_gb": 95351.67373776907,
          "req_lo": 48825.41,
          "req_hi": 48888.76
        },
        {
          "target": "kotlin",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 58720.33,
          "p50_ms": 0.88,
          "p99_ms": 4.11,
          "rss_mb": 664.7734375,
          "rps_per_gb": 90451.29442314699,
          "req_lo": 58510.22,
          "req_hi": 58810.67
        },
        {
          "target": "kotlin",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 122201.75,
          "p50_ms": 0.384,
          "p99_ms": 2.71,
          "rss_mb": 714.625,
          "rps_per_gb": 175105.25380444288,
          "req_lo": 122017.88,
          "req_hi": 122203.12
        },
        {
          "target": "kotlin",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 56722.03,
          "p50_ms": 0.93,
          "p99_ms": 4.3,
          "rss_mb": 800.80859375,
          "rps_per_gb": 72530.88837122635,
          "req_lo": 56294.14,
          "req_hi": 56910.69
        },
        {
          "target": "kotlin",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 94176.8,
          "p50_ms": 0.494,
          "p99_ms": 2.88,
          "rss_mb": 821.53125,
          "rps_per_gb": 117386.94444064058,
          "req_lo": 94139.58,
          "req_hi": 94515.35
        },
        {
          "target": "crystal",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 16213.18,
          "p50_ms": 4.06,
          "p99_ms": 4.71,
          "rss_mb": 25.25,
          "rps_per_gb": 657516.6859405941,
          "req_lo": 15667.54,
          "req_hi": 16231.71
        },
        {
          "target": "crystal",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 20784.61,
          "p50_ms": 2.94,
          "p99_ms": 3.87,
          "rss_mb": 23.5234375,
          "rps_per_gb": 904775.9554699436,
          "req_lo": 20463.63,
          "req_hi": 20789.02
        },
        {
          "target": "crystal",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 37376.73,
          "p50_ms": 1.62,
          "p99_ms": 2.08,
          "rss_mb": 21.18359375,
          "rps_per_gb": 1806764.7997639684,
          "req_lo": 37079.8,
          "req_hi": 37434.35
        },
        {
          "target": "crystal",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 24549.84,
          "p50_ms": 2.49,
          "p99_ms": 3.08,
          "rss_mb": 21.7109375,
          "rps_per_gb": 1157897.3114357684,
          "req_lo": 24442.31,
          "req_hi": 24725.56
        },
        {
          "target": "crystal",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 46234.5,
          "p50_ms": 1.34,
          "p99_ms": 1.73,
          "rss_mb": 21.80859375,
          "rps_per_gb": 2170893.2058033315,
          "req_lo": 46128.73,
          "req_hi": 47267.78
        },
        {
          "target": "rust",
          "endpoint": "/articles",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 53347.33,
          "p50_ms": 1.14,
          "p99_ms": 2.33,
          "rss_mb": 17.23046875,
          "rps_per_gb": 3170410.899007028,
          "req_lo": 52434.7,
          "req_hi": 53431.02
        },
        {
          "target": "rust",
          "endpoint": "/articles/1",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 68676.2,
          "p50_ms": 0.82,
          "p99_ms": 2.77,
          "rss_mb": 18.171875,
          "rps_per_gb": 3869959.9683576953,
          "req_lo": 68674.72,
          "req_hi": 69152.14
        },
        {
          "target": "rust",
          "endpoint": "/articles/new",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 85560.32,
          "p50_ms": 0.586,
          "p99_ms": 1.94,
          "rss_mb": 19.08984375,
          "rps_per_gb": 4589548.705970944,
          "req_lo": 85428.21,
          "req_hi": 85785.37
        },
        {
          "target": "rust",
          "endpoint": "/articles.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 77694.14,
          "p50_ms": 0.753,
          "p99_ms": 1.97,
          "rss_mb": 19.65625,
          "rps_per_gb": 4047506.48572337,
          "req_lo": 77505.72,
          "req_hi": 77742.73
        },
        {
          "target": "rust",
          "endpoint": "/articles/1.json",
          "workers": 1,
          "runs": 3,
          "non_2xx": 0,
          "req_sec": 138796.71,
          "p50_ms": 0.382,
          "p99_ms": 1.06,
          "rss_mb": 19.9765625,
          "rps_per_gb": 7114729.125193586,
          "req_lo": 138285.76,
          "req_hi": 138858.85
        }
      ],
      "environment": {
        "captured_at": "2026-11-08T05:02:59Z",
        "git": {
          "sha": "add586f5aea0ac95da8dcea1af3c65a472773ea7",
          "branch": "main",
          "dirty": false
        },
        "host": {
          "arch": "x86_64",
          "platform": "linux"
        },
        "toolchains": {
          "ruby": "ruby 4.0.5 (2026-05-20 revision 64336ffd0e) +PRISM [x86_64-linux]",
          "jruby": "jruby 10.1.1.0 (4.0.0) 2026-07-22 aaa95d57e1 OpenJDK 64-Bit Server VM 25.0.3+9-LTS on 25.0.3+9-LTS +indy +jit [x86_64-linux]",
          "truffleruby": "truffleruby 40.0.0 (2026-09-17), like ruby 4.0.2, Oracle GraalVM Native [x86_64-linux]",
          "spinel": "spinel 2026.10.25+3480 (43ce665e6) [gcc 13.3.0 (cc)]",
          "rustc": "rustc 1.98.1 (48a229cea 2026-09-01)",
          "cargo": "cargo 1.98.1 (797e8a9bc 2026-08-05)",
          "go": "go version go1.26.4 linux/amd64",
          "node": "v26.3.0",
          "crystal": "Crystal 1.20.2 [2482c62c1] (2026-05-15)",
          "shards": "Shards 0.20.0 [b2b98ca] (2025-12-19)",
          "python3": "Python 3.14.6",
          "uv": "uv 0.11.22 (x86_64-unknown-linux-musl)",
          "dotnet": "10.0.301",
          "wrk": "wrk debian/4.1.0-4build2 [epoll] Copyright (C) 2012 Will Glozer",
          "curl": "curl 8.5.0 (x86_64-pc-linux-gnu) libcurl/8.5.0 OpenSSL/3.0.13 zlib/1.3 brotli/1.1.0 zstd/1.5.5 libidn2/2.3.7 libpsl/0.21.2 (+libidn2/2.3.7) libssh/0.10.6/openssl/zlib nghttp2/1.59.0 librtmp/2.3 OpenLDAP/2.6.10",
          "mise": "2026.5.15 linux-x64 (2026-05-23)",
          "sqlite3": "3.45.1 2024-01-30 16:01:20 e876e51a0ed5c5b3126f52e532044363a014bc594cfefa87ffb5b82257ccalt1 (64-bit)",
          "redis-server": "Redis server v=7.0.15 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64 build=d064f9f48c901a92"
        },
        "harness": {
          "workers": [
            1
          ],
          "concurrency": 64,
          "runs": 3,
          "duration_sec": 20,
          "warmup_sec": 20,
          "threads": 5,
          "wrk_threads": 2,
          "endpoints": [
            "/articles",
            "/articles/1",
            "/articles/new",
            "/articles.json",
            "/articles/1.json"
          ],
          "targets": [
            "rails",
            "rails-int",
            "rails-jruby",
            "rails-truffleruby",
            "ruby",
            "ruby-int",
            "jruby",
            "truffleruby",
            "python",
            "spinel",
            "typescript",
            "elixir",
            "go",
            "csharp",
            "csharp-aot",
            "swift",
            "kotlin",
            "crystal",
            "rust"
          ]
        }
      }
    }
  },
  "help": {
    "checked_at": "2026-11-08T11:57:16Z",
    "cached": false,
    "fetch": "reused",
    "observed_at": "2026-11-08T11:57:17Z",
    "sources": [
      "https://github.com/roundhouse-rb/roundhouse/issues"
    ],
    "data": {
      "good_first_issue": {
        "count": 0,
        "issues": []
      },
      "help_wanted": {
        "count": 0,
        "issues": []
      }
    }
  },
  "activity": {
    "checked_at": "2026-11-08T11:57:16Z",
    "cached": false,
    "fetch": "reused",
    "observed_at": "2026-11-08T11:57:16Z",
    "sources": [
      "https://github.com/roundhouse-rb/roundhouse/pulls?q=is%3Apr+is%3Amerged"
    ],
    "data": {
      "weekly_merged": [
        {
          "week": "2026-09-14",
          "merged": 28,
          "partial": false
        },
        {
          "week": "2026-09-21",
          "merged": 4,
          "partial": false
        },
        {
          "week": "2026-09-28",
          "merged": 205,
          "partial": false
        },
        {
          "week": "2026-10-05",
          "merged": 279,
          "partial": false
        },
        {
          "week": "2026-10-12",
          "merged": 184,
          "partial": false
        },
        {
          "week": "2026-10-19",
          "merged": 241,
          "partial": false
        },
        {
          "week": "2026-10-26",
          "merged": 208,
          "partial": false
        },
        {
          "week": "2026-11-02",
          "merged": 177,
          "partial": true
        }
      ],
      "merged_7d": 187,
      "people_7d": 12,
      "bots_7d": 0,
      "merged_30d": 929,
      "merged_all": 1330,
      "people_30d": [
        {
          "login": "Ahmad-Othman",
          "url": "https://github.com/Ahmad-Othman",
          "avatar": "https://avatars.githubusercontent.com/u/150370501?u=4558a3851b0bdeddfa8584a7c222f6835fc27db9&v=4",
          "last_merged_at": "2026-10-12T13:58:05Z",
          "first_pr": {
            "number": 448,
            "title": "A model **kwrest beside a keyword stays a keyword rest",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/448",
            "merged_at": "2026-10-09T13:03:08Z"
          }
        },
        {
          "login": "andrzejkrzywda",
          "url": "https://github.com/andrzejkrzywda",
          "avatar": "https://avatars.githubusercontent.com/u/2847?u=10b0f728a9fd1af8bf4c89335ee2ebfc40617415&v=4",
          "last_merged_at": "2026-10-10T15:27:15Z",
          "first_pr": {
            "number": 731,
            "title": "Preserve instance methods and keyword initializers in literal Data.define blocks",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/731",
            "merged_at": "2026-10-10T15:27:15Z"
          }
        },
        {
          "login": "Animesh-Ghosh",
          "url": "https://github.com/Animesh-Ghosh",
          "avatar": "https://avatars.githubusercontent.com/u/34956994?u=868659224f5e503ce144deacf387ce43702c4f2a&v=4",
          "last_merged_at": "2026-11-08T10:57:11Z",
          "first_pr": {
            "number": 1903,
            "title": "fix(ingest): walk the gems a Bundler path block lists",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1903",
            "merged_at": "2026-11-08T10:57:11Z"
          }
        },
        {
          "login": "aristotelesbr",
          "url": "https://github.com/aristotelesbr",
          "avatar": "https://avatars.githubusercontent.com/u/8474381?u=3ec76d5a76095a9f11d9305ba81322a2984ee52a&v=4",
          "last_merged_at": "2026-11-08T10:57:11Z",
          "first_pr": {
            "number": 1845,
            "title": "Spinel's boot.rb carries weakref and io/wait, which Spinel now has",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1845",
            "merged_at": "2026-11-06T08:44:28Z"
          }
        },
        {
          "login": "baron-hines",
          "url": "https://github.com/baron-hines",
          "avatar": "https://avatars.githubusercontent.com/u/513729?u=443ffbe919e54c89f5fc9b548756de3338a53ac1&v=4",
          "last_merged_at": "2026-11-02T10:47:00Z",
          "first_pr": {
            "number": 774,
            "title": "Serialize ActiveJob payloads on the Ruby-family lanes (1/3): runtime",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/774",
            "merged_at": "2026-10-11T22:34:30Z"
          }
        },
        {
          "login": "brodienguyen",
          "url": "https://github.com/brodienguyen",
          "avatar": "https://avatars.githubusercontent.com/u/32996052?u=85f34cc9b8d66f77e68edcca770e81efb3cded32&v=4",
          "last_merged_at": "2026-10-30T23:54:03Z",
          "first_pr": {
            "number": 1175,
            "title": "fix(ingest): keep columns with a named NOT NULL in structure.sql",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1175",
            "merged_at": "2026-10-21T09:52:25Z"
          }
        },
        {
          "login": "bunnykong",
          "url": "https://github.com/bunnykong",
          "avatar": "https://avatars.githubusercontent.com/u/268838774?u=c7161ebab929e6d5b182afab9ebedac380724a2a&v=4",
          "last_merged_at": "2026-11-08T09:00:34Z"
        },
        {
          "login": "calmacleod",
          "url": "https://github.com/calmacleod",
          "avatar": "https://avatars.githubusercontent.com/u/45601392?u=c6ca0852804a2f9f82184e418dc58c0f719cbdf5&v=4",
          "last_merged_at": "2026-10-11T22:02:29Z"
        },
        {
          "login": "dai199",
          "url": "https://github.com/dai199",
          "avatar": "https://avatars.githubusercontent.com/u/1844754?u=ac605487552ac37e7aec3303aafd60cfbb85032f&v=4",
          "last_merged_at": "2026-11-08T07:11:45Z"
        },
        {
          "login": "dchuk",
          "url": "https://github.com/dchuk",
          "avatar": "https://avatars.githubusercontent.com/u/38986?v=4",
          "last_merged_at": "2026-10-12T11:35:15Z"
        },
        {
          "login": "deepj",
          "url": "https://github.com/deepj",
          "avatar": "https://avatars.githubusercontent.com/u/33736?v=4",
          "last_merged_at": "2026-11-08T10:57:11Z",
          "first_pr": {
            "number": 995,
            "title": "An association build with an inline keyword hash emits the hash in braces",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/995",
            "merged_at": "2026-10-17T06:49:00Z"
          }
        },
        {
          "login": "dersam",
          "url": "https://github.com/dersam",
          "avatar": "https://avatars.githubusercontent.com/u/475851?u=321e10197f1bd1a45627073fbed86c684e8c7080&v=4",
          "last_merged_at": "2026-10-29T16:58:17Z",
          "first_pr": {
            "number": 940,
            "title": "Freeze string literals in runtime Ruby and Spinel sources",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/940",
            "merged_at": "2026-10-14T19:30:24Z"
          }
        },
        {
          "login": "eddygarcas",
          "url": "https://github.com/eddygarcas",
          "avatar": "https://avatars.githubusercontent.com/u/13220393?u=0ed3f59dcf6eb4d165fe3e435917eba2c221dc9d&v=4",
          "last_merged_at": "2026-11-08T11:51:32Z"
        },
        {
          "login": "gregmolnar",
          "url": "https://github.com/gregmolnar",
          "avatar": "https://avatars.githubusercontent.com/u/752058?u=44e59103a64d58f779cbbe49a559906aad9d23dd&v=4",
          "last_merged_at": "2026-10-11T23:36:08Z"
        },
        {
          "login": "Hitoshi-Noborikawa",
          "url": "https://github.com/Hitoshi-Noborikawa",
          "avatar": "https://avatars.githubusercontent.com/u/49664629?u=250aae47b52fc91b44b96c00447d2d9359ee2245&v=4",
          "last_merged_at": "2026-11-04T13:19:25Z",
          "first_pr": {
            "number": 1313,
            "title": "valid? runs the validation callbacks (#1140)",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1313",
            "merged_at": "2026-10-24T22:53:05Z"
          }
        },
        {
          "login": "iberianpig",
          "url": "https://github.com/iberianpig",
          "avatar": "https://avatars.githubusercontent.com/u/1710555?v=4",
          "last_merged_at": "2026-11-07T04:23:24Z",
          "first_pr": {
            "number": 791,
            "title": "Walk the directories an app adds to config.autoload_once_paths",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/791",
            "merged_at": "2026-10-11T10:46:34Z"
          }
        },
        {
          "login": "jonasporto",
          "url": "https://github.com/jonasporto",
          "avatar": "https://avatars.githubusercontent.com/u/2723477?u=40c46c550f838abd3289924619848a7c651f78cd&v=4",
          "last_merged_at": "2026-10-17T09:52:14Z",
          "first_pr": {
            "number": 1015,
            "title": "Ingest the files config/application.rb loads with require_relative",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1015",
            "merged_at": "2026-10-17T09:52:14Z"
          }
        },
        {
          "login": "ljachymczyk",
          "url": "https://github.com/ljachymczyk",
          "avatar": "https://avatars.githubusercontent.com/u/1793013?v=4",
          "last_merged_at": "2026-10-24T22:53:05Z"
        },
        {
          "login": "MatheusRich",
          "url": "https://github.com/MatheusRich",
          "avatar": "https://avatars.githubusercontent.com/u/20938712?u=091ab17cf52ebfe16247eb40329929fc72f06eb9&v=4",
          "last_merged_at": "2026-10-15T18:05:09Z"
        },
        {
          "login": "namespaceMarcello",
          "url": "https://github.com/namespaceMarcello",
          "avatar": "https://avatars.githubusercontent.com/u/176920116?u=483c9749831180bdd68c4d0b54c1821b2aaac832&v=4",
          "last_merged_at": "2026-11-06T23:24:05Z"
        },
        {
          "login": "roger-wilco-forever",
          "url": "https://github.com/roger-wilco-forever",
          "avatar": "https://avatars.githubusercontent.com/u/239937992?u=44f72c5e675bd51028b6684a468231b06b1c07d9&v=4",
          "last_merged_at": "2026-10-30T01:26:57Z"
        },
        {
          "login": "rubys",
          "url": "https://github.com/rubys",
          "avatar": "https://avatars.githubusercontent.com/u/4815?v=4",
          "last_merged_at": "2026-11-08T09:56:43Z"
        },
        {
          "login": "thomasklemm",
          "url": "https://github.com/thomasklemm",
          "avatar": "https://avatars.githubusercontent.com/u/1100176?v=4",
          "last_merged_at": "2026-11-03T12:18:53Z"
        },
        {
          "login": "tobi",
          "url": "https://github.com/tobi",
          "avatar": "https://avatars.githubusercontent.com/u/347?u=7960534ac523f60d241bb7c7ef986d263ea96170&v=4",
          "last_merged_at": "2026-10-30T01:26:57Z"
        },
        {
          "login": "webit-wagner",
          "url": "https://github.com/webit-wagner",
          "avatar": "https://avatars.githubusercontent.com/u/246112943?v=4",
          "last_merged_at": "2026-10-14T11:56:23Z"
        }
      ],
      "first_contributions_30d": [
        {
          "login": "Animesh-Ghosh",
          "url": "https://github.com/Animesh-Ghosh",
          "avatar": "https://avatars.githubusercontent.com/u/34956994?u=868659224f5e503ce144deacf387ce43702c4f2a&v=4",
          "last_merged_at": "2026-11-08T10:57:11Z",
          "first_pr": {
            "number": 1903,
            "title": "fix(ingest): walk the gems a Bundler path block lists",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1903",
            "merged_at": "2026-11-08T10:57:11Z"
          }
        },
        {
          "login": "aristotelesbr",
          "url": "https://github.com/aristotelesbr",
          "avatar": "https://avatars.githubusercontent.com/u/8474381?u=3ec76d5a76095a9f11d9305ba81322a2984ee52a&v=4",
          "last_merged_at": "2026-11-08T10:57:11Z",
          "first_pr": {
            "number": 1845,
            "title": "Spinel's boot.rb carries weakref and io/wait, which Spinel now has",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1845",
            "merged_at": "2026-11-06T08:44:28Z"
          }
        },
        {
          "login": "Hitoshi-Noborikawa",
          "url": "https://github.com/Hitoshi-Noborikawa",
          "avatar": "https://avatars.githubusercontent.com/u/49664629?u=250aae47b52fc91b44b96c00447d2d9359ee2245&v=4",
          "last_merged_at": "2026-11-04T13:19:25Z",
          "first_pr": {
            "number": 1313,
            "title": "valid? runs the validation callbacks (#1140)",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1313",
            "merged_at": "2026-10-24T22:53:05Z"
          }
        },
        {
          "login": "brodienguyen",
          "url": "https://github.com/brodienguyen",
          "avatar": "https://avatars.githubusercontent.com/u/32996052?u=85f34cc9b8d66f77e68edcca770e81efb3cded32&v=4",
          "last_merged_at": "2026-10-30T23:54:03Z",
          "first_pr": {
            "number": 1175,
            "title": "fix(ingest): keep columns with a named NOT NULL in structure.sql",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1175",
            "merged_at": "2026-10-21T09:52:25Z"
          }
        },
        {
          "login": "jonasporto",
          "url": "https://github.com/jonasporto",
          "avatar": "https://avatars.githubusercontent.com/u/2723477?u=40c46c550f838abd3289924619848a7c651f78cd&v=4",
          "last_merged_at": "2026-10-17T09:52:14Z",
          "first_pr": {
            "number": 1015,
            "title": "Ingest the files config/application.rb loads with require_relative",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/1015",
            "merged_at": "2026-10-17T09:52:14Z"
          }
        },
        {
          "login": "deepj",
          "url": "https://github.com/deepj",
          "avatar": "https://avatars.githubusercontent.com/u/33736?v=4",
          "last_merged_at": "2026-11-08T10:57:11Z",
          "first_pr": {
            "number": 995,
            "title": "An association build with an inline keyword hash emits the hash in braces",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/995",
            "merged_at": "2026-10-17T06:49:00Z"
          }
        },
        {
          "login": "dersam",
          "url": "https://github.com/dersam",
          "avatar": "https://avatars.githubusercontent.com/u/475851?u=321e10197f1bd1a45627073fbed86c684e8c7080&v=4",
          "last_merged_at": "2026-10-29T16:58:17Z",
          "first_pr": {
            "number": 940,
            "title": "Freeze string literals in runtime Ruby and Spinel sources",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/940",
            "merged_at": "2026-10-14T19:30:24Z"
          }
        },
        {
          "login": "baron-hines",
          "url": "https://github.com/baron-hines",
          "avatar": "https://avatars.githubusercontent.com/u/513729?u=443ffbe919e54c89f5fc9b548756de3338a53ac1&v=4",
          "last_merged_at": "2026-11-02T10:47:00Z",
          "first_pr": {
            "number": 774,
            "title": "Serialize ActiveJob payloads on the Ruby-family lanes (1/3): runtime",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/774",
            "merged_at": "2026-10-11T22:34:30Z"
          }
        },
        {
          "login": "iberianpig",
          "url": "https://github.com/iberianpig",
          "avatar": "https://avatars.githubusercontent.com/u/1710555?v=4",
          "last_merged_at": "2026-11-07T04:23:24Z",
          "first_pr": {
            "number": 791,
            "title": "Walk the directories an app adds to config.autoload_once_paths",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/791",
            "merged_at": "2026-10-11T10:46:34Z"
          }
        },
        {
          "login": "andrzejkrzywda",
          "url": "https://github.com/andrzejkrzywda",
          "avatar": "https://avatars.githubusercontent.com/u/2847?u=10b0f728a9fd1af8bf4c89335ee2ebfc40617415&v=4",
          "last_merged_at": "2026-10-10T15:27:15Z",
          "first_pr": {
            "number": 731,
            "title": "Preserve instance methods and keyword initializers in literal Data.define blocks",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/731",
            "merged_at": "2026-10-10T15:27:15Z"
          }
        },
        {
          "login": "Ahmad-Othman",
          "url": "https://github.com/Ahmad-Othman",
          "avatar": "https://avatars.githubusercontent.com/u/150370501?u=4558a3851b0bdeddfa8584a7c222f6835fc27db9&v=4",
          "last_merged_at": "2026-10-12T13:58:05Z",
          "first_pr": {
            "number": 448,
            "title": "A model **kwrest beside a keyword stays a keyword rest",
            "url": "https://github.com/roundhouse-rb/roundhouse/pull/448",
            "merged_at": "2026-10-09T13:03:08Z"
          }
        }
      ],
      "recent": [
        {
          "number": 1948,
          "title": "A jbuilder pair over a merged key is written at the merged position",
          "url": "https://github.com/roundhouse-rb/roundhouse/pull/1948",
          "author": "eddygarcas",
          "merged_at": "2026-11-08T11:51:32Z"
        },
        {
          "number": 1938,
          "title": "A view that reads a nullable string column with `==`, `!=`, `empty?` or `length` builds on Go, Crystal and Rust",
          "url": "https://github.com/roundhouse-rb/roundhouse/pull/1938",
          "author": "eddygarcas",
          "merged_at": "2026-11-08T11:51:28Z"
        },
        {
          "number": 1904,
          "title": "Spinel's boot.rb carries pp",
          "url": "https://github.com/roundhouse-rb/roundhouse/pull/1904",
          "author": "aristotelesbr",
          "merged_at": "2026-11-08T10:57:11Z"
        },
        {
          "number": 1905,
          "title": "`errors.full_messages_for` and `messages_for` read an attribute's messages",
          "url": "https://github.com/roundhouse-rb/roundhouse/pull/1905",
          "author": "deepj",
          "merged_at": "2026-11-08T10:57:11Z"
        },
        {
          "number": 1922,
          "title": "A controller's `layout` picks the layout an action renders in",
          "url": "https://github.com/roundhouse-rb/roundhouse/pull/1922",
          "author": "deepj",
          "merged_at": "2026-11-08T10:57:11Z"
        },
        {
          "number": 1927,
          "title": "A partial's ivar and a same-named local stay separate parameters",
          "url": "https://github.com/roundhouse-rb/roundhouse/pull/1927",
          "author": "deepj",
          "merged_at": "2026-11-08T10:57:11Z"
        },
        {
          "number": 1665,
          "title": "Rust: a param the each bridge borrows with iter_mut() is declared mut",
          "url": "https://github.com/roundhouse-rb/roundhouse/pull/1665",
          "author": "deepj",
          "merged_at": "2026-11-08T10:57:11Z"
        },
        {
          "number": 1903,
          "title": "fix(ingest): walk the gems a Bundler path block lists",
          "url": "https://github.com/roundhouse-rb/roundhouse/pull/1903",
          "author": "Animesh-Ghosh",
          "merged_at": "2026-11-08T10:57:11Z"
        }
      ]
    }
  },
  "ci": {
    "checked_at": "2026-11-08T11:57:16Z",
    "cached": false,
    "fetch": "reused",
    "observed_at": "2026-11-08T11:57:16Z",
    "sources": [
      "https://github.com/roundhouse-rb/roundhouse/actions/workflows/ci.yml?query=branch%3Amain+event%3Apush"
    ],
    "data": {
      "workflow": "ci.yml",
      "weeks": [
        {
          "week": "2026-08-17",
          "completed": 228,
          "green": 179,
          "failed": 28,
          "superseded": 21,
          "other": 0,
          "median_min": 10.8,
          "p90_min": 15.1,
          "timed": 179,
          "jobs_ran": null,
          "runner_min": null,
          "sampled": 0,
          "slowest": [],
          "partial": false
        },
        {
          "week": "2026-08-24",
          "completed": 71,
          "green": 65,
          "failed": 5,
          "superseded": 1,
          "other": 0,
          "median_min": 11.4,
          "p90_min": 12.3,
          "timed": 65,
          "jobs_ran": null,
          "runner_min": null,
          "sampled": 0,
          "slowest": [],
          "partial": false
        },
        {
          "week": "2026-08-31",
          "completed": 96,
          "green": 71,
          "failed": 22,
          "superseded": 3,
          "other": 0,
          "median_min": 12.5,
          "p90_min": 23.9,
          "timed": 71,
          "jobs_ran": null,
          "runner_min": null,
          "sampled": 0,
          "slowest": [],
          "partial": false
        },
        {
          "week": "2026-09-07",
          "completed": 58,
          "green": 46,
          "failed": 10,
          "superseded": 2,
          "other": 0,
          "median_min": 12.7,
          "p90_min": 43.8,
          "timed": 46,
          "jobs_ran": null,
          "runner_min": null,
          "sampled": 0,
          "slowest": [],
          "partial": false
        },
        {
          "week": "2026-09-14",
          "completed": 116,
          "green": 103,
          "failed": 11,
          "superseded": 2,
          "other": 0,
          "median_min": 16.4,
          "p90_min": 23.3,
          "timed": 103,
          "jobs_ran": null,
          "runner_min": null,
          "sampled": 0,
          "slowest": [],
          "partial": false
        },
        {
          "week": "2026-09-21",
          "completed": 67,
          "green": 56,
          "failed": 11,
          "superseded": 0,
          "other": 0,
          "median_min": 13.7,
          "p90_min": 15.1,
          "timed": 56,
          "jobs_ran": null,
          "runner_min": null,
          "sampled": 0,
          "slowest": [],
          "partial": false
        },
        {
          "week": "2026-09-28",
          "completed": 209,
          "green": 141,
          "failed": 25,
          "superseded": 43,
          "other": 0,
          "median_min": 19.3,
          "p90_min": 49.3,
          "timed": 141,
          "jobs_ran": null,
          "runner_min": null,
          "sampled": 0,
          "slowest": [],
          "partial": false
        },
        {
          "week": "2026-10-05",
          "completed": 328,
          "green": 118,
          "failed": 16,
          "superseded": 194,
          "other": 0,
          "median_min": 16.9,
          "p90_min": 30.7,
          "timed": 118,
          "jobs_ran": null,
          "runner_min": null,
          "sampled": 0,
          "slowest": [],
          "partial": false
        },
        {
          "week": "2026-10-12",
          "completed": 205,
          "green": 77,
          "failed": 8,
          "superseded": 120,
          "other": 0,
          "median_min": 22.3,
          "p90_min": 30.8,
          "timed": 77,
          "jobs_ran": 37,
          "runner_min": 187,
          "sampled": 6,
          "slowest": [
            {
              "name": "spinel-framework",
              "median_min": 14.4,
              "runs": 6
            },
            {
              "name": "spinel-toolchain",
              "median_min": 13.8,
              "runs": 6
            },
            {
              "name": "campfire-spinel-db (models)",
              "median_min": 9.3,
              "runs": 6
            },
            {
              "name": "campfire-spinel-build (binary)",
              "median_min": 8.7,
              "runs": 6
            },
            {
              "name": "unit-build",
              "median_min": 8.7,
              "runs": 6
            },
            {
              "name": "compare-ruby",
              "median_min": 7.6,
              "runs": 6
            }
          ],
          "partial": false
        },
        {
          "week": "2026-10-19",
          "completed": 261,
          "green": 77,
          "failed": 5,
          "superseded": 179,
          "other": 0,
          "median_min": 22.2,
          "p90_min": 43.1,
          "timed": 77,
          "jobs_ran": 25,
          "runner_min": 155,
          "sampled": 6,
          "slowest": [
            {
              "name": "spinel-toolchain",
              "median_min": 24.6,
              "runs": 4
            },
            {
              "name": "compare-jruby",
              "median_min": 10.2,
              "runs": 2
            },
            {
              "name": "compare-ruby",
              "median_min": 8.6,
              "runs": 6
            },
            {
              "name": "unit",
              "median_min": 7.2,
              "runs": 6
            },
            {
              "name": "spinel-compare (blog)",
              "median_min": 7.1,
              "runs": 4
            },
            {
              "name": "spinel-framework",
              "median_min": 6.3,
              "runs": 4
            }
          ],
          "partial": false
        },
        {
          "week": "2026-10-26",
          "completed": 209,
          "green": 77,
          "failed": 4,
          "superseded": 128,
          "other": 0,
          "median_min": 26.9,
          "p90_min": 62.8,
          "timed": 77,
          "jobs_ran": 27,
          "runner_min": 172,
          "sampled": 6,
          "slowest": [
            {
              "name": "spinel-toolchain",
              "median_min": 23.2,
              "runs": 5
            },
            {
              "name": "compare (rust)",
              "median_min": 15.9,
              "runs": 1
            },
            {
              "name": "compare-extra (swift)",
              "median_min": 15.8,
              "runs": 1
            },
            {
              "name": "compare-jruby",
              "median_min": 12.7,
              "runs": 2
            },
            {
              "name": "compare-ruby",
              "median_min": 11.0,
              "runs": 6
            },
            {
              "name": "spinel-smoke",
              "median_min": 10.6,
              "runs": 1
            }
          ],
          "partial": false
        },
        {
          "week": "2026-11-02",
          "completed": 168,
          "green": 57,
          "failed": 3,
          "superseded": 108,
          "other": 0,
          "median_min": 23.8,
          "p90_min": 46.6,
          "timed": 57,
          "jobs_ran": 21,
          "runner_min": 110,
          "sampled": 6,
          "slowest": [
            {
              "name": "spinel-toolchain",
              "median_min": 23.5,
              "runs": 2
            },
            {
              "name": "spinel-framework",
              "median_min": 15.6,
              "runs": 2
            },
            {
              "name": "unit",
              "median_min": 15.1,
              "runs": 6
            },
            {
              "name": "compare-jruby",
              "median_min": 13.5,
              "runs": 1
            },
            {
              "name": "compare (rust)",
              "median_min": 11.6,
              "runs": 1
            },
            {
              "name": "spinel-compare (blog)",
              "median_min": 10.2,
              "runs": 2
            }
          ],
          "partial": true
        }
      ]
    }
  },
  "highlights": {
    "activity": {
      "observed_at": "2026-11-08T11:57:16Z",
      "merged_7d": 187,
      "people_7d": 12,
      "bots_7d": 0,
      "first_contributions_30d": 11
    },
    "bench": {
      "observed_at": "2026-11-08T05:02:59Z",
      "articles": 10.0,
      "min": 3.1,
      "max": 10.6,
      "jvm_articles": 11.1
    }
  }
}
