{
  "schemaVersion": 3,
  "runId": "55e3cd85-0c88-40a1-9364-114f6ce4bb36",
  "fixtureIds": [
    "gmod.ents-iterator.v1",
    "gmod.hook-add.v1",
    "gmod.isvalid.v1",
    "gmod.net-receivers.v1",
    "gmod.perf.angle-zero.v1",
    "gmod.perf.config-var.v1",
    "gmod.perf.darkrpvar.v1",
    "gmod.perf.disttosqr.v1",
    "gmod.perf.ents-iterator.v1",
    "gmod.perf.find-ents-near.v1",
    "gmod.perf.find-players-near.v1",
    "gmod.perf.for-vs-while.v1",
    "gmod.perf.hook-once.v1",
    "gmod.perf.hudpaint-cache.v1",
    "gmod.perf.local-color.v1",
    "gmod.perf.local-vs-global.v1",
    "gmod.perf.localplayer-cache.v1",
    "gmod.perf.looking-at.v1",
    "gmod.perf.meta-vs-arg.v1",
    "gmod.perf.msg-vs-print.v1",
    "gmod.perf.pairs-ipairs-for.v1",
    "gmod.perf.plain-lua-vs-fn.v1",
    "gmod.perf.player-cache-hooks.v1",
    "gmod.perf.ply-table-index.v1",
    "gmod.perf.seq-tables.v1",
    "gmod.perf.setdrawcolor-split.v1",
    "gmod.perf.sqlite-vs-mysql.v1",
    "gmod.perf.steamid-cache.v1",
    "gmod.perf.string-table-concat.v1",
    "gmod.perf.surface-drawrect.v1",
    "gmod.perf.surface-text.v1",
    "gmod.perf.table-count-hash.v1",
    "gmod.perf.table-empty.v1",
    "gmod.perf.table-hasvalue.v1",
    "gmod.perf.table-literal.v1",
    "gmod.perf.table-random.v1",
    "gmod.perf.x-times-x.v1",
    "gmod.player-iterator.v1"
  ],
  "startedAt": "2026-07-10T17:34:24.959Z",
  "completedAt": "2026-07-10T17:44:34.806Z",
  "repeat": 1,
  "concurrency": 25,
  "attempts": [
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- Visit ent here.\n    end\nend\n```\nReason: `ents.Iterator()` traverses entities directly, so the loop filters `prop_physics` entities without allocating the table returned by `ents.GetAll()`.",
      "durationMs": 24450,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 273,
        "totalTokens": 18107,
        "reasoningTokens": 184,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:49.416Z",
      "answerBytes": 281,
      "answerChars": 281,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers a uniquely identified callback that runs whenever the Think hook fires.",
      "durationMs": 9006,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 52,
        "totalTokens": 17888,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:33.982Z",
      "answerBytes": 151,
      "answerChars": 151,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: IsValid checks that ent exists and has not been removed before you call entity methods.",
      "durationMs": 8823,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 55,
        "totalTokens": 17886,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:33.801Z",
      "answerBytes": 152,
      "answerChars": 152,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Read and handle the message here.\nend)\n```\nReason: `net.Receive` registers the callback invoked when `MyAddon.Sync` arrives.",
      "durationMs": 8733,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17826,
        "completionTokens": 64,
        "totalTokens": 17890,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:33.716Z",
      "answerBytes": 185,
      "answerChars": 185,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal zeroAngle = angle_zero\n\n-- Hot path\nlocal ang = zeroAngle\n```\nReason: Reusing Garry's Mod's shared zero Angle avoids the allocation and constructor cost of calling Angle() each time.",
      "durationMs": 10341,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 63,
        "totalTokens": 17895,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:35.344Z",
      "answerBytes": 195,
      "answerChars": 195,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal color = Color(255, 255, 255)\nlocal currentColor = color\n```\nReason: A local variable is fastest because Lua resolves it directly, while nested tables require multiple hash lookups per read.",
      "durationMs": 8223,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 64,
        "totalTokens": 17897,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:33.214Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP exposes the job through its replicated DarkRP variable API; use `getDarkRPVar(\"job\")` instead of reading the underlying networked string directly.",
      "durationMs": 9302,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 69,
        "totalTokens": 17900,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:34.321Z",
      "answerBytes": 212,
      "answerChars": 212,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif posA:DistToSqr(posB) <= maxDistance * maxDistance then\n    -- Within range\nend\n```\nReason: `Vector:DistToSqr` avoids the square root required for actual distance while preserving threshold comparisons.",
      "durationMs": 8394,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 69,
        "totalTokens": 17903,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:33.391Z",
      "answerBytes": 211,
      "answerChars": 211,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- Use ent\nend\n```\nReason: `ents.Iterator()` visits every entity without first allocating the table returned by `ents.GetAll()`, making it the preferred efficient iterator when the loop only needs traversal.",
      "durationMs": 9163,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 70,
        "totalTokens": 17900,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:34.220Z",
      "answerBytes": 248,
      "answerChars": 248,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal nearbyEntities = ents.FindInSphere(ply:GetPos(), 512)\n```\nReason: ents.FindInSphere is a fast built-in spatial query for a simple radius search and avoids scanning every entity in Lua.",
      "durationMs": 11157,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17851,
        "completionTokens": 63,
        "totalTokens": 17914,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.963Z",
      "completedAt": "2026-07-10T17:34:36.197Z",
      "answerBytes": 197,
      "answerChars": 197,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersNear(position, radius)\n    local nearby = {}\n    local radiusSquared = radius * radius\n    local players = player.GetAll()\n\n    for i = 1, #players do\n        local ply = players[i]\n        if ply:GetPos():DistToSqr(position) <= radiusSquared then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: Iterating only `player.GetAll()` avoids scanning every entity, and squared-distance checks avoid a square root per player.",
      "durationMs": 21059,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 214,
        "totalTokens": 18053,
        "reasoningTokens": 70,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:46.103Z",
      "answerBytes": 496,
      "answerChars": 496,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal i = 1\nwhile i <= n do\n    -- work\n    i = i + 1\nend\n```\nReason: In Garry's Mod Lua, a simple numeric while loop is generally faster than a numeric for loop.",
      "durationMs": 8757,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 69,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:33.869Z",
      "answerBytes": 169,
      "answerChars": 169,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"Tick\", \"NotifyCustomLogic\", function()\n    hook.Run(\"CustomLogicTick\", player.GetAll())\nend)\n```\nReason: One hook.Run call per tick avoids repeated hook dispatch overhead; listeners can loop over the supplied players themselves.",
      "durationMs": 6114,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17842,
        "completionTokens": 73,
        "totalTokens": 17915,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:31.211Z",
      "answerBytes": 245,
      "answerChars": 245,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal health = LocalPlayer():Health()\n\ndraw.SimpleText(health, \"DermaDefault\", 20, 20, color_white)\ndraw.SimpleText(health, \"DermaDefault\", 20, 40, color_white)\ndraw.SimpleText(health, \"DermaDefault\", 20, 60, color_white)\n```\nReason: Cache the health value once per HUDPaint call to avoid two redundant LocalPlayer and Health method calls in the same frame.",
      "durationMs": 6275,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 120,
        "totalTokens": 17957,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:31.350Z",
      "answerBytes": 364,
      "answerChars": 364,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal white = Color(255, 255, 255)\n\nfor _, item in ipairs(items) do\n    surface.SetDrawColor(white)\n    -- draw item\nend\n```\nReason: Creating the color once outside the loop avoids repeated table allocation and initialization on every iteration.",
      "durationMs": 10848,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 79,
        "totalTokens": 17908,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:35.835Z",
      "answerBytes": 252,
      "answerChars": 252,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 1000000 do\n    local value = sin(i)\nend\n```\nReason: Caching math.sin in a local avoids repeated global table lookups inside the hot loop.",
      "durationMs": 5964,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 69,
        "totalTokens": 17896,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:31.025Z",
      "answerBytes": 177,
      "answerChars": 177,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal localPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    localPlayer = LocalPlayer()\nend)\n\n-- Hot path\nhook.Add(\"Think\", \"UseCachedLocalPlayer\", function()\n    if IsValid(localPlayer) then\n        -- Use localPlayer here instead of calling LocalPlayer() repeatedly.\n    end\nend)\n```\nReason: Caching the player in a local upvalue avoids repeated global function lookup and LocalPlayer() calls on hot paths.",
      "durationMs": 6930,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 125,
        "totalTokens": 17957,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:31.936Z",
      "answerBytes": 436,
      "answerChars": 436,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function ArePlayersLookingAtEachOther(a, b, minDot)\n    minDot = minDot or 0.8\n\n    local direction = (b:EyePos() - a:EyePos()):GetNormalized()\n    return a:GetAimVector():Dot(direction) >= minDot\n       and b:GetAimVector():Dot(-direction) >= minDot\nend\n```\nReason: Dot-product threshold checks avoid the expensive `math.acos`; normalizing one displacement and negating it supplies both player-to-player directions.",
      "durationMs": 21222,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17848,
        "completionTokens": 216,
        "totalTokens": 18064,
        "reasoningTokens": 84,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:46.293Z",
      "answerBytes": 429,
      "answerChars": 429,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: A direct function call generally avoids the metatable method lookup that `ply:SomeHelper()` requires; the colon itself only adds `ply` as the first argument.",
      "durationMs": 10510,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 61,
        "totalTokens": 17897,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:35.520Z",
      "answerBytes": 192,
      "answerChars": 192,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsg(\"debug line\\n\")\n```\nReason: Msg writes directly to the console without print's extra argument formatting and automatic newline overhead.",
      "durationMs": 9624,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 75,
        "totalTokens": 17906,
        "reasoningTokens": 25,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:34.706Z",
      "answerBytes": 147,
      "answerChars": 147,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #numbers do\n    local value = numbers[i]\n    -- use value\nend\n```\nReason: A numeric for loop typically has the least iterator overhead for a large dense sequential table, making it faster than ipairs and pairs.",
      "durationMs": 7547,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 72,
        "totalTokens": 17911,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:32.595Z",
      "answerBytes": 228,
      "answerChars": 228,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal players = player.GetAll()\nlocal result = {}\nlocal count = 0\n\nfor i = 1, #players do\n    local ply = players[i]\n    if ply:isArrested() then\n        count = count + 1\n        result[count] = ply:Nick()\n    end\nend\n```\nReason: A fused numeric loop avoids combinator callbacks and intermediate filter tables, reducing function-call and allocation overhead.",
      "durationMs": 8699,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17849,
        "completionTokens": 186,
        "totalTokens": 18035,
        "reasoningTokens": 71,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:33.786Z",
      "answerBytes": 366,
      "answerChars": 366,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\n\nlocal function refreshPlayerCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"InitPostEntity\", \"RefreshPlayerCache\", refreshPlayerCache)\nhook.Add(\"PlayerInitialSpawn\", \"RefreshPlayerCache\", refreshPlayerCache)\nhook.Add(\"PlayerDisconnected\", \"RefreshPlayerCache\", function()\n    timer.Simple(0, refreshPlayerCache)\nend)\n\nhook.Add(\"Tick\", \"ProcessCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- Per-player tick work here.\n        end\n    end\nend)\n```\nReason: `player.GetAll()` and cache allocation happen only when membership changes, while each tick uses a fast numeric loop over the cached table.",
      "durationMs": 19023,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 199,
        "totalTokens": 18045,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:44.037Z",
      "answerBytes": 731,
      "answerChars": 731,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerData = setmetatable({}, { __mode = \"k\" })\n\nlocal function SetPlayerValue(ply, value)\n    playerData[ply] = value\nend\n\nlocal function GetPlayerValue(ply)\n    return playerData[ply]\nend\n```\nReason: A local table indexed by the player avoids slower userdata/metatable field reads, while weak keys let removed players be garbage-collected.",
      "durationMs": 15164,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 157,
        "totalTokens": 17992,
        "reasoningTokens": 46,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:40.230Z",
      "answerBytes": 354,
      "answerChars": 354,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"alpha\", \"bravo\", \"charlie\" }\n\nfor index = 1, #values do\n    local value = values[index]\nend\n```\nReason: Sequential number-indexed arrays use the faster array storage and numeric iteration path, avoiding string-key hashing and `pairs` overhead.",
      "durationMs": 5518,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 85,
        "totalTokens": 17923,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:24.964Z",
      "completedAt": "2026-07-10T17:34:30.627Z",
      "answerBytes": 268,
      "answerChars": 268,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing separate numeric channels avoids creating or unpacking a Color object in the hot draw path.",
      "durationMs": 7722,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 57,
        "totalTokens": 17892,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:30.628Z",
      "completedAt": "2026-07-10T17:34:38.352Z",
      "answerBytes": 159,
      "answerChars": 159,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsql.Query(\"SELECT * FROM player_data WHERE steamid64 = \" .. sql.SQLStr(steamID64))\n```\nReason: Local SQLite is typically lower latency because it avoids network round trips to a remote MySQL server.",
      "durationMs": 10240,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17859,
        "completionTokens": 66,
        "totalTokens": 17925,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:31.026Z",
      "completedAt": "2026-07-10T17:34:41.269Z",
      "answerBytes": 205,
      "answerChars": 205,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function getSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n    return steamID\nend\n```\nReason: A weak-key cache computes each valid player's stable SteamID once without keeping disconnected player objects alive.",
      "durationMs": 17929,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 221,
        "totalTokens": 18049,
        "reasoningTokens": 98,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:31.212Z",
      "completedAt": "2026-07-10T17:34:49.144Z",
      "answerBytes": 387,
      "answerChars": 387,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pieces = {}\n\nfor i = 1, 10000 do\n    pieces[i] = \"piece \" .. i\nend\n\nlocal result = table.concat(pieces)\n```\nReason: Collecting pieces and joining once with table.concat avoids repeatedly allocating and copying an ever-growing string.",
      "durationMs": 7749,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 81,
        "totalTokens": 17910,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:31.352Z",
      "completedAt": "2026-07-10T17:34:39.104Z",
      "answerBytes": 246,
      "answerChars": 246,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, width, height)\n```\nReason: `surface.DrawRect` draws a plain rectangle directly, avoiding the extra work and dispatch in `draw.RoundedBox(0, ...)`.",
      "durationMs": 4890,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 70,
        "totalTokens": 17905,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:31.940Z",
      "completedAt": "2026-07-10T17:34:36.831Z",
      "answerBytes": 204,
      "answerChars": 204,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetTextPos(20, 20)\n    surface.DrawText(\"Fast single-line text\")\nend)\n```\nReason: surface.SetTextPos plus surface.DrawText is the lowest-overhead path for plain single-line text; draw.DrawText adds multiline handling, while SimpleTextOutlined performs extra draws for the outline.",
      "durationMs": 8224,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 165,
        "totalTokens": 17999,
        "reasoningTokens": 33,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:32.595Z",
      "completedAt": "2026-07-10T17:34:40.821Z",
      "answerBytes": 427,
      "answerChars": 427,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #items\n```\nReason: The length operator is the preferred way to get the size of a sequential array-like table.",
      "durationMs": 5333,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 46,
        "totalTokens": 17874,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:33.215Z",
      "completedAt": "2026-07-10T17:34:38.551Z",
      "answerBytes": 131,
      "answerChars": 131,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Rebinding to a new empty table is generally faster because it avoids iterating over and clearing every entry in the old table; use table.Empty(t) only when other references must see the same table emptied.",
      "durationMs": 7457,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 67,
        "totalTokens": 17898,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:33.391Z",
      "completedAt": "2026-07-10T17:34:40.850Z",
      "answerBytes": 231,
      "answerChars": 231,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    admin = true,\n    moderator = true,\n    user = true,\n}\n\nif allowed[value] then\n    -- value exists in the set\nend\n```\nReason: Direct key lookup is typically O(1), while table.HasValue scans the list in O(n) time.",
      "durationMs": 10416,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 86,
        "totalTokens": 17919,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:33.717Z",
      "completedAt": "2026-07-10T17:34:44.136Z",
      "answerBytes": 241,
      "answerChars": 241,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerData = {\n    health = 100,\n    armor = 50,\n    alive = true,\n}\n```\nReason: Putting known fields directly in the table constructor avoids separate post-creation assignment operations and is faster.",
      "durationMs": 4435,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 69,
        "totalTokens": 17899,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:33.787Z",
      "completedAt": "2026-07-10T17:34:38.224Z",
      "answerBytes": 215,
      "answerChars": 215,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = items[math.random(#items)]\n```\nReason: For a sequential table, direct random indexing avoids table.Random's key iteration and temporary key collection overhead.",
      "durationMs": 4027,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 54,
        "totalTokens": 17882,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:33.802Z",
      "completedAt": "2026-07-10T17:34:37.831Z",
      "answerBytes": 181,
      "answerChars": 181,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Direct multiplication avoids the overhead of exponentiation for a fixed square.",
      "durationMs": 8981,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17825,
        "completionTokens": 42,
        "totalTokens": 17867,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:33.870Z",
      "completedAt": "2026-07-10T17:34:42.852Z",
      "answerBytes": 120,
      "answerChars": 120,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- Use ply here.\nend\n```\nReason: player.Iterator() visits connected players directly without creating the table returned by player.GetAll().",
      "durationMs": 5140,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 57,
        "totalTokens": 17894,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:33.983Z",
      "completedAt": "2026-07-10T17:34:39.124Z",
      "answerBytes": 186,
      "answerChars": 186,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- Process ent here.\n    end\nend\n```\nReason: `ents.Iterator()` visits entities directly, avoiding the full table allocation performed by `ents.GetAll()`.",
      "durationMs": 8592,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 77,
        "totalTokens": 17909,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:34.223Z",
      "completedAt": "2026-07-10T17:34:42.819Z",
      "answerBytes": 243,
      "answerChars": 243,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers a uniquely identified callback that runs on every Think hook.",
      "durationMs": 5618,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 51,
        "totalTokens": 17885,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:34.322Z",
      "completedAt": "2026-07-10T17:34:39.942Z",
      "answerBytes": 141,
      "answerChars": 141,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: IsValid confirms the reference exists and is not a removed entity before methods are called.",
      "durationMs": 8848,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 55,
        "totalTokens": 17884,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:34.707Z",
      "completedAt": "2026-07-10T17:34:43.559Z",
      "answerBytes": 157,
      "answerChars": 157,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Read and handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a callback for incoming messages with the specified network-string name.",
      "durationMs": 8087,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17824,
        "completionTokens": 66,
        "totalTokens": 17890,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:35.345Z",
      "completedAt": "2026-07-10T17:34:43.434Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal zeroedAngle = angle_zero * 1\n```\nReason: Multiplying the cached zero Angle creates a fresh zeroed Angle faster than calling Angle() in the hot path.",
      "durationMs": 5951,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 181,
        "totalTokens": 18015,
        "reasoningTokens": 124,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:35.520Z",
      "completedAt": "2026-07-10T17:34:41.472Z",
      "answerBytes": 161,
      "answerChars": 161,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal configColor = Color(255, 255, 255)\nlocal color = configColor\n```\nReason: A local variable is fastest to read because it avoids global and nested table lookups.",
      "durationMs": 5977,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 60,
        "totalTokens": 17899,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:35.835Z",
      "completedAt": "2026-07-10T17:34:41.814Z",
      "answerBytes": 172,
      "answerChars": 172,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP owns and synchronizes the job value through its DarkRPVar API, so use `getDarkRPVar(\"job\")` instead of reading the underlying networked string directly.",
      "durationMs": 7131,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 73,
        "totalTokens": 17900,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:36.198Z",
      "completedAt": "2026-07-10T17:34:43.330Z",
      "answerBytes": 218,
      "answerChars": 218,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif posA:DistToSqr(posB) <= maxDistance * maxDistance then\n    -- Within range\nend\n```\nReason: `Vector:DistToSqr` avoids the square-root calculation required for the actual distance.",
      "durationMs": 8186,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 67,
        "totalTokens": 17899,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:36.832Z",
      "completedAt": "2026-07-10T17:34:45.019Z",
      "answerBytes": 188,
      "answerChars": 188,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- Process ent\nend\n```\nReason: `ents.Iterator()` visits every entity without first allocating the table returned by `ents.GetAll()`, making it the preferred efficient iterator when only traversal is needed.",
      "durationMs": 6687,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 69,
        "totalTokens": 17897,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:37.831Z",
      "completedAt": "2026-07-10T17:34:44.519Z",
      "answerBytes": 247,
      "answerChars": 247,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal nearbyEntities = ents.FindInSphere(player:GetPos(), 512)\n```\nReason: `ents.FindInSphere` is a fast built-in spatial query for a radius around the player and avoids the broader visibility semantics of `FindInPVS`.",
      "durationMs": 3725,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17849,
        "completionTokens": 71,
        "totalTokens": 17920,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:38.225Z",
      "completedAt": "2026-07-10T17:34:41.950Z",
      "answerBytes": 225,
      "answerChars": 225,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInRadius(position, radius)\n    local nearby = {}\n    local radiusSquared = radius * radius\n    local players = player.GetAll()\n\n    for i = 1, #players do\n        local ply = players[i]\n        if position:DistToSqr(ply:GetPos()) <= radiusSquared then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: Iterating the player list avoids scanning every entity, and squared distance avoids a square-root calculation per player.",
      "durationMs": 18791,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 221,
        "totalTokens": 18060,
        "reasoningTokens": 78,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:38.353Z",
      "completedAt": "2026-07-10T17:34:57.146Z",
      "answerBytes": 499,
      "answerChars": 499,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal i = 1\nwhile i <= n do\n    -- work\n    i = i + 1\nend\n```\nReason: In Garry's Mod Lua (LuaJIT), a simple `while` loop is generally faster than a numeric `for` loop.",
      "durationMs": 5159,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 76,
        "totalTokens": 17908,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:38.551Z",
      "completedAt": "2026-07-10T17:34:43.712Z",
      "answerBytes": 174,
      "answerChars": 174,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"Tick\", \"NotifyCustomLogic\", function()\n    hook.Run(\"CustomLogicForPlayers\", player.GetAll())\nend)\n\nhook.Add(\"CustomLogicForPlayers\", \"ProcessPlayers\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- Custom logic for ply\n    end\nend)\n```\nReason: One hook.Run per tick avoids repeated hook dispatch overhead for every player.",
      "durationMs": 5238,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17848,
        "completionTokens": 116,
        "totalTokens": 17964,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:39.105Z",
      "completedAt": "2026-07-10T17:34:44.344Z",
      "answerBytes": 380,
      "answerChars": 380,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"HealthHUD\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(\"Health: \" .. health, \"DermaDefault\", 20, 20, color_white)\n    draw.SimpleText(health .. \" HP\", \"DermaDefault\", 20, 40, color_white)\n    draw.SimpleText(health <= 25 and \"LOW HEALTH\" or \"\", \"DermaDefault\", 20, 60, color_white)\nend)\n```\nReason: Cache Health() once per HUDPaint call so all three draw calls reuse the same value and avoid two method calls.",
      "durationMs": 16858,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 192,
        "totalTokens": 18031,
        "reasoningTokens": 35,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:39.125Z",
      "completedAt": "2026-07-10T17:34:55.984Z",
      "answerBytes": 469,
      "answerChars": 469,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal white = Color(255, 255, 255)\n\nfor i = 1, itemCount do\n    drawItem(i, white)\nend\n```\nReason: Reusing one Color object avoids allocating a new color table on every paint-loop iteration.",
      "durationMs": 8498,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 74,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:39.943Z",
      "completedAt": "2026-07-10T17:34:48.442Z",
      "answerBytes": 197,
      "answerChars": 197,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 100000 do\n    local value = sin(i)\nend\n```\nReason: Caching math.sin in a local avoids the repeated global table lookup inside the hot loop.",
      "durationMs": 15641,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 68,
        "totalTokens": 17897,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:40.231Z",
      "completedAt": "2026-07-10T17:34:55.874Z",
      "answerBytes": 179,
      "answerChars": 179,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal localPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    localPlayer = LocalPlayer()\nend)\n\nhook.Add(\"Think\", \"FastClientLogic\", function()\n    if not IsValid(localPlayer) then return end\n\n    -- Use localPlayer here instead of calling LocalPlayer() repeatedly.\nend)\n```\nReason: Cache the player once after client entities initialize, so hot code reads a fast Lua local instead of repeating the engine lookup.",
      "durationMs": 25495,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 314,
        "totalTokens": 18146,
        "reasoningTokens": 190,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:40.822Z",
      "completedAt": "2026-07-10T17:35:06.320Z",
      "answerBytes": 439,
      "answerChars": 439,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function AreRoughlyLookingAtEachOther(ply1, ply2)\n    local towardPly2 = (ply2:EyePos() - ply1:EyePos()):GetNormalized()\n    local threshold = 0.8 -- roughly within 37 degrees\n\n    return ply1:GetAimVector():Dot(towardPly2) >= threshold\n       and ply2:GetAimVector():Dot(towardPly2) <= -threshold\nend\n```\nReason: Dot products compare alignment directly, avoiding the relatively expensive math.acos angle conversion.",
      "durationMs": 28560,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 344,
        "totalTokens": 18190,
        "reasoningTokens": 203,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:40.852Z",
      "completedAt": "2026-07-10T17:35:09.415Z",
      "answerBytes": 429,
      "answerChars": 429,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: A direct function call generally avoids the metatable lookup required by ply:SomeHelper(), so it is usually faster for a helper you control.",
      "durationMs": 3687,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 56,
        "totalTokens": 17890,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:41.270Z",
      "completedAt": "2026-07-10T17:34:44.958Z",
      "answerBytes": 175,
      "answerChars": 175,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsg(\"debug line\\n\")\n```\nReason: Msg writes the string directly, avoiding print's argument formatting and tab-separation overhead.",
      "durationMs": 8253,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 80,
        "totalTokens": 17909,
        "reasoningTokens": 30,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:41.473Z",
      "completedAt": "2026-07-10T17:34:49.728Z",
      "answerBytes": 136,
      "answerChars": 136,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #numbers do\n    local value = numbers[i]\n    -- use value\nend\n```\nReason: A numeric for loop typically has the least iterator overhead for a dense sequential array, making it faster than ipairs and pairs.",
      "durationMs": 9596,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 71,
        "totalTokens": 17910,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:41.817Z",
      "completedAt": "2026-07-10T17:34:51.415Z",
      "answerBytes": 222,
      "answerChars": 222,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal names = {}\nlocal count = 0\n\nfor i = 1, #players do\n    local ply = players[i]\n    if IsValid(ply) and ply:Alive() then\n        count = count + 1\n        names[count] = ply:Nick()\n    end\nend\n```\nReason: One fused numeric loop avoids fn combinator callbacks and intermediate tables while performing the same filter-then-map work.",
      "durationMs": 17192,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17849,
        "completionTokens": 200,
        "totalTokens": 18049,
        "reasoningTokens": 87,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:41.952Z",
      "completedAt": "2026-07-10T17:34:59.146Z",
      "answerBytes": 341,
      "answerChars": 341,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\nlocal playerIndex = {}\n\nfor index, ply in ipairs(cachedPlayers) do\n    playerIndex[ply] = index\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"CachedPlayers.Add\", function(ply)\n    if playerIndex[ply] then return end\n\n    cachedPlayers[#cachedPlayers + 1] = ply\n    playerIndex[ply] = #cachedPlayers\nend)\n\nhook.Add(\"PlayerDisconnected\", \"CachedPlayers.Remove\", function(ply)\n    local index = playerIndex[ply]\n    if not index then return end\n\n    local lastIndex = #cachedPlayers\n    local lastPlayer = cachedPlayers[lastIndex]\n\n    cachedPlayers[index] = lastPlayer\n    cachedPlayers[lastIndex] = nil\n    playerIndex[ply] = nil\n\n    if index ~= lastIndex then\n        playerIndex[lastPlayer] = index\n    end\nend)\n\nhook.Add(\"Tick\", \"ProcessCachedPlayers\", function()\n    for index = 1, #cachedPlayers do\n        local ply = cachedPlayers[index]\n        -- Per-player tick work here.\n    end\nend)\n```\nReason: The hot path reuses one dense array, while join is O(1) append and leave is O(1) swap-remove, avoiding player.GetAll() and its table allocation every tick.",
      "durationMs": 37640,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 408,
        "totalTokens": 18254,
        "reasoningTokens": 91,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:42.820Z",
      "completedAt": "2026-07-10T17:35:20.462Z",
      "answerBytes": 1099,
      "answerChars": 1099,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerData = {}\n\nhook.Add(\"PlayerDisconnected\", \"CleanupPlayerData\", function(ply)\n    playerData[ply] = nil\nend)\n\n-- Write\nplayerData[ply] = value\n\n-- Hot read\nlocal value = playerData[ply]\n```\nReason: A module-local table indexed by the player avoids repeated userdata/metatable field lookup, making hot reads faster while explicit disconnect cleanup prevents stale entries.",
      "durationMs": 17562,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 215,
        "totalTokens": 18046,
        "reasoningTokens": 102,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:42.853Z",
      "completedAt": "2026-07-10T17:35:00.416Z",
      "answerBytes": 389,
      "answerChars": 389,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"alpha\", \"beta\", \"gamma\", \"delta\" }\n\nfor i = 1, #values do\n    local value = values[i]\nend\n```\nReason: Sequential number-indexed arrays are faster to iterate because numeric indexing avoids hash-key lookup and a numeric for loop avoids iterator overhead.",
      "durationMs": 15044,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 137,
        "totalTokens": 17975,
        "reasoningTokens": 49,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:43.331Z",
      "completedAt": "2026-07-10T17:34:58.376Z",
      "answerBytes": 278,
      "answerChars": 278,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 128, 64, 255)\n```\nReason: Separate numeric arguments avoid the Color object overload and its table access/type-handling overhead in the hot draw path.",
      "durationMs": 12266,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 118,
        "totalTokens": 17955,
        "reasoningTokens": 55,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:43.435Z",
      "completedAt": "2026-07-10T17:34:55.702Z",
      "answerBytes": 183,
      "answerChars": 183,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal row = sql.QueryRow(\"SELECT credits FROM player_data WHERE steamid64 = \" .. sql.SQLStr(steamID64))\n```\nReason: Local SQLite typically has lower read/write latency because it avoids network round trips to a remote MySQL server.",
      "durationMs": 16657,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17857,
        "completionTokens": 72,
        "totalTokens": 17929,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:43.560Z",
      "completedAt": "2026-07-10T17:35:00.218Z",
      "answerBytes": 238,
      "answerChars": 238,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function getSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n    return steamID\nend\n```\nReason: A weak-key cache pays for `SteamID()` once per player entity, makes later hot-path reads plain table lookups, and releases entries after disconnected player entities are collected.",
      "durationMs": 15234,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 220,
        "totalTokens": 18050,
        "reasoningTokens": 81,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:43.713Z",
      "completedAt": "2026-07-10T17:34:58.948Z",
      "answerBytes": 451,
      "answerChars": 451,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pieces = {}\n\nfor i = 1, 10000 do\n    pieces[i] = \"piece \" .. i\nend\n\nlocal result = table.concat(pieces)\n```\nReason: Collecting pieces in a table and joining once with table.concat avoids repeatedly allocating and copying an ever-growing intermediate string.",
      "durationMs": 16369,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 85,
        "totalTokens": 17916,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:44.038Z",
      "completedAt": "2026-07-10T17:35:00.409Z",
      "answerBytes": 270,
      "answerChars": 270,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, width, height)\n```\nReason: `surface.DrawRect` directly draws a non-rounded rectangle, avoiding the extra overhead of `draw.RoundedBox(0, ...)`.",
      "durationMs": 14369,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 69,
        "totalTokens": 17902,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:44.137Z",
      "completedAt": "2026-07-10T17:34:58.508Z",
      "answerBytes": 201,
      "answerChars": 201,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal setFont = surface.SetFont\nlocal setTextColor = surface.SetTextColor\nlocal setTextPos = surface.SetTextPos\nlocal drawText = surface.DrawText\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    setFont(\"DermaDefault\")\n    setTextColor(255, 255, 255, 255)\n    setTextPos(24, 24)\n    drawText(\"Single-line text\")\nend)\n```\nReason: Direct surface.DrawText avoids draw.DrawText's multiline processing and SimpleTextOutlined's repeated offset draws.",
      "durationMs": 17218,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 346,
        "totalTokens": 18180,
        "reasoningTokens": 199,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:44.345Z",
      "completedAt": "2026-07-10T17:35:01.565Z",
      "answerBytes": 461,
      "answerChars": 461,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #tbl\n```\nReason: The length operator is the idiomatic and efficient choice for a sequential array-like table.",
      "durationMs": 9917,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17826,
        "completionTokens": 45,
        "totalTokens": 17871,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:44.520Z",
      "completedAt": "2026-07-10T17:34:54.439Z",
      "answerBytes": 131,
      "answerChars": 131,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Rebinding to a new empty table is generally faster because it avoids iterating over and deleting every entry in the existing table; use table.Empty(t) only when other references must see the same table cleared.",
      "durationMs": 14953,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 67,
        "totalTokens": 17898,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:44.959Z",
      "completedAt": "2026-07-10T17:34:59.914Z",
      "answerBytes": 236,
      "answerChars": 236,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Slower: linear scan through a list\nlocal allowed = { \"admin\", \"moderator\", \"vip\" }\nif table.HasValue(allowed, rank) then\n    -- allowed\nend\n\n-- Faster: set lookup\nlocal allowedSet = {\n    admin = true,\n    moderator = true,\n    vip = true,\n}\nif allowedSet[rank] then\n    -- allowed\nend\n```\nReason: A keyed set lookup is typically O(1), while table.HasValue scans the list in O(n) time.",
      "durationMs": 15176,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 135,
        "totalTokens": 17966,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:45.019Z",
      "completedAt": "2026-07-10T17:35:00.197Z",
      "answerBytes": 395,
      "answerChars": 395,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerData = {\n    health = 100,\n    armor = 50,\n    alive = true,\n}\n```\nReason: Putting known fields directly in the table constructor avoids separate post-construction assignments and is generally faster.",
      "durationMs": 10643,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 69,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:46.104Z",
      "completedAt": "2026-07-10T17:34:56.748Z",
      "answerBytes": 219,
      "answerChars": 219,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = tbl[math.random(#tbl)]\n```\nReason: A sequential table supports direct numeric indexing, avoiding table.Random's iteration overhead.",
      "durationMs": 14351,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 115,
        "totalTokens": 17943,
        "reasoningTokens": 64,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:46.294Z",
      "completedAt": "2026-07-10T17:35:00.648Z",
      "answerBytes": 152,
      "answerChars": 152,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Direct multiplication is the simplest fast form for squaring in a tight loop.",
      "durationMs": 13583,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17823,
        "completionTokens": 44,
        "totalTokens": 17867,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:48.443Z",
      "completedAt": "2026-07-10T17:35:02.028Z",
      "answerBytes": 118,
      "answerChars": 118,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor ply in player.Iterator() do\n    -- Use ply here.\nend\n```\nReason: player.Iterator() visits each currently connected player without allocating the table returned by player.GetAll().",
      "durationMs": 16902,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 112,
        "totalTokens": 17951,
        "reasoningTokens": 53,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:49.144Z",
      "completedAt": "2026-07-10T17:35:06.048Z",
      "answerBytes": 190,
      "answerChars": 190,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- Visit ent here.\n    end\nend\n```\nReason: `ents.Iterator()` traverses entities directly, so filtering by class does not first allocate a table of every entity.",
      "durationMs": 12825,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 147,
        "totalTokens": 17977,
        "reasoningTokens": 66,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:49.416Z",
      "completedAt": "2026-07-10T17:35:02.243Z",
      "answerBytes": 250,
      "answerChars": 250,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers a uniquely identified callback that runs on every Think hook.",
      "durationMs": 8234,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 51,
        "totalTokens": 17885,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:49.729Z",
      "completedAt": "2026-07-10T17:34:57.965Z",
      "answerBytes": 141,
      "answerChars": 141,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: IsValid checks that the reference exists and is not a removed entity before its methods are called.",
      "durationMs": 8756,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 57,
        "totalTokens": 17886,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:51.415Z",
      "completedAt": "2026-07-10T17:35:00.173Z",
      "answerBytes": 164,
      "answerChars": 164,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Read and handle the message here.\nend)\n```\nReason: `net.Receive` registers the callback that runs when `MyAddon.Sync` arrives.",
      "durationMs": 11720,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17824,
        "completionTokens": 65,
        "totalTokens": 17889,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:54.440Z",
      "completedAt": "2026-07-10T17:35:06.162Z",
      "answerBytes": 187,
      "answerChars": 187,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal zeroAngle = angle_zero -- reuse; treat as read-only\n```\nReason: Reusing Garry's Mod's predefined zero Angle avoids the allocation and constructor call from `Angle()`.",
      "durationMs": 38537,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 352,
        "totalTokens": 18182,
        "reasoningTokens": 293,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:55.703Z",
      "completedAt": "2026-07-10T17:35:34.242Z",
      "answerBytes": 179,
      "answerChars": 179,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal addonColor = Color(255, 255, 255)\nlocal color = addonColor\n```\nReason: A local variable avoids global and nested table lookups, making it fastest for frequent reads.",
      "durationMs": 13905,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 105,
        "totalTokens": 17942,
        "reasoningTokens": 42,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:55.874Z",
      "completedAt": "2026-07-10T17:35:09.781Z",
      "answerBytes": 178,
      "answerChars": 178,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP owns and synchronizes the job value through its DarkRPVar API, so use `getDarkRPVar(\"job\")` instead of reading a generic networked string directly.",
      "durationMs": 14468,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 73,
        "totalTokens": 17902,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:55.985Z",
      "completedAt": "2026-07-10T17:35:10.455Z",
      "answerBytes": 213,
      "answerChars": 213,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif positionA:DistToSqr(positionB) <= maxDistance * maxDistance then\n    -- Within range\nend\n```\nReason: `Vector:DistToSqr` avoids the square-root calculation required for the actual distance.",
      "durationMs": 13855,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 67,
        "totalTokens": 17899,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:56.749Z",
      "completedAt": "2026-07-10T17:35:10.605Z",
      "answerBytes": 198,
      "answerChars": 198,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- Process ent\nend\n```\nReason: `ents.Iterator()` visits every entity without allocating the table returned by `ents.GetAll()`.",
      "durationMs": 11733,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 103,
        "totalTokens": 17935,
        "reasoningTokens": 45,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:57.146Z",
      "completedAt": "2026-07-10T17:35:08.881Z",
      "answerBytes": 167,
      "answerChars": 167,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal nearbyEntities = ents.FindInSphere(ply:GetPos(), 512)\n```\nReason: ents.FindInSphere uses the engine’s spatial partition for a fast radius query and avoids the broader visibility semantics of FindInPVS.",
      "durationMs": 13467,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17847,
        "completionTokens": 137,
        "totalTokens": 17984,
        "reasoningTokens": 69,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:57.966Z",
      "completedAt": "2026-07-10T17:35:11.435Z",
      "answerBytes": 216,
      "answerChars": 214,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersNear(position, radius)\n    local nearby = {}\n    local radiusSquared = radius * radius\n    local players = player.GetAll()\n\n    for i = 1, #players do\n        local ply = players[i]\n        if position:DistToSqr(ply:GetPos()) <= radiusSquared then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: Iterating only `player.GetAll()` avoids scanning every entity in the sphere, and squared-distance checks avoid square roots.",
      "durationMs": 14277,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 222,
        "totalTokens": 18061,
        "reasoningTokens": 77,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:58.377Z",
      "completedAt": "2026-07-10T17:35:12.656Z",
      "answerBytes": 498,
      "answerChars": 498,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: Numeric for loops use specialized VM instructions and are generally faster than equivalent while loops.",
      "durationMs": 18615,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 104,
        "totalTokens": 17938,
        "reasoningTokens": 49,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:58.509Z",
      "completedAt": "2026-07-10T17:35:17.126Z",
      "answerBytes": 154,
      "answerChars": 154,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Slower: one hook dispatch per player.\nhook.Add(\"Tick\", \"CustomLogicPerPlayerSlow\", function()\n    for _, ply in ipairs(player.GetAll()) do\n        hook.Run(\"CustomPlayerTickSlow\", ply)\n    end\nend)\n\n-- Faster: one hook dispatch; listeners loop over the player list.\nhook.Add(\"Tick\", \"CustomLogicAllPlayersFast\", function()\n    hook.Run(\"CustomPlayerTick\", player.GetAll())\nend)\n\nhook.Add(\"CustomPlayerTick\", \"RunCustomLogic\", function(players)\n    for _, ply in ipairs(players) do\n        -- Custom per-player logic here.\n    end\nend)\n```\nReason: Dispatching one hook per tick avoids repeating hook lookup and callback dispatch overhead for every player.",
      "durationMs": 16851,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17844,
        "completionTokens": 313,
        "totalTokens": 18157,
        "reasoningTokens": 125,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:58.949Z",
      "completedAt": "2026-07-10T17:35:15.801Z",
      "answerBytes": 664,
      "answerChars": 664,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(health, \"DermaDefault\", 20, 20, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 40, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 60, color_white)\nend)\n```\nReason: Cache the health value once per HUDPaint call, avoiding two redundant LocalPlayer() lookups and Health() method calls.",
      "durationMs": 13551,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 178,
        "totalTokens": 18017,
        "reasoningTokens": 37,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:34:59.146Z",
      "completedAt": "2026-07-10T17:35:12.699Z",
      "answerBytes": 426,
      "answerChars": 426,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nfor i = 1, itemCount do\n    surface.SetDrawColor(WHITE)\n    -- Draw item i.\nend\n```\nReason: Creating the color once avoids allocating a new Color object on every iteration.",
      "durationMs": 12981,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 115,
        "totalTokens": 17942,
        "reasoningTokens": 34,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:34:59.914Z",
      "completedAt": "2026-07-10T17:35:12.896Z",
      "answerBytes": 215,
      "answerChars": 215,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 1000000 do\n    local value = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated global-table lookups inside the hot loop.",
      "durationMs": 4907,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 100,
        "totalTokens": 17927,
        "reasoningTokens": 27,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:00.174Z",
      "completedAt": "2026-07-10T17:35:05.082Z",
      "answerBytes": 179,
      "answerChars": 179,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal localPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    localPlayer = LocalPlayer()\nend)\n\n-- Hot path:\nlocal function Think()\n    if not IsValid(localPlayer) then return end\n\n    local health = localPlayer:Health()\nend\n```\nReason: Cache LocalPlayer() once after the client entity exists, then reuse the reference in hot paths to avoid repeated lookups.",
      "durationMs": 20769,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 207,
        "totalTokens": 18037,
        "reasoningTokens": 92,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:00.198Z",
      "completedAt": "2026-07-10T17:35:20.969Z",
      "answerBytes": 384,
      "answerChars": 384,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal FACING_DOT = 0.8 -- roughly within 37 degrees\n\nlocal function AreLookingAtEachOther(a, b)\n    local towardB = (b:EyePos() - a:EyePos()):GetNormalized()\n    return a:GetAimVector():Dot(towardB) >= FACING_DOT\n       and b:GetAimVector():Dot(towardB) <= -FACING_DOT\nend\n```\nReason: Dot products compare alignment directly against a precomputed threshold, avoiding the relatively expensive math.acos angle conversion.",
      "durationMs": 19386,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17844,
        "completionTokens": 342,
        "totalTokens": 18186,
        "reasoningTokens": 204,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:00.219Z",
      "completedAt": "2026-07-10T17:35:19.606Z",
      "answerBytes": 426,
      "answerChars": 426,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: A plain function call usually avoids the per-call method lookup and implicit self handling of ply:SomeHelper(), so it is generally faster for a helper you control.",
      "durationMs": 11244,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 60,
        "totalTokens": 17896,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:00.410Z",
      "completedAt": "2026-07-10T17:35:11.656Z",
      "answerBytes": 198,
      "answerChars": 198,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsg(\"debug line\\n\")\n```\nReason: `Msg` writes the preformatted string directly, avoiding `print`'s argument formatting overhead.",
      "durationMs": 14692,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 111,
        "totalTokens": 17940,
        "reasoningTokens": 58,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:00.418Z",
      "completedAt": "2026-07-10T17:35:15.111Z",
      "answerBytes": 134,
      "answerChars": 134,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #numbers do\n    local value = numbers[i]\n    -- use value\nend\n```\nReason: Numeric for typically has the least iterator overhead and is fastest for a large sequential array-like table.",
      "durationMs": 13427,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 167,
        "totalTokens": 18006,
        "reasoningTokens": 99,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:00.648Z",
      "completedAt": "2026-07-10T17:35:14.077Z",
      "answerBytes": 201,
      "answerChars": 201,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal players = player.GetAll()\nlocal aliveNames = {}\nlocal count = 0\n\nfor i = 1, #players do\n    local ply = players[i]\n    if ply:Alive() then\n        count = count + 1\n        aliveNames[count] = ply:Nick()\n    end\nend\n```\nReason: A fused numeric loop avoids combinator closures and the intermediate table produced by separate filter and map passes.",
      "durationMs": 54313,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17847,
        "completionTokens": 588,
        "totalTokens": 18435,
        "reasoningTokens": 473,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:01.566Z",
      "completedAt": "2026-07-10T17:35:55.881Z",
      "answerBytes": 359,
      "answerChars": 359,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\nlocal cachedPlayerCount = #cachedPlayers\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshPlayerCacheOnJoin\", function(ply)\n    cachedPlayerCount = cachedPlayerCount + 1\n    cachedPlayers[cachedPlayerCount] = ply\nend)\n\nhook.Add(\"PlayerDisconnected\", \"RefreshPlayerCacheOnLeave\", function(ply)\n    for i = 1, cachedPlayerCount do\n        if cachedPlayers[i] == ply then\n            cachedPlayers[i] = cachedPlayers[cachedPlayerCount]\n            cachedPlayers[cachedPlayerCount] = nil\n            cachedPlayerCount = cachedPlayerCount - 1\n            break\n        end\n    end\nend)\n\nhook.Add(\"Think\", \"ProcessCachedPlayers\", function()\n    for i = 1, cachedPlayerCount do\n        local ply = cachedPlayers[i]\n        -- Per-player work here.\n    end\nend)\n```\nReason: The hot hook iterates a dense cached array, while the more expensive player lookup and cache mutation happen only on load, join, or disconnect.",
      "durationMs": 16903,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 355,
        "totalTokens": 18201,
        "reasoningTokens": 99,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:02.028Z",
      "completedAt": "2026-07-10T17:35:18.932Z",
      "answerBytes": 945,
      "answerChars": 945,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerData = setmetatable({}, { __mode = \"k\" })\n\nlocal function SetPlayerData(ply, value)\n    playerData[ply] = value\nend\n\nlocal function GetPlayerData(ply)\n    return playerData[ply]\nend\n```\nReason: A local Lua table avoids the Player userdata field/metamethod lookup, and weak keys discard entries after players become unreachable.",
      "durationMs": 15077,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 154,
        "totalTokens": 17989,
        "reasoningTokens": 45,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:02.243Z",
      "completedAt": "2026-07-10T17:35:17.322Z",
      "answerBytes": 346,
      "answerChars": 346,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"alpha\", \"beta\", \"gamma\" }\n\nfor i = 1, #values do\n    local value = values[i]\nend\n```\nReason: A sequential number-indexed array supports a direct numeric loop, avoiding the hashing and generic-iterator overhead of string-keyed maps.",
      "durationMs": 11644,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 84,
        "totalTokens": 17918,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:05.084Z",
      "completedAt": "2026-07-10T17:35:16.730Z",
      "answerBytes": 256,
      "answerChars": 256,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 128, 64, 255)\n```\nReason: Separate numeric arguments avoid creating or unpacking a Color table on the hot draw path.",
      "durationMs": 6365,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 146,
        "totalTokens": 17987,
        "reasoningTokens": 88,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:06.049Z",
      "completedAt": "2026-07-10T17:35:12.415Z",
      "answerBytes": 149,
      "answerChars": 149,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal row = sql.QueryRow(\"SELECT money FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID))\n```\nReason: Local SQLite is typically lower latency because it avoids network round trips to a remote MySQL server.",
      "durationMs": 11664,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17859,
        "completionTokens": 68,
        "totalTokens": 17927,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:06.163Z",
      "completedAt": "2026-07-10T17:35:17.829Z",
      "answerBytes": 220,
      "answerChars": 220,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function getSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n    return steamID\nend\n```\nReason: The weak-key cache computes each player's stable SteamID once without retaining disconnected player entities.",
      "durationMs": 14780,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 200,
        "totalTokens": 18030,
        "reasoningTokens": 79,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:06.321Z",
      "completedAt": "2026-07-10T17:35:21.103Z",
      "answerBytes": 380,
      "answerChars": 380,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pieces = {}\n\nfor i = 1, 10000 do\n    pieces[i] = \"piece \" .. i\nend\n\nlocal result = table.concat(pieces)\n```\nReason: Collecting pieces and calling table.concat once avoids repeatedly copying the entire growing string, reducing construction from roughly quadratic to linear work.",
      "durationMs": 17623,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 87,
        "totalTokens": 17918,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:08.882Z",
      "completedAt": "2026-07-10T17:35:26.506Z",
      "answerBytes": 290,
      "answerChars": 290,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, width, height)\n```\nReason: `surface.DrawRect` draws a plain rectangle directly, avoiding the extra rounded-box helper overhead when the radius is zero.",
      "durationMs": 11851,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 65,
        "totalTokens": 17896,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:09.416Z",
      "completedAt": "2026-07-10T17:35:21.269Z",
      "answerBytes": 209,
      "answerChars": 209,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(20, 20)\nsurface.DrawText(\"Fast single-line text\")\n```\nReason: Direct `surface.*` calls avoid the extra Lua work in `draw.DrawText` and the multiple offset draws required by `draw.SimpleTextOutlined`.",
      "durationMs": 17396,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 150,
        "totalTokens": 17984,
        "reasoningTokens": 46,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:09.781Z",
      "completedAt": "2026-07-10T17:35:27.178Z",
      "answerBytes": 298,
      "answerChars": 298,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: The length operator is the direct, idiomatic way to get the length of a sequential array-like table.",
      "durationMs": 11436,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17824,
        "completionTokens": 50,
        "totalTokens": 17874,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:10.456Z",
      "completedAt": "2026-07-10T17:35:21.893Z",
      "answerBytes": 143,
      "answerChars": 143,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Replacing the reference avoids iterating over and deleting every entry, so it is generally faster when no other code needs the original table emptied in place.",
      "durationMs": 17177,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 96,
        "totalTokens": 17927,
        "reasoningTokens": 38,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:10.607Z",
      "completedAt": "2026-07-10T17:35:27.785Z",
      "answerBytes": 185,
      "answerChars": 185,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    [\"admin\"] = true,\n    [\"moderator\"] = true,\n}\n\nif allowed[userGroup] then\n    -- Value exists in the set.\nend\n```\nReason: A keyed table lookup is typically O(1), while table.HasValue scans the list in O(n) time.",
      "durationMs": 14477,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 135,
        "totalTokens": 17968,
        "reasoningTokens": 43,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:11.436Z",
      "completedAt": "2026-07-10T17:35:25.914Z",
      "answerBytes": 240,
      "answerChars": 240,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal data = {\n    name = \"example\",\n    count = 3,\n    enabled = true,\n}\n```\nReason: Putting known fields directly in the table constructor avoids separate post-construction assignments and is generally faster.",
      "durationMs": 11547,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 68,
        "totalTokens": 17900,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:11.656Z",
      "completedAt": "2026-07-10T17:35:23.204Z",
      "answerBytes": 218,
      "answerChars": 218,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = items[math.random(#items)]\n```\nReason: For a sequential table, direct numeric indexing avoids table.Random's generic key iteration and temporary key collection.",
      "durationMs": 11695,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 54,
        "totalTokens": 17882,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:12.416Z",
      "completedAt": "2026-07-10T17:35:24.113Z",
      "answerBytes": 181,
      "answerChars": 181,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Direct multiplication avoids the overhead of exponentiation and is preferred in a tight loop.",
      "durationMs": 8769,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17825,
        "completionTokens": 76,
        "totalTokens": 17901,
        "reasoningTokens": 29,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:12.657Z",
      "completedAt": "2026-07-10T17:35:21.427Z",
      "answerBytes": 134,
      "answerChars": 134,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- Use ply here.\nend\n```\nReason: player.Iterator() visits connected players directly without creating the table returned by player.GetAll().",
      "durationMs": 7210,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 125,
        "totalTokens": 17962,
        "reasoningTokens": 66,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:12.700Z",
      "completedAt": "2026-07-10T17:35:19.912Z",
      "answerBytes": 186,
      "answerChars": 186,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- Process ent here.\n    end\nend\n```\nReason: `ents.Iterator()` traverses entities directly, avoiding the full entity table created by `ents.GetAll()`.",
      "durationMs": 26901,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 198,
        "totalTokens": 18030,
        "reasoningTokens": 118,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:12.897Z",
      "completedAt": "2026-07-10T17:35:39.800Z",
      "answerBytes": 240,
      "answerChars": 240,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers a uniquely identified callback that runs on every Think hook.",
      "durationMs": 13340,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 51,
        "totalTokens": 17889,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:14.078Z",
      "completedAt": "2026-07-10T17:35:27.420Z",
      "answerBytes": 141,
      "answerChars": 141,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: IsValid returns false for nil, NULL, removed, or otherwise invalid entity references, so method calls stay guarded.",
      "durationMs": 16134,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 61,
        "totalTokens": 17892,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:15.113Z",
      "completedAt": "2026-07-10T17:35:31.248Z",
      "answerBytes": 180,
      "answerChars": 180,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Read and handle the message here.\nend)\n```\nReason: `net.Receive` registers the callback that runs when `MyAddon.Sync` arrives.",
      "durationMs": 14861,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17826,
        "completionTokens": 65,
        "totalTokens": 17891,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:15.802Z",
      "completedAt": "2026-07-10T17:35:30.665Z",
      "answerBytes": 187,
      "answerChars": 187,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal zeroAngle = angle_zero\n```\nReason: `angle_zero` reuses Garry's Mod's shared zero Angle and avoids allocating a new `Angle()` on every hot-path call.",
      "durationMs": 14955,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 106,
        "totalTokens": 17938,
        "reasoningTokens": 47,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:16.730Z",
      "completedAt": "2026-07-10T17:35:31.686Z",
      "answerBytes": 161,
      "answerChars": 161,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal configColor = Color(255, 255, 255)\nlocal color = configColor\n```\nReason: A local variable read avoids the global lookup and two table-key lookups required by `myaddon.config.color`.",
      "durationMs": 12822,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 132,
        "totalTokens": 17973,
        "reasoningTokens": 64,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:17.127Z",
      "completedAt": "2026-07-10T17:35:29.950Z",
      "answerBytes": 194,
      "answerChars": 194,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP owns and synchronizes the job variable, so its accessor is preferred over reading the underlying networked string directly.",
      "durationMs": 17325,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 60,
        "totalTokens": 17891,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:17.323Z",
      "completedAt": "2026-07-10T17:35:34.649Z",
      "answerBytes": 189,
      "answerChars": 189,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif posA:DistToSqr(posB) <= maxDistance * maxDistance then\n    -- Within range\nend\n```\nReason: `Vector:DistToSqr` avoids the square-root calculation required for the actual distance.",
      "durationMs": 11953,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 67,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:17.830Z",
      "completedAt": "2026-07-10T17:35:29.783Z",
      "answerBytes": 188,
      "answerChars": 188,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- Visit ent.\nend\n```\nReason: `ents.Iterator()` visits every entity directly and avoids allocating the table returned by `ents.GetAll()`.",
      "durationMs": 22642,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 110,
        "totalTokens": 17940,
        "reasoningTokens": 49,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:18.933Z",
      "completedAt": "2026-07-10T17:35:41.576Z",
      "answerBytes": 178,
      "answerChars": 178,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal radius = 512\nlocal origin = ply:GetPos()\nlocal extent = Vector(radius, radius, radius)\nlocal nearbyEntities = ents.FindInBox(origin - extent, origin + extent)\n```\nReason: `ents.FindInBox` uses the engine’s spatial partition and is commonly faster than broader Lua-side filtering while providing a cheap axis-aligned proximity query.",
      "durationMs": 16429,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17851,
        "completionTokens": 243,
        "totalTokens": 18094,
        "reasoningTokens": 146,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:19.606Z",
      "completedAt": "2026-07-10T17:35:36.036Z",
      "answerBytes": 347,
      "answerChars": 345,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersNear(position, radius)\n    local nearby = {}\n    local radiusSqr = radius * radius\n    local players = player.GetAll()\n\n    for i = 1, #players do\n        local ply = players[i]\n        if position:DistToSqr(ply:GetPos()) <= radiusSqr then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: Iterating only `player.GetAll()` avoids scanning unrelated entities, and squared-distance checks avoid a square root per player.",
      "durationMs": 14596,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17843,
        "completionTokens": 228,
        "totalTokens": 18071,
        "reasoningTokens": 81,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:19.913Z",
      "completedAt": "2026-07-10T17:35:34.510Z",
      "answerBytes": 494,
      "answerChars": 494,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: A numeric for loop generally uses fewer VM instructions than an equivalent while loop.",
      "durationMs": 20246,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 118,
        "totalTokens": 17954,
        "reasoningTokens": 64,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:20.463Z",
      "completedAt": "2026-07-10T17:35:40.710Z",
      "answerBytes": 137,
      "answerChars": 137,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: dispatch the custom hook once, then process every player.\nhook.Add(\"Tick\", \"NotifyCustomLogic\", function()\n    hook.Run(\"CustomPlayerTick\", player.GetAll())\nend)\n\nhook.Add(\"CustomPlayerTick\", \"ProcessPlayers\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- Custom per-player logic here.\n    end\nend)\n\n-- Slower pattern:\n-- for _, ply in ipairs(player.GetAll()) do\n--     hook.Run(\"CustomPlayerTick\", ply)\n-- end\n```\nReason: One hook.Run dispatch per tick avoids repeating hook lookup and callback dispatch overhead for every player.",
      "durationMs": 40245,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17844,
        "completionTokens": 456,
        "totalTokens": 18300,
        "reasoningTokens": 285,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:20.970Z",
      "completedAt": "2026-07-10T17:36:01.216Z",
      "answerBytes": 590,
      "answerChars": 590,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(health, \"DermaLarge\", 20, 20, color_white)\n    draw.SimpleText(health, \"DermaLarge\", 20, 50, color_white)\n    draw.SimpleText(health, \"DermaLarge\", 20, 80, color_white)\nend)\n```\nReason: Cache the health value once per HUDPaint call instead of repeating three Lua-to-engine method calls.",
      "durationMs": 10088,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 249,
        "totalTokens": 18088,
        "reasoningTokens": 113,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:21.104Z",
      "completedAt": "2026-07-10T17:35:31.194Z",
      "answerBytes": 402,
      "answerChars": 402,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nfor i = 1, itemCount do\n    surface.SetDrawColor(WHITE)\n    -- draw item i\nend\n```\nReason: Create the color once outside the loop to avoid repeated table allocations and constructor calls.",
      "durationMs": 20688,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 165,
        "totalTokens": 17994,
        "reasoningTokens": 83,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:21.269Z",
      "completedAt": "2026-07-10T17:35:41.958Z",
      "answerBytes": 231,
      "answerChars": 231,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 100000 do\n    local value = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated global and table lookups inside the hot loop.",
      "durationMs": 20857,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 101,
        "totalTokens": 17932,
        "reasoningTokens": 28,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:21.428Z",
      "completedAt": "2026-07-10T17:35:42.286Z",
      "answerBytes": 182,
      "answerChars": 182,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal cachedLocalPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    cachedLocalPlayer = LocalPlayer()\nend)\n\nhook.Add(\"Think\", \"UseCachedLocalPlayer\", function()\n    local ply = cachedLocalPlayer\n    if not IsValid(ply) then return end\n\n    -- Use ply here instead of repeatedly calling LocalPlayer().\nend)\n```\nReason: Cache the player once after client entities initialize, then reuse the local reference to avoid repeated global function calls and player lookups.",
      "durationMs": 12442,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 479,
        "totalTokens": 18313,
        "reasoningTokens": 344,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:21.894Z",
      "completedAt": "2026-07-10T17:35:34.337Z",
      "answerBytes": 490,
      "answerChars": 490,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal FACING_DOT = -0.8 -- closer to -1 means more directly opposed\n\nlocal function AimDirectionsFaceEachOther(playerA, playerB)\n    return playerA:GetAimVector():Dot(playerB:GetAimVector()) <= FACING_DOT\nend\n```\nReason: A dot product directly compares the aim vectors against a precomputed cosine threshold, avoiding the expensive and unnecessary math.acos call.",
      "durationMs": 32345,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 435,
        "totalTokens": 18281,
        "reasoningTokens": 328,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:23.207Z",
      "completedAt": "2026-07-10T17:35:55.554Z",
      "answerBytes": 370,
      "answerChars": 370,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: A local function call avoids the table/metatable lookup that `ply:SomeHelper()` performs, so it is generally faster.",
      "durationMs": 7306,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 119,
        "totalTokens": 17957,
        "reasoningTokens": 64,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:24.114Z",
      "completedAt": "2026-07-10T17:35:31.422Z",
      "answerBytes": 151,
      "answerChars": 151,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsg(\"debug line\\n\")\n```\nReason: Msg writes the preformatted string directly, avoiding print's argument formatting overhead.",
      "durationMs": 4408,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 93,
        "totalTokens": 17926,
        "reasoningTokens": 45,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:25.915Z",
      "completedAt": "2026-07-10T17:35:30.325Z",
      "answerBytes": 130,
      "answerChars": 130,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #numbers do\n    local value = numbers[i]\n    -- use value\nend\n```\nReason: A numeric for loop typically has the lowest iteration overhead for a large dense sequential table, outperforming ipairs and pairs.",
      "durationMs": 4085,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 70,
        "totalTokens": 17909,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:26.507Z",
      "completedAt": "2026-07-10T17:35:30.594Z",
      "answerBytes": 222,
      "answerChars": 222,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function filterMap(list, predicate, transform)\n    local result = {}\n    local resultCount = 0\n\n    for index = 1, #list do\n        local value = list[index]\n        if predicate(value) then\n            resultCount = resultCount + 1\n            result[resultCount] = transform(value)\n        end\n    end\n\n    return result\nend\n```\nReason: A fused numeric loop avoids the intermediate table, extra traversal, and combinator overhead of separate fn filter and map operations.",
      "durationMs": 36095,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17849,
        "completionTokens": 429,
        "totalTokens": 18278,
        "reasoningTokens": 296,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:27.179Z",
      "completedAt": "2026-07-10T17:36:03.276Z",
      "answerBytes": 486,
      "answerChars": 486,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\nlocal playerIndexes = {}\n\nfor index = 1, #cachedPlayers do\n    playerIndexes[cachedPlayers[index]] = index\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"PlayerCache.Add\", function(ply)\n    if playerIndexes[ply] then return end\n\n    local index = #cachedPlayers + 1\n    cachedPlayers[index] = ply\n    playerIndexes[ply] = index\nend)\n\nhook.Add(\"PlayerDisconnected\", \"PlayerCache.Remove\", function(ply)\n    local index = playerIndexes[ply]\n    if not index then return end\n\n    local lastIndex = #cachedPlayers\n    local lastPlayer = cachedPlayers[lastIndex]\n\n    cachedPlayers[index] = lastPlayer\n    cachedPlayers[lastIndex] = nil\n    playerIndexes[ply] = nil\n\n    if index ~= lastIndex then\n        playerIndexes[lastPlayer] = index\n    end\nend)\n\nhook.Add(\"Tick\", \"ProcessCachedPlayers\", function()\n    for index = 1, #cachedPlayers do\n        local ply = cachedPlayers[index]\n        -- Per-player work here.\n    end\nend)\n```\nReason: The hot hook reuses a dense array, while join and leave hooks maintain it with O(1) insertion and removal instead of allocating and populating player.GetAll() every tick.",
      "durationMs": 19020,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17852,
        "completionTokens": 735,
        "totalTokens": 18587,
        "reasoningTokens": 416,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:27.421Z",
      "completedAt": "2026-07-10T17:35:46.442Z",
      "answerBytes": 1141,
      "answerChars": 1141,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal someFieldByPlayer = setmetatable({}, { __mode = \"k\" })\n\nsomeFieldByPlayer[ply] = value\nlocal value = someFieldByPlayer[ply]\n```\nReason: A local Lua table keyed by the player avoids the slower Entity userdata field/metatable lookup on every read.",
      "durationMs": 45211,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 495,
        "totalTokens": 18330,
        "reasoningTokens": 408,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:27.786Z",
      "completedAt": "2026-07-10T17:36:13.001Z",
      "answerBytes": 258,
      "answerChars": 258,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"alpha\", \"beta\", \"gamma\" }\n\nfor i = 1, #values do\n    local value = values[i]\nend\n```\nReason: Sequential number-indexed arrays support faster numeric iteration than string-keyed maps, which require hash traversal.",
      "durationMs": 16458,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 190,
        "totalTokens": 18026,
        "reasoningTokens": 110,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:29.785Z",
      "completedAt": "2026-07-10T17:35:46.245Z",
      "answerBytes": 237,
      "answerChars": 237,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Separate numeric arguments avoid Color table creation and field lookups on the hot draw path.",
      "durationMs": 16175,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 185,
        "totalTokens": 18024,
        "reasoningTokens": 127,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:29.951Z",
      "completedAt": "2026-07-10T17:35:46.127Z",
      "answerBytes": 153,
      "answerChars": 153,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal row = sql.QueryRow(\"SELECT credits FROM player_data WHERE steamid64 = \" .. sql.SQLStr(steamID64))\n```\nReason: Local SQLite is typically lower latency because it runs in-process and avoids network round trips to a remote MySQL server.",
      "durationMs": 4079,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17859,
        "completionTokens": 74,
        "totalTokens": 17933,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:30.326Z",
      "completedAt": "2026-07-10T17:35:34.407Z",
      "answerBytes": 246,
      "answerChars": 246,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function getSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n    return steamID\nend\n```\nReason: A weak-key table replaces repeated engine method calls with cheap Lua table lookups without keeping disconnected player entities alive.",
      "durationMs": 22653,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 244,
        "totalTokens": 18076,
        "reasoningTokens": 118,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:30.595Z",
      "completedAt": "2026-07-10T17:35:53.250Z",
      "answerBytes": 406,
      "answerChars": 406,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slow: repeatedly copies the growing string.\nlocal result = \"\"\nfor i = 1, 10000 do\n    result = result .. tostring(i)\nend\n\n-- Faster: collect pieces, then join once.\nlocal pieces = {}\nfor i = 1, 10000 do\n    pieces[i] = tostring(i)\nend\nlocal fastResult = table.concat(pieces)\n```\nReason: table.concat joins all pieces in one pass, avoiding the repeated copying and allocation caused by growing a string with .. inside the loop.",
      "durationMs": 6218,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 183,
        "totalTokens": 18016,
        "reasoningTokens": 46,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:30.665Z",
      "completedAt": "2026-07-10T17:35:36.884Z",
      "answerBytes": 436,
      "answerChars": 436,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` draws a plain rectangle directly, avoiding the extra `draw.RoundedBox` wrapper work.",
      "durationMs": 7955,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 70,
        "totalTokens": 17907,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:31.194Z",
      "completedAt": "2026-07-10T17:35:39.152Z",
      "answerBytes": 184,
      "answerChars": 184,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal SetFont = surface.SetFont\nlocal SetTextColor = surface.SetTextColor\nlocal SetTextPos = surface.SetTextPos\nlocal DrawText = surface.DrawText\n\nlocal text = \"Single-line HUD text\"\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    SetFont(\"DermaDefault\")\n    SetTextColor(255, 255, 255, 255)\n    SetTextPos(32, 32)\n    DrawText(text)\nend)\n```\nReason: surface.DrawText avoids the wrapping, alignment, and outline work performed by draw.DrawText and draw.SimpleTextOutlined.",
      "durationMs": 27912,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 380,
        "totalTokens": 18212,
        "reasoningTokens": 223,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:31.249Z",
      "completedAt": "2026-07-10T17:35:59.163Z",
      "answerBytes": 490,
      "answerChars": 490,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #array\n```\nReason: The length operator is the idiomatic and efficient choice for a sequential array-like table.",
      "durationMs": 5848,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 45,
        "totalTokens": 17873,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:31.423Z",
      "completedAt": "2026-07-10T17:35:37.273Z",
      "answerBytes": 133,
      "answerChars": 133,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Rebinding creates a new empty table in constant time, while table.Empty(t) must remove existing entries; use table.Empty only when other references must observe the same table being cleared.",
      "durationMs": 6375,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 62,
        "totalTokens": 17895,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:31.687Z",
      "completedAt": "2026-07-10T17:35:38.065Z",
      "answerBytes": 216,
      "answerChars": 216,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    admin = true,\n    moderator = true,\n    developer = true,\n}\n\nif allowed[userGroup] then\n    -- Value exists in the set.\nend\n```\nReason: A keyed set lookup is effectively O(1), while table.HasValue scans the list in O(n) time.",
      "durationMs": 11679,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 136,
        "totalTokens": 17969,
        "reasoningTokens": 45,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:34.242Z",
      "completedAt": "2026-07-10T17:35:45.923Z",
      "answerBytes": 254,
      "answerChars": 254,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal data = {\n    name = \"example\",\n    count = 3,\n    enabled = true,\n}\n```\nReason: Putting known fields directly in the constructor avoids separate post-creation assignments and is typically faster.",
      "durationMs": 7900,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 67,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:34.338Z",
      "completedAt": "2026-07-10T17:35:42.240Z",
      "answerBytes": 208,
      "answerChars": 208,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = items[math.random(#items)]\n```\nReason: Sequential tables have dense numeric indices, so direct random indexing avoids the generic key-selection work performed by table.Random.",
      "durationMs": 4891,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 116,
        "totalTokens": 17946,
        "reasoningTokens": 58,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:34.409Z",
      "completedAt": "2026-07-10T17:35:39.305Z",
      "answerBytes": 196,
      "answerChars": 196,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication is faster than exponentiation for squaring in a tight loop.",
      "durationMs": 7913,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17825,
        "completionTokens": 77,
        "totalTokens": 17902,
        "reasoningTokens": 31,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:34.511Z",
      "completedAt": "2026-07-10T17:35:42.427Z",
      "answerBytes": 115,
      "answerChars": 115,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor ply in player.Iterator() do\n    -- Use ply here.\nend\n```\nReason: `player.Iterator()` visits every currently connected player without creating the table returned by `player.GetAll()`.",
      "durationMs": 21011,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 281,
        "totalTokens": 18120,
        "reasoningTokens": 219,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:34.652Z",
      "completedAt": "2026-07-10T17:35:55.665Z",
      "answerBytes": 193,
      "answerChars": 193,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- Process ent here.\n    end\nend\n```\nReason: `ents.Iterator()` traverses entities directly, avoiding the full entity table allocated by `ents.GetAll()`.",
      "durationMs": 7991,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 244,
        "totalTokens": 18076,
        "reasoningTokens": 164,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:36.038Z",
      "completedAt": "2026-07-10T17:35:44.031Z",
      "answerBytes": 242,
      "answerChars": 242,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers the callback for each Think event under the unique identifier MyAddon.Think.",
      "durationMs": 9069,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 101,
        "totalTokens": 17937,
        "reasoningTokens": 44,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:36.885Z",
      "completedAt": "2026-07-10T17:35:45.955Z",
      "answerBytes": 156,
      "answerChars": 156,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid(ent)` confirms the reference exists and has not been removed before you call entity methods.",
      "durationMs": 6668,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 108,
        "totalTokens": 17939,
        "reasoningTokens": 48,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:37.274Z",
      "completedAt": "2026-07-10T17:35:43.944Z",
      "answerBytes": 166,
      "answerChars": 166,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(length, player)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a callback for the named network message.",
      "durationMs": 5069,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17822,
        "completionTokens": 149,
        "totalTokens": 17971,
        "reasoningTokens": 87,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:38.065Z",
      "completedAt": "2026-07-10T17:35:43.136Z",
      "answerBytes": 183,
      "answerChars": 183,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal zeroAngle = angle_zero -- Reuse; do not mutate.\n\nlocal function hotPath()\n    return zeroAngle\nend\n```\nReason: Reusing the built-in zero Angle avoids repeated userdata allocation and constructor overhead.",
      "durationMs": 12091,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 470,
        "totalTokens": 18304,
        "reasoningTokens": 402,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:39.152Z",
      "completedAt": "2026-07-10T17:35:51.245Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal addonColor = Color(255, 255, 255)\nlocal color = addonColor\n```\nReason: A local read avoids the two table lookups required by `myaddon.config.color` and is faster than reading a global.",
      "durationMs": 27924,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 344,
        "totalTokens": 18183,
        "reasoningTokens": 274,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:39.305Z",
      "completedAt": "2026-07-10T17:36:07.232Z",
      "answerBytes": 197,
      "answerChars": 197,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP owns and synchronizes the `job` value through its DarkRPVar API, so use `getDarkRPVar` instead of accessing the underlying networked string directly.",
      "durationMs": 18348,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 183,
        "totalTokens": 18014,
        "reasoningTokens": 109,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:39.800Z",
      "completedAt": "2026-07-10T17:35:58.150Z",
      "answerBytes": 215,
      "answerChars": 215,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal maxDistance = 500\nif posA:DistToSqr(posB) <= maxDistance * maxDistance then\n    -- Within range.\nend\n```\nReason: Vector:DistToSqr avoids the unnecessary square root required to calculate the actual distance.",
      "durationMs": 6677,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 201,
        "totalTokens": 18033,
        "reasoningTokens": 125,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:40.711Z",
      "completedAt": "2026-07-10T17:35:47.389Z",
      "answerBytes": 220,
      "answerChars": 220,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- Process ent.\nend\n```\nReason: `ents.Iterator()` visits every entity without allocating the table returned by `ents.GetAll()`, making it the wiki-recommended efficient choice.",
      "durationMs": 16180,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 156,
        "totalTokens": 17984,
        "reasoningTokens": 88,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:41.577Z",
      "completedAt": "2026-07-10T17:35:57.758Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal origin = ply:GetPos()\nlocal extent = Vector(512, 512, 512)\nlocal nearbyEntities = ents.FindInBox(origin - extent, origin + extent)\n```\nReason: `ents.FindInBox` is commonly among the faster built-in spatial queries, trading spherical precision for a cheap axis-aligned lookup.",
      "durationMs": 7641,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17849,
        "completionTokens": 275,
        "totalTokens": 18124,
        "reasoningTokens": 185,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:41.959Z",
      "completedAt": "2026-07-10T17:35:49.601Z",
      "answerBytes": 288,
      "answerChars": 288,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersNear(position, radius)\n    local nearby = {}\n    local radiusSqr = radius * radius\n\n    for ply in player.Iterator() do\n        if ply:GetPos():DistToSqr(position) <= radiusSqr then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: `player.Iterator()` scans only players without allocating a full player list, while `DistToSqr` avoids the square root used by ordinary distance checks.",
      "durationMs": 11879,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 445,
        "totalTokens": 18286,
        "reasoningTokens": 311,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:42.240Z",
      "completedAt": "2026-07-10T17:35:54.121Z",
      "answerBytes": 460,
      "answerChars": 460,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: Numeric `for` generally runs faster because Lua handles the counter, limit check, and increment internally.",
      "durationMs": 18214,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 194,
        "totalTokens": 18028,
        "reasoningTokens": 135,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:42.287Z",
      "completedAt": "2026-07-10T17:36:00.503Z",
      "answerBytes": 158,
      "answerChars": 158,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Slower: repeats hook dispatch for every player.\nlocal function notifyPerPlayer()\n    for _, ply in ipairs(player.GetAll()) do\n        hook.Run(\"CustomPlayerTick\", ply)\n    end\nend\n\n-- Faster: dispatches once; listeners process the player batch.\nhook.Add(\"Tick\", \"NotifyCustomLogic\", function()\n    hook.Run(\"CustomPlayersTick\", player.GetAll())\nend)\n\nhook.Add(\"CustomPlayersTick\", \"RunCustomLogic\", function(players)\n    for i = 1, #players do\n        CustomLogic(players[i])\n    end\nend)\n```\nReason: One batched hook.Run per tick avoids repeating hook lookup and listener-dispatch overhead for every player.",
      "durationMs": 16097,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17844,
        "completionTokens": 694,
        "totalTokens": 18538,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:42.428Z",
      "completedAt": "2026-07-10T17:35:58.527Z",
      "answerBytes": 618,
      "answerChars": 618,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(health, \"DermaDefault\", 20, 20, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 40, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 60, color_white)\nend)\n```\nReason: Cache the health value once per HUDPaint call, avoiding two redundant LocalPlayer() lookups and Health() method calls.",
      "durationMs": 9662,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 388,
        "totalTokens": 18227,
        "reasoningTokens": 247,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:43.137Z",
      "completedAt": "2026-07-10T17:35:52.800Z",
      "answerBytes": 426,
      "answerChars": 426,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal white = Color(255, 255, 255)\n\nfor i = 1, #items do\n    surface.SetDrawColor(white)\n    -- draw item\nend\n```\nReason: Allocate the color once outside the loop instead of creating a new Color object every iteration.",
      "durationMs": 13671,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 173,
        "totalTokens": 18002,
        "reasoningTokens": 91,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:43.945Z",
      "completedAt": "2026-07-10T17:35:57.618Z",
      "answerBytes": 225,
      "answerChars": 225,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 100000 do\n    local value = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated global and table lookups inside the hot loop.",
      "durationMs": 4995,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 129,
        "totalTokens": 17958,
        "reasoningTokens": 56,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:44.032Z",
      "completedAt": "2026-07-10T17:35:49.029Z",
      "answerBytes": 182,
      "answerChars": 182,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal localPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    localPlayer = LocalPlayer()\nend)\n\nhook.Add(\"HUDPaint\", \"DrawPlayerInfo\", function()\n    if not IsValid(localPlayer) then return end\n\n    -- Use localPlayer here instead of calling LocalPlayer() repeatedly.\nend)\n```\nReason: Cache the player entity in a local upvalue after it becomes valid, so hot code performs a cheap local-variable read instead of repeated LocalPlayer() lookups.",
      "durationMs": 14440,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 528,
        "totalTokens": 18358,
        "reasoningTokens": 395,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:45.924Z",
      "completedAt": "2026-07-10T17:36:00.366Z",
      "answerBytes": 469,
      "answerChars": 469,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal LOOK_DOT = 0.8 -- roughly within 37 degrees\n\nlocal function AreLookingAtEachOther(a, b)\n    local towardB = b:EyePos() - a:EyePos()\n    towardB:Normalize()\n\n    return a:GetAimVector():Dot(towardB) >= LOOK_DOT\n       and b:GetAimVector():Dot(-towardB) >= LOOK_DOT\nend\n```\nReason: Dot products compare directly against a cosine threshold, avoiding the cost of math.acos while ensuring both players aim toward each other.",
      "durationMs": 17027,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17844,
        "completionTokens": 757,
        "totalTokens": 18601,
        "reasoningTokens": 616,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:45.958Z",
      "completedAt": "2026-07-10T17:36:02.987Z",
      "answerBytes": 432,
      "answerChars": 432,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function SomeHelper(ply)\n    -- helper logic\nend\n\nSomeHelper(ply)\n```\nReason: A local function call generally avoids the entity/metatable method lookup required by `ply:SomeHelper()`.",
      "durationMs": 21870,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 271,
        "totalTokens": 18109,
        "reasoningTokens": 204,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:46.128Z",
      "completedAt": "2026-07-10T17:36:08.001Z",
      "answerBytes": 196,
      "answerChars": 196,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsg(\"debug line\\n\")\n```\nReason: Msg avoids print's extra argument formatting and separator handling.",
      "durationMs": 13565,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 155,
        "totalTokens": 17984,
        "reasoningTokens": 111,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:46.245Z",
      "completedAt": "2026-07-10T17:35:59.812Z",
      "answerBytes": 107,
      "answerChars": 107,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #numbers do\n    local value = numbers[i]\n    -- Use value.\nend\n```\nReason: A numeric for loop avoids the iterator-function overhead of pairs and ipairs, making it typically fastest for a dense sequential array.",
      "durationMs": 6647,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 161,
        "totalTokens": 18000,
        "reasoningTokens": 87,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:46.442Z",
      "completedAt": "2026-07-10T17:35:53.091Z",
      "answerBytes": 228,
      "answerChars": 228,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function getRichPlayerNames(players, minimumMoney)\n    local names = {}\n    local count = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        local money = ply:getDarkRPVar(\"money\")\n\n        if money and money >= minimumMoney then\n            count = count + 1\n            names[count] = ply:Nick()\n        end\n    end\n\n    return names\nend\n```\nReason: A fused numeric loop avoids combinator calls, closures, and the intermediate table that separate filter and map passes create.",
      "durationMs": 17207,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17847,
        "completionTokens": 585,
        "totalTokens": 18432,
        "reasoningTokens": 437,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:47.389Z",
      "completedAt": "2026-07-10T17:36:04.598Z",
      "answerBytes": 509,
      "answerChars": 509,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\nlocal playerIndexes = {}\n\nfor index, ply in ipairs(cachedPlayers) do\n    playerIndexes[ply] = index\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"PlayerCache.Add\", function(ply)\n    if playerIndexes[ply] then return end\n\n    local index = #cachedPlayers + 1\n    cachedPlayers[index] = ply\n    playerIndexes[ply] = index\nend)\n\nhook.Add(\"PlayerDisconnected\", \"PlayerCache.Remove\", function(ply)\n    local index = playerIndexes[ply]\n    if not index then return end\n\n    local lastIndex = #cachedPlayers\n    local lastPlayer = cachedPlayers[lastIndex]\n\n    cachedPlayers[index] = lastPlayer\n    cachedPlayers[lastIndex] = nil\n    playerIndexes[ply] = nil\n\n    if index ~= lastIndex then\n        playerIndexes[lastPlayer] = index\n    end\nend)\n\nhook.Add(\"Tick\", \"ProcessCachedPlayers\", function()\n    for index = 1, #cachedPlayers do\n        local ply = cachedPlayers[index]\n        -- Per-player tick work here.\n    end\nend)\n```\nReason: The hot hook reuses one dense array, while rare join and leave events maintain it with constant-time insertion and removal.",
      "durationMs": 25408,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17848,
        "completionTokens": 1274,
        "totalTokens": 19122,
        "reasoningTokens": 968,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:49.030Z",
      "completedAt": "2026-07-10T17:36:14.438Z",
      "answerBytes": 1092,
      "answerChars": 1092,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal temporaryData = {}\n\ntemporaryData[ply] = value\nlocal value = temporaryData[ply]\n\nhook.Add(\"PlayerDisconnected\", \"ClearTemporaryData\", function(disconnectedPlayer)\n    temporaryData[disconnectedPlayer] = nil\nend)\n```\nReason: A local Lua table indexed by the player performs a direct table lookup and avoids the entity metatable lookup used by `ply.someField`.",
      "durationMs": 14342,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 489,
        "totalTokens": 18322,
        "reasoningTokens": 380,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:49.602Z",
      "completedAt": "2026-07-10T17:36:03.945Z",
      "answerBytes": 371,
      "answerChars": 371,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"alpha\", \"beta\", \"gamma\" }\n\nfor i = 1, #values do\n    local value = values[i]\nend\n```\nReason: Sequential number-indexed arrays use Lua’s optimized array storage and avoid the hash traversal required by string-keyed maps.",
      "durationMs": 9781,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 334,
        "totalTokens": 18170,
        "reasoningTokens": 251,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:51.245Z",
      "completedAt": "2026-07-10T17:36:01.028Z",
      "answerBytes": 246,
      "answerChars": 244,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Separate numeric arguments avoid Color object creation and component lookup overhead on the hot path.",
      "durationMs": 7490,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 223,
        "totalTokens": 18064,
        "reasoningTokens": 166,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:52.801Z",
      "completedAt": "2026-07-10T17:36:00.293Z",
      "answerBytes": 161,
      "answerChars": 161,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal result = sql.Query(\"SELECT credits FROM player_data WHERE steamid64 = \" .. sql.SQLStr(steamID64))\n```\nReason: Local SQLite typically has lower latency because it avoids network round trips to a remote MySQL server.",
      "durationMs": 4790,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17855,
        "completionTokens": 69,
        "totalTokens": 17924,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:53.091Z",
      "completedAt": "2026-07-10T17:35:57.883Z",
      "answerBytes": 227,
      "answerChars": 227,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function getSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n\n    return steamID\nend\n```\nReason: A weak-key cache pays for `ply:SteamID()` once per player while allowing disconnected player objects to be garbage-collected.",
      "durationMs": 29705,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 1474,
        "totalTokens": 19306,
        "reasoningTokens": 1343,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:53.251Z",
      "completedAt": "2026-07-10T17:36:22.960Z",
      "answerBytes": 397,
      "answerChars": 397,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slow: allocates a new string on every iteration.\nlocal slow = \"\"\nfor i = 1, 10000 do\n    slow = slow .. tostring(i)\nend\n\n-- Fast: collect pieces, then join once.\nlocal pieces = {}\nfor i = 1, 10000 do\n    pieces[i] = tostring(i)\nend\nlocal fast = table.concat(pieces)\n```\nReason: table.concat avoids repeatedly copying the entire growing string, reducing allocation and total work.",
      "durationMs": 7283,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 260,
        "totalTokens": 18091,
        "reasoningTokens": 131,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:54.122Z",
      "completedAt": "2026-07-10T17:36:01.407Z",
      "answerBytes": 389,
      "answerChars": 389,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, width, height)\n```\nReason: surface.DrawRect draws a plain rectangle directly, avoiding draw.RoundedBox's wrapper overhead.",
      "durationMs": 15107,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 338,
        "totalTokens": 18175,
        "reasoningTokens": 277,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:55.555Z",
      "completedAt": "2026-07-10T17:36:10.663Z",
      "answerBytes": 180,
      "answerChars": 180,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(\"DermaDefault\")\n    surface.SetTextColor(255, 255, 255, 255)\n    surface.SetTextPos(24, 24)\n    surface.DrawText(\"Single-line text\")\nend)\n```\nReason: surface.DrawText draws the known single line directly, avoiding draw.DrawText’s multiline handling and SimpleTextOutlined’s extra outline draw calls.",
      "durationMs": 9888,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 336,
        "totalTokens": 18170,
        "reasoningTokens": 215,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:55.665Z",
      "completedAt": "2026-07-10T17:36:05.557Z",
      "answerBytes": 384,
      "answerChars": 380,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #items\n```\nReason: `#` is the native length operator for sequential array-like tables; `table.Count` scans all keys.",
      "durationMs": 7704,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17826,
        "completionTokens": 139,
        "totalTokens": 17965,
        "reasoningTokens": 87,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:55.882Z",
      "completedAt": "2026-07-10T17:36:03.587Z",
      "answerBytes": 138,
      "answerChars": 138,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Replacing the reference avoids clearing every existing entry; use table.Empty(t) only when other references must observe the same table being emptied.",
      "durationMs": 6764,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 178,
        "totalTokens": 18013,
        "reasoningTokens": 123,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:57.619Z",
      "completedAt": "2026-07-10T17:36:04.386Z",
      "answerBytes": 176,
      "answerChars": 176,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Slower: scans the entire list.\nlocal allowedList = { \"admin\", \"superadmin\", \"moderator\" }\nlocal isAllowedSlow = table.HasValue(allowedList, userGroup)\n\n-- Faster: uses values as hash-table keys.\nlocal allowedSet = {\n    admin = true,\n    superadmin = true,\n    moderator = true,\n}\nlocal isAllowedFast = allowedSet[userGroup] == true\n```\nReason: Direct key lookup is O(1) on average, while table.HasValue performs an O(n) linear scan.",
      "durationMs": 7539,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 282,
        "totalTokens": 18113,
        "reasoningTokens": 139,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:57.759Z",
      "completedAt": "2026-07-10T17:36:05.300Z",
      "answerBytes": 443,
      "answerChars": 443,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal data = {\n    name = \"example\",\n    count = 3,\n    enabled = true,\n}\n```\nReason: A table constructor initializes known fields directly, avoiding separate field-assignment operations after creating an empty table.",
      "durationMs": 6309,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 156,
        "totalTokens": 17988,
        "reasoningTokens": 85,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:57.884Z",
      "completedAt": "2026-07-10T17:36:04.194Z",
      "answerBytes": 224,
      "answerChars": 224,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal randomElement = items[math.random(#items)]\n```\nReason: Direct numeric indexing avoids table.Random's traversal overhead for sequential tables.",
      "durationMs": 4968,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 133,
        "totalTokens": 17963,
        "reasoningTokens": 83,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:58.151Z",
      "completedAt": "2026-07-10T17:36:03.121Z",
      "answerBytes": 155,
      "answerChars": 155,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication avoids the overhead of the general-purpose exponentiation operator.",
      "durationMs": 19371,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17823,
        "completionTokens": 120,
        "totalTokens": 17943,
        "reasoningTokens": 76,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:58.528Z",
      "completedAt": "2026-07-10T17:36:17.901Z",
      "answerBytes": 123,
      "answerChars": 123,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-sol@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor ply in player.Iterator() do\n    -- Use ply here.\nend\n```\nReason: player.Iterator() visits connected players directly without creating the table returned by player.GetAll().",
      "durationMs": 13427,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 157,
        "totalTokens": 17994,
        "reasoningTokens": 99,
        "cachedTokens": 17152
      },
      "startedAt": "2026-07-10T17:35:59.164Z",
      "completedAt": "2026-07-10T17:36:12.592Z",
      "answerBytes": 183,
      "answerChars": 183,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal entity = ents.FindByClass(\"prop_physics\")\nfor _, prop in ipairs(entity) do\n    -- use prop\nend\n```\nReason: Garry's Mod does not expose a public lazy entity-class iterator; `ents.FindByClass` returns a table, so this cannot meet the stated constraint with documented Lua APIs.",
      "durationMs": 11808,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 88,
        "totalTokens": 17922,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:35:59.813Z",
      "completedAt": "2026-07-10T17:36:11.623Z",
      "answerBytes": 288,
      "answerChars": 288,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers the callback on Garry's Mod's Think hook under the identifier MyAddon.Think.",
      "durationMs": 12224,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 58,
        "totalTokens": 17896,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:00.294Z",
      "completedAt": "2026-07-10T17:36:12.529Z",
      "answerBytes": 156,
      "answerChars": 156,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:Remove()\nend\n```\nReason: `IsValid` returns false for `nil`, invalid entity userdata, and entities that have been removed, so guard method calls with it.",
      "durationMs": 11524,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 65,
        "totalTokens": 17898,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:00.366Z",
      "completedAt": "2026-07-10T17:36:11.892Z",
      "answerBytes": 188,
      "answerChars": 188,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a server- or client-side callback for an incoming net message by name.",
      "durationMs": 11890,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17824,
        "completionTokens": 67,
        "totalTokens": 17891,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:00.503Z",
      "completedAt": "2026-07-10T17:36:12.396Z",
      "answerBytes": 206,
      "answerChars": 206,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal zeroAngle = angle_zero\n\n-- Hot path: reuse Garry's Mod's shared zeroed Angle instead of Angle()\nentity:SetAngles(zeroAngle)\n```\nReason: `angle_zero` avoids allocating and initializing a new Angle userdata on every call.",
      "durationMs": 11477,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 73,
        "totalTokens": 17907,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:01.029Z",
      "completedAt": "2026-07-10T17:36:12.509Z",
      "answerBytes": 232,
      "answerChars": 232,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal myaddon_color = Color(255, 255, 255)\nlocal color = myaddon_color\n```\nReason: A local variable is faster to read than nested table indexing because it avoids table lookups; keep it scoped in a shared module rather than global when possible.",
      "durationMs": 21195,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 76,
        "totalTokens": 17915,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:01.217Z",
      "completedAt": "2026-07-10T17:36:22.414Z",
      "answerBytes": 252,
      "answerChars": 252,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n\n-- Avoid relying on the legacy networked-string key:\n-- local jobName = ply:GetNWString(\"job\")\n```\nReason: DarkRP exposes the job through its DarkRPVar API, which is the supported abstraction and avoids depending on a legacy NWString key.",
      "durationMs": 11931,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 90,
        "totalTokens": 17923,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:01.407Z",
      "completedAt": "2026-07-10T17:36:13.340Z",
      "answerBytes": 286,
      "answerChars": 286,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif posA:DistToSqr(posB) <= threshold * threshold then\n    -- within threshold\nend\n```\nReason: `DistToSqr` avoids the square-root calculation required for actual distance.",
      "durationMs": 5188,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 62,
        "totalTokens": 17894,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:02.990Z",
      "completedAt": "2026-07-10T17:36:08.182Z",
      "answerBytes": 177,
      "answerChars": 177,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    -- Use ent here.\nend\n```\nReason: `ents.Iterator()` is the wiki-recommended iterator for efficiently visiting every entity when you do not need a table from `ents.GetAll()`.",
      "durationMs": 11924,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 69,
        "totalTokens": 17899,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:03.122Z",
      "completedAt": "2026-07-10T17:36:15.047Z",
      "answerBytes": 216,
      "answerChars": 216,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal nearby = ents.FindInSphere(ply:GetPos(), 256)\n```\nReason: `ents.FindInSphere` is a fast built-in spatial query for nearby entities and is generally the practical default over PVS-based lookup for a fixed-radius search.",
      "durationMs": 12193,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17851,
        "completionTokens": 71,
        "totalTokens": 17922,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:03.277Z",
      "completedAt": "2026-07-10T17:36:15.474Z",
      "answerBytes": 231,
      "answerChars": 231,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersNear(pos, radius)\n    local radiusSqr = radius * radius\n    local nearby = {}\n\n    for _, ply in player.Iterator() do\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: Iterating the player list avoids the broader entity spatial query and player filtering; squared-distance comparison avoids a square root per player.",
      "durationMs": 22728,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17843,
        "completionTokens": 127,
        "totalTokens": 17970,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:03.588Z",
      "completedAt": "2026-07-10T17:36:26.317Z",
      "answerBytes": 449,
      "answerChars": 449,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: Numeric `for` is generally faster and clearer for a fixed 1-to-n count in Garry's Mod Lua.",
      "durationMs": 11643,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 61,
        "totalTokens": 17897,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:03.946Z",
      "completedAt": "2026-07-10T17:36:15.591Z",
      "answerBytes": 141,
      "answerChars": 141,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch per tick; listeners handle every player.\nhook.Run(\"CustomTickPlayers\", player.GetAll())\n\nhook.Add(\"CustomTickPlayers\", \"MyCustomLogic\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- Handle this player.\n    end\nend)\n\n-- Slower: repeats hook lookup/dispatch for every player.\n-- for i = 1, #player.GetAll() do\n--     hook.Run(\"CustomTickPlayer\", player.GetAll()[i])\n-- end\n```\nReason: A single hook dispatch avoids per-player hook lookup and callback iteration; iterate the player list inside each listener instead.",
      "durationMs": 9609,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 170,
        "totalTokens": 18016,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:04.195Z",
      "completedAt": "2026-07-10T17:36:13.808Z",
      "answerBytes": 590,
      "answerChars": 590,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(\"Health: \" .. health, \"DermaLarge\", 20, 20, color_white)\n    surface.SetDrawColor(255, 0, 0, 255)\n    surface.DrawRect(20, 60, health * 2, 20)\n    draw.SimpleText(health .. \"%\", \"DermaDefault\", 20, 85, color_white)\nend)\n```\nReason: Cache the player health once per frame and reuse the local value, avoiding two repeated Lua method calls.",
      "durationMs": 13035,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 156,
        "totalTokens": 17995,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:04.388Z",
      "completedAt": "2026-07-10T17:36:17.425Z",
      "answerBytes": 453,
      "answerChars": 453,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = color_white -- or: local WHITE = Color(255, 255, 255)\n\nfor i = 1, count do\n    surface.SetDrawColor(WHITE)\n    -- paint work\nend\n```\nReason: Reusing one shared color avoids allocating a new Color object on every paint-loop iteration.",
      "durationMs": 12020,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 87,
        "totalTokens": 17914,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:04.599Z",
      "completedAt": "2026-07-10T17:36:16.621Z",
      "answerBytes": 254,
      "answerChars": 254,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 100000 do\n    local value = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated table-field lookups in the hot loop.",
      "durationMs": 11273,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 70,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:05.301Z",
      "completedAt": "2026-07-10T17:36:16.576Z",
      "answerBytes": 173,
      "answerChars": 173,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Cache the function reference once, then reuse it.\nlocal LocalPlayer = LocalPlayer\n\nhook.Add(\"Think\", \"Example\", function()\n    local ply = LocalPlayer()\n    if not IsValid(ply) then return end\n\n    -- use ply\nend)\n```\nReason: Localizing the global function avoids repeated global-table lookups while still retrieving the current LocalPlayer each call.",
      "durationMs": 13466,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 103,
        "totalTokens": 17937,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:05.558Z",
      "completedAt": "2026-07-10T17:36:19.027Z",
      "answerBytes": 361,
      "answerChars": 361,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function PlayersLookingAtEachOther(a, b, threshold)\n    threshold = threshold or 0.7 -- 1 = directly facing; lower = more tolerant\n\n    local aAim = a:GetAimVector()\n    local bAim = b:GetAimVector()\n\n    return aAim:Dot(bAim) <= -threshold\nend\n```\nReason: Unit aim vectors have a dot product near -1 when they point in opposite directions, avoiding the expensive inverse-cosine angle calculation.",
      "durationMs": 12881,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17850,
        "completionTokens": 123,
        "totalTokens": 17973,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:07.232Z",
      "completedAt": "2026-07-10T17:36:20.115Z",
      "answerBytes": 410,
      "answerChars": 410,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: Direct function calls avoid the method lookup and implicit self argument setup, so they are generally faster for helpers you control.",
      "durationMs": 11320,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17840,
        "completionTokens": 51,
        "totalTokens": 17891,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:08.001Z",
      "completedAt": "2026-07-10T17:36:19.324Z",
      "answerBytes": 168,
      "answerChars": 168,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsg(\"debug line\\n\")\n```\nReason: `Msg` writes directly to the console and avoids `print`’s extra argument conversion and formatting overhead.",
      "durationMs": 11208,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 53,
        "totalTokens": 17884,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:08.183Z",
      "completedAt": "2026-07-10T17:36:19.393Z",
      "answerBytes": 149,
      "answerChars": 147,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #values do\n    local value = values[i]\n    -- use i and value\nend\n```\nReason: A numeric `for` directly indexes the sequential array and avoids the iterator-function overhead of `pairs` and `ipairs`.",
      "durationMs": 12066,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 75,
        "totalTokens": 17916,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:10.664Z",
      "completedAt": "2026-07-10T17:36:22.732Z",
      "answerBytes": 216,
      "answerChars": 216,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster than chaining DarkRP.fn filter/map combinators: one loop, one output table.\nlocal function activePlayerNames(players)\n    local names = {}\n    local count = 0\n\n    for i = 1, #players do\n        local player = players[i]\n        if IsValid(player) and player:Alive() then\n            count = count + 1\n            names[count] = player:Nick():upper()\n        end\n    end\n\n    return names\nend\n```\nReason: This fuses filtering and mapping into one indexed loop, avoiding combinator callbacks and intermediate tables.",
      "durationMs": 13866,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17849,
        "completionTokens": 190,
        "totalTokens": 18039,
        "reasoningTokens": 40,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:11.624Z",
      "completedAt": "2026-07-10T17:36:25.491Z",
      "answerBytes": 532,
      "answerChars": 532,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshCachedPlayers\", function()\n    cachedPlayers = player.GetAll()\nend)\n\nhook.Add(\"PlayerDisconnected\", \"RefreshCachedPlayers\", function()\n    cachedPlayers = player.GetAll()\nend)\n\nhook.Add(\"Tick\", \"UseCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        -- per-player tick work\n    end\nend)\n```\nReason: `player.GetAll()` runs only when membership changes, while the hot Tick path reuses the cached array and iterates it with a numeric loop.",
      "durationMs": 14764,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17848,
        "completionTokens": 164,
        "totalTokens": 18012,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:11.895Z",
      "completedAt": "2026-07-10T17:36:26.661Z",
      "answerBytes": 574,
      "answerChars": 574,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerValues = {}\n\n-- write\nplayerValues[ply] = value\n\n-- read\nlocal value = playerValues[ply]\n```\nReason: A plain Lua table indexed by the player avoids Garry's Mod entity-table field lookup overhead on frequent reads.",
      "durationMs": 13874,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 75,
        "totalTokens": 17912,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:12.398Z",
      "completedAt": "2026-07-10T17:36:26.274Z",
      "answerBytes": 232,
      "answerChars": 232,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for fixed ordered iteration: a sequential numeric array.\nlocal values = {\n    \"alpha\",\n    \"bravo\",\n    \"charlie\",\n}\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: Sequential number-indexed arrays use Lua’s array storage and support a tight indexed loop, while string-keyed maps require hash-table lookup and generic key iteration.",
      "durationMs": 22614,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 116,
        "totalTokens": 17954,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:12.509Z",
      "completedAt": "2026-07-10T17:36:35.126Z",
      "answerBytes": 387,
      "answerChars": 385,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Hot path: pass channels directly; avoid constructing/reading a Color table.\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Separate numeric arguments avoid Color-object/table overhead in a frequently executed draw call.",
      "durationMs": 11874,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17843,
        "completionTokens": 71,
        "totalTokens": 17914,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:12.530Z",
      "completedAt": "2026-07-10T17:36:24.406Z",
      "answerBytes": 235,
      "answerChars": 235,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal rows = sql.Query(\"SELECT value FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID))\n```\nReason: Local SQLite avoids network round trips and remote database overhead, so it is typically lower latency for a single server without cross-server synchronization.",
      "durationMs": 13240,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17859,
        "completionTokens": 74,
        "totalTokens": 17933,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:12.594Z",
      "completedAt": "2026-07-10T17:36:25.837Z",
      "answerBytes": 275,
      "answerChars": 275,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIdCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function GetSteamIDCached(ply)\n    local steamID = steamIdCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIdCache[ply] = steamID\n    end\n    return steamID\nend\n\n-- Hot path:\nlocal steamID = GetSteamIDCached(ply)\n\nhook.Add(\"PlayerDisconnected\", \"ClearSteamIDCache\", function(ply)\n    steamIdCache[ply] = nil\nend)\n```\nReason: SteamIDs do not change during a player's connection, so caching avoids repeated Lua-to-engine method calls while weak keys allow departed player objects to be collected.",
      "durationMs": 9785,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 182,
        "totalTokens": 18012,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:13.009Z",
      "completedAt": "2026-07-10T17:36:22.826Z",
      "answerBytes": 598,
      "answerChars": 598,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pieces = {}\n\nfor i = 1, 10000 do\n    pieces[i] = \"piece\" .. i\nend\n\n-- Slow: creates a new string on every iteration.\nlocal slow = \"\"\nfor i = 1, #pieces do\n    slow = slow .. pieces[i]\nend\n\n-- Fast: collect pieces, then concatenate once.\nlocal fast = table.concat(pieces)\n```\nReason: `table.concat` avoids repeatedly allocating and copying an ever-growing string.",
      "durationMs": 22568,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 127,
        "totalTokens": 17960,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:13.341Z",
      "completedAt": "2026-07-10T17:36:35.911Z",
      "answerBytes": 375,
      "answerChars": 375,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: This avoids draw.RoundedBox’s helper-call overhead when no corner rounding is needed.",
      "durationMs": 11499,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 64,
        "totalTokens": 17899,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:13.809Z",
      "completedAt": "2026-07-10T17:36:25.310Z",
      "answerBytes": 168,
      "answerChars": 166,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(x, y)\nsurface.DrawText(text)\n```\nReason: Direct `surface.*` calls avoid the extra layout, alignment, and outline work performed by `draw.DrawText` and `draw.SimpleTextOutlined`.",
      "durationMs": 13669,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 149,
        "totalTokens": 17983,
        "reasoningTokens": 52,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:14.439Z",
      "completedAt": "2026-07-10T17:36:28.109Z",
      "answerBytes": 276,
      "answerChars": 276,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: `#` is the preferred length operator for a sequential array-like table in Garry's Mod Lua.",
      "durationMs": 10984,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 50,
        "totalTokens": 17878,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:15.048Z",
      "completedAt": "2026-07-10T17:36:26.034Z",
      "answerBytes": 133,
      "answerChars": 133,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Prefer replacing the reference when no other code retains this table.\nt = {}\n```\nReason: `t = {}` is generally faster because it avoids iterating through and clearing every existing entry; use `table.Empty(t)` only when other references must observe the same table being emptied.",
      "durationMs": 4065,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 77,
        "totalTokens": 17912,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:15.475Z",
      "completedAt": "2026-07-10T17:36:19.541Z",
      "answerBytes": 289,
      "answerChars": 289,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Slower: scans every element in the list\nif table.HasValue(allowedWeapons, weaponClass) then\n    -- allowed\nend\n\n-- Faster: use a set for O(1)-average lookup\nlocal allowedWeapons = {\n    weapon_pistol = true,\n    weapon_smg1 = true,\n    weapon_shotgun = true,\n}\n\nif allowedWeapons[weaponClass] then\n    -- allowed\nend\n```\nReason: `table.HasValue` performs a linear scan, while keyed set lookup is O(1) on average.",
      "durationMs": 12796,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 139,
        "totalTokens": 17976,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:15.594Z",
      "completedAt": "2026-07-10T17:36:28.392Z",
      "answerBytes": 422,
      "answerChars": 422,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for a small table with known fields: initialize it in the constructor.\nlocal playerData = {\n    name = \"Iyda\",\n    score = 0,\n    alive = true,\n}\n\n-- Less efficient: creates the table, then performs separate field assignments.\n-- local playerData = {}\n-- playerData.name = \"Iyda\"\n-- playerData.score = 0\n-- playerData.alive = true\n```\nReason: A table constructor initializes the known fields as part of creation, avoiding separate post-creation assignment statements.",
      "durationMs": 14536,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 137,
        "totalTokens": 17969,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:16.576Z",
      "completedAt": "2026-07-10T17:36:31.114Z",
      "answerBytes": 484,
      "answerChars": 484,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = items[math.random(#items)]\n```\nReason: For a dense sequential table, direct indexed selection avoids `table.Random`'s extra work.",
      "durationMs": 11990,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 53,
        "totalTokens": 17885,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:16.622Z",
      "completedAt": "2026-07-10T17:36:28.615Z",
      "answerBytes": 150,
      "answerChars": 150,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication avoids a function call and is the direct arithmetic operation for squaring.",
      "durationMs": 4574,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 45,
        "totalTokens": 17872,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:17.428Z",
      "completedAt": "2026-07-10T17:36:22.003Z",
      "answerBytes": 131,
      "answerChars": 131,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- use ply\nend\n```\nReason: `player.Iterator()` iterates connected players without allocating the table returned by `player.GetAll()`. ",
      "durationMs": 11493,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 58,
        "totalTokens": 17897,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:17.901Z",
      "completedAt": "2026-07-10T17:36:29.396Z",
      "answerBytes": 180,
      "answerChars": 180,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- Handle ent\n    end\nend\n```\nReason: `ents.Iterator()` streams entities one at a time, avoiding construction of a full entity table.",
      "durationMs": 11972,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 73,
        "totalTokens": 17905,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:19.028Z",
      "completedAt": "2026-07-10T17:36:31.001Z",
      "answerBytes": 223,
      "answerChars": 223,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: `hook.Add` registers the callback for Garry's Mod's `Think` hook, and `MyAddon.Think` is its unique identifier.",
      "durationMs": 10705,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 69,
        "totalTokens": 17907,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:19.324Z",
      "completedAt": "2026-07-10T17:36:30.030Z",
      "answerBytes": 181,
      "answerChars": 181,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:Remove()\nend\n```\nReason: `IsValid` returns false for `nil`, invalid entities, and entities that have been removed, so it guards method calls safely.",
      "durationMs": 11563,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 64,
        "totalTokens": 17899,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:19.394Z",
      "completedAt": "2026-07-10T17:36:30.959Z",
      "answerBytes": 184,
      "answerChars": 184,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(length, sender)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a server- or client-side handler for incoming messages sent with `net.Start(\"MyAddon.Sync\")`.",
      "durationMs": 3919,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17824,
        "completionTokens": 74,
        "totalTokens": 17898,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:19.544Z",
      "completedAt": "2026-07-10T17:36:23.465Z",
      "answerBytes": 235,
      "answerChars": 235,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\n-- Reuse one zero Angle when the API only reads it.\nlocal ZERO_ANGLE = angle_zero\n\n-- Hot path:\nentity:SetAngles(ZERO_ANGLE)\n\n-- Avoid allocating a new Angle userdata each call:\n-- entity:SetAngles(Angle(0, 0, 0))\n\n-- If the callee may mutate it, pass a copy instead:\n-- entity:SetAngles(Angle(ZERO_ANGLE))\n```\nReason: `angle_zero` is Garry's Mod's shared zero-angle constant, so reusing it avoids repeated Angle userdata allocations; do not mutate the shared value.",
      "durationMs": 12243,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 149,
        "totalTokens": 17981,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:20.116Z",
      "completedAt": "2026-07-10T17:36:32.361Z",
      "answerBytes": 473,
      "answerChars": 473,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal color = Color(255, 255, 255)\nlocal currentColor = color\n```\nReason: A local variable avoids table lookups, so it is faster for frequent reads; use a table only when namespacing or runtime configurability matters.",
      "durationMs": 7832,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 72,
        "totalTokens": 17911,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:22.004Z",
      "completedAt": "2026-07-10T17:36:29.837Z",
      "answerBytes": 225,
      "answerChars": 225,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Preferred: DarkRP's job API\nlocal jobName = ply:getDarkRPVar(\"job\")\n\n-- Avoid for job lookup: legacy/manual networked-string access\nlocal oldJobName = ply:GetNWString(\"job\")\n```\nReason: `getDarkRPVar(\"job\")` is DarkRP's job-state API and follows its own synchronization contract; `GetNWString` is a generic legacy networked-variable lookup and may not reflect DarkRP's intended data path.",
      "durationMs": 9337,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 120,
        "totalTokens": 17951,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:22.415Z",
      "completedAt": "2026-07-10T17:36:31.753Z",
      "answerBytes": 398,
      "answerChars": 398,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif posA:DistToSqr(posB) <= maxDistance * maxDistance then\n    -- Within range\nend\n```\nReason: `DistToSqr` avoids the square-root calculation required for actual distance; compare it against the squared threshold.",
      "durationMs": 17309,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 71,
        "totalTokens": 17903,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:22.732Z",
      "completedAt": "2026-07-10T17:36:40.043Z",
      "answerBytes": 219,
      "answerChars": 219,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- Use ent\nend\n```\nReason: `ents.Iterator()` is the wiki-recommended efficient iterator for visiting every entity; use `ents.GetAll()` only when you need a reusable entity table.",
      "durationMs": 17072,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 68,
        "totalTokens": 17898,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:22.827Z",
      "completedAt": "2026-07-10T17:36:39.901Z",
      "answerBytes": 219,
      "answerChars": 219,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal nearby = ents.FindInSphere(player:GetPos(), 256)\n```\nReason: `ents.FindInSphere` is a fast built-in spatial query for nearby entities and avoids the broader visibility-driven behavior of `FindInPVS`.",
      "durationMs": 3855,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17851,
        "completionTokens": 68,
        "totalTokens": 17919,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:22.961Z",
      "completedAt": "2026-07-10T17:36:26.817Z",
      "answerBytes": 212,
      "answerChars": 212,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersNear(position, radius)\n    local radiusSqr = radius * radius\n    local players = player.GetAll()\n    local found = {}\n\n    for i = 1, #players do\n        local ply = players[i]\n        if ply:GetPos():DistToSqr(position) <= radiusSqr then\n            found[#found + 1] = ply\n        end\n    end\n\n    return found\nend\n```\nReason: Iterating `player.GetAll()` avoids scanning every entity, and squared-distance checks avoid square-root work.",
      "durationMs": 15489,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 181,
        "totalTokens": 18022,
        "reasoningTokens": 39,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:23.465Z",
      "completedAt": "2026-07-10T17:36:38.955Z",
      "answerBytes": 471,
      "answerChars": 471,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: A numeric `for` loop is generally faster in Garry's Mod Lua because its counter, bound, and increment are handled by the VM rather than repeated Lua-level condition and increment operations.",
      "durationMs": 6264,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 76,
        "totalTokens": 17910,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:24.406Z",
      "completedAt": "2026-07-10T17:36:30.672Z",
      "answerBytes": 246,
      "answerChars": 246,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch per tick; receivers iterate the supplied players.\nlocal players = player.GetAll()\nhook.Run(\"MyTickPlayers\", players)\n\n-- Slower: repeats hook lookup and dispatch once for every player.\nfor _, ply in ipairs(players) do\n    hook.Run(\"MyTickPlayer\", ply)\nend\n```\nReason: A single hook dispatch avoids repeating hook lookup and callback iteration for every player; pass the player list once and iterate it inside the hook receiver.",
      "durationMs": 5016,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 122,
        "totalTokens": 17968,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:25.311Z",
      "completedAt": "2026-07-10T17:36:30.329Z",
      "answerBytes": 463,
      "answerChars": 463,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"MyHUD\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(\"Health: \" .. health, \"DermaDefault\", 20, 20, color_white)\n    draw.RoundedBox(4, 20, 40, health * 2, 16, Color(255, 0, 0))\n    surface.DrawRect(20, 60, health * 2, 4)\nend)\n```\nReason: Cache the player health once per HUDPaint invocation and reuse it, avoiding two repeated Lua-to-engine method calls in the same frame.",
      "durationMs": 6079,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 154,
        "totalTokens": 17995,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:25.493Z",
      "completedAt": "2026-07-10T17:36:31.574Z",
      "answerBytes": 430,
      "answerChars": 430,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = color_white\n\nfor i = 1, count do\n    surface.SetDrawColor(WHITE)\n    -- paint work\nend\n```\nReason: Reusing Garry's Mod's shared `color_white` avoids allocating a new Color table on every iteration.",
      "durationMs": 11030,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 76,
        "totalTokens": 17905,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:25.838Z",
      "completedAt": "2026-07-10T17:36:36.870Z",
      "answerBytes": 218,
      "answerChars": 218,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 100000 do\n    local value = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated table-field lookups in the hot loop.",
      "durationMs": 11884,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 70,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:26.034Z",
      "completedAt": "2026-07-10T17:36:37.919Z",
      "answerBytes": 173,
      "answerChars": 173,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal LocalPlayer = LocalPlayer\n\nhook.Add(\"Think\", \"Example\", function()\n    local player = LocalPlayer()\n    if not IsValid(player) then return end\n\n    -- Use player here.\nend)\n```\nReason: Caching the global function in a local upvalue avoids repeated global-table lookup while still retrieving the current local player each call.",
      "durationMs": 5257,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 96,
        "totalTokens": 17930,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:26.275Z",
      "completedAt": "2026-07-10T17:36:31.535Z",
      "answerBytes": 339,
      "answerChars": 339,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function AreRoughlyLookingAtEachOther(a, b, threshold)\n    threshold = threshold or 0.7 -- higher means a tighter facing requirement\n\n    local aAim = a:GetAimVector()\n    local bAim = b:GetAimVector()\n\n    return aAim:Dot(-bAim) >= threshold\nend\n```\nReason: Aim vectors are normalized, so their dot product directly measures opposing alignment without the expensive `math.acos` angle conversion.",
      "durationMs": 5650,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 119,
        "totalTokens": 17965,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:26.318Z",
      "completedAt": "2026-07-10T17:36:31.970Z",
      "answerBytes": 409,
      "answerChars": 409,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: Passing `ply` to a plain/local helper avoids a metatable method lookup and is generally faster for helpers you control.",
      "durationMs": 13187,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17840,
        "completionTokens": 52,
        "totalTokens": 17892,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:26.662Z",
      "completedAt": "2026-07-10T17:36:39.852Z",
      "answerBytes": 154,
      "answerChars": 154,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug line\")\n```\nReason: `MsgN` writes directly to the console and avoids `print`’s general-purpose argument formatting overhead for a fixed debug string.",
      "durationMs": 3663,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 57,
        "totalTokens": 17890,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:26.818Z",
      "completedAt": "2026-07-10T17:36:30.483Z",
      "answerBytes": 169,
      "answerChars": 167,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #numbers do\n    local value = numbers[i]\n    -- use value\nend\n```\nReason: A numeric `for` avoids iterator-function overhead and is typically fastest for a dense sequential table.",
      "durationMs": 4052,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17843,
        "completionTokens": 66,
        "totalTokens": 17909,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:28.110Z",
      "completedAt": "2026-07-10T17:36:32.165Z",
      "answerBytes": 196,
      "answerChars": 196,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Faster than chaining DarkRP.fn.Filter/Map: one pass, no intermediate tables.\nlocal function activePlayerNames(players)\n    local names = {}\n    local count = 0\n\n    for i = 1, #players do\n        local player = players[i]\n        if IsValid(player) and player:Alive() then\n            count = count + 1\n            names[count] = player:Nick()\n        end\n    end\n\n    return names\nend\n\nlocal names = activePlayerNames(player.GetAll())\n```\nReason: A single indexed loop avoids combinator closures, repeated traversal, and intermediate table allocation.",
      "durationMs": 6790,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17851,
        "completionTokens": 207,
        "totalTokens": 18058,
        "reasoningTokens": 49,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:28.393Z",
      "completedAt": "2026-07-10T17:36:35.185Z",
      "answerBytes": 562,
      "answerChars": 562,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\n\nlocal function refreshPlayers()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshCachedPlayersOnJoin\", refreshPlayers)\nhook.Add(\"PlayerDisconnected\", \"RefreshCachedPlayersOnLeave\", refreshPlayers)\n\nrefreshPlayers()\n\nhook.Add(\"Tick\", \"UseCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- Per-player tick work.\n        end\n    end\nend)\n```\nReason: `player.GetAll()` only runs when the player roster changes, avoiding a new table allocation and roster lookup on every tick.",
      "durationMs": 5994,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17848,
        "completionTokens": 173,
        "totalTokens": 18021,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:28.616Z",
      "completedAt": "2026-07-10T17:36:34.612Z",
      "answerBytes": 625,
      "answerChars": 625,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal PlayerValues = {}\n\n-- Write\nPlayerValues[ply] = value\n\n-- Read\nlocal value = PlayerValues[ply]\n```\nReason: A module-local table lookup avoids the Player entity's Lua field access/metatable path, making repeated reads cheaper.",
      "durationMs": 9791,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 75,
        "totalTokens": 17910,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:29.396Z",
      "completedAt": "2026-07-10T17:36:39.189Z",
      "answerBytes": 238,
      "answerChars": 238,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for a fixed iterable collection: a dense, 1-based sequential array.\nlocal values = {\n    \"alpha\",\n    \"beta\",\n    \"gamma\",\n}\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n\n-- Avoid a string-keyed map when iteration is the job:\n-- local values = { first = \"alpha\", second = \"beta\", third = \"gamma\" }\n-- for key, value in pairs(values) do end\n```\nReason: A dense sequential array supports direct numeric indexing and predictable iteration, while string-keyed maps require hash lookups and are normally traversed with slower generic `pairs` iteration.",
      "durationMs": 5840,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 171,
        "totalTokens": 18007,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:29.838Z",
      "completedAt": "2026-07-10T17:36:35.679Z",
      "answerBytes": 591,
      "answerChars": 591,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster in a hot path: avoid constructing/passing a Color table.\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing separate numeric channels avoids Color-object/table handling on every draw call.",
      "durationMs": 4954,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17843,
        "completionTokens": 69,
        "totalTokens": 17912,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:30.031Z",
      "completedAt": "2026-07-10T17:36:34.987Z",
      "answerBytes": 215,
      "answerChars": 215,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal row = sql.QueryRow(\"SELECT coins FROM player_data WHERE steamid = \" .. sql.SQLStr(player:SteamID64()))\n```\nReason: Local SQLite avoids network round trips, so it is typically lower latency for a single server with no cross-server synchronization need.",
      "durationMs": 4080,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17857,
        "completionTokens": 75,
        "totalTokens": 17932,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:30.330Z",
      "completedAt": "2026-07-10T17:36:34.411Z",
      "answerBytes": 264,
      "answerChars": 264,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Cache per-player SteamIDs. Populate on join; clear on disconnect.\nlocal steamIdByPlayer = {}\n\nhook.Add(\"PlayerInitialSpawn\", \"CacheSteamID\", function(ply)\n    steamIdByPlayer[ply] = ply:SteamID()\nend)\n\nhook.Add(\"PlayerDisconnected\", \"ClearCachedSteamID\", function(ply)\n    steamIdByPlayer[ply] = nil\nend)\n\nlocal function GetCachedSteamID(ply)\n    local steamId = steamIdByPlayer[ply]\n    if steamId then\n        return steamId\n    end\n\n    steamId = ply:SteamID()\n    steamIdByPlayer[ply] = steamId\n    return steamId\nend\n\n-- Hot path:\nlocal steamId = GetCachedSteamID(ply)\n```\nReason: It replaces repeated Lua-to-engine SteamID() calls with an O(1) table lookup and releases the player reference on disconnect.",
      "durationMs": 6759,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 226,
        "totalTokens": 18058,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:30.484Z",
      "completedAt": "2026-07-10T17:36:37.246Z",
      "answerBytes": 721,
      "answerChars": 721,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pieces = {}\n\nfor i = 1, 10000 do\n    pieces[i] = \"piece\" .. i\nend\n\n-- Fast: one allocation/join pass.\nlocal result = table.concat(pieces)\n\n-- Slow for large strings: each .. creates a new string and copies prior content.\n-- local result = \"\"\n-- for i = 1, #pieces do\n--     result = result .. pieces[i]\n-- end\n```\nReason: table.concat joins all pieces in one pass, avoiding the repeated allocations and growing copies caused by `..` in a loop.",
      "durationMs": 5463,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 147,
        "totalTokens": 17978,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:30.673Z",
      "completedAt": "2026-07-10T17:36:36.138Z",
      "answerBytes": 456,
      "answerChars": 456,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` skips `draw.RoundedBox`’s wrapper and corner-radius handling when no rounding is needed.",
      "durationMs": 9889,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 72,
        "totalTokens": 17909,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:30.960Z",
      "completedAt": "2026-07-10T17:36:40.850Z",
      "answerBytes": 190,
      "answerChars": 188,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetFont(\"DermaDefault\")\nlocal text = \"Status: Ready\"\nlocal color = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetTextColor(color)\n    surface.SetTextPos(16, 16)\n    surface.DrawText(text)\nend)\n```\nReason: `surface.SetFont` once plus `surface.SetTextColor`/`SetTextPos`/`DrawText` avoids the extra alignment, outline, and convenience-layer work of `draw.DrawText` or `draw.SimpleTextOutlined` for fixed single-line text.",
      "durationMs": 11196,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 155,
        "totalTokens": 17991,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:31.007Z",
      "completedAt": "2026-07-10T17:36:42.209Z",
      "answerBytes": 479,
      "answerChars": 479,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: `#` is the idiomatic length operator for a sequential, array-like Lua table.",
      "durationMs": 3622,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17826,
        "completionTokens": 47,
        "totalTokens": 17873,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:31.116Z",
      "completedAt": "2026-07-10T17:36:34.740Z",
      "answerBytes": 119,
      "answerChars": 119,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Rebinding to a new empty table is generally faster because it avoids iterating over and clearing every existing entry; use it only when no other references need to observe the same table being emptied.",
      "durationMs": 4020,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 64,
        "totalTokens": 17897,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:31.536Z",
      "completedAt": "2026-07-10T17:36:35.558Z",
      "answerBytes": 227,
      "answerChars": 227,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Slow: scans every element in the list (O(n))\nlocal weapons = { \"weapon_pistol\", \"weapon_smg1\", \"weapon_shotgun\" }\nif table.HasValue(weapons, \"weapon_smg1\") then\n    print(\"found\")\nend\n\n-- Fast: use a lookup set (average O(1))\nlocal weaponSet = {\n    weapon_pistol = true,\n    weapon_smg1 = true,\n    weapon_shotgun = true,\n}\n\nif weaponSet[\"weapon_smg1\"] then\n    print(\"found\")\nend\n```\nReason: `table.HasValue` linearly scans a list, while keyed lookup uses Lua's hash table for average constant-time membership checks.",
      "durationMs": 5972,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 183,
        "totalTokens": 18022,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:31.582Z",
      "completedAt": "2026-07-10T17:36:37.558Z",
      "answerBytes": 529,
      "answerChars": 529,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for a small table with known fields: use the constructor.\nlocal playerState = {\n    health = 100,\n    armor = 50,\n    alive = true,\n}\n\n-- Slower:\n-- local playerState = {}\n-- playerState.health = 100\n-- playerState.armor = 50\n-- playerState.alive = true\n```\nReason: The table constructor creates and initializes the known fields in one operation, avoiding separate table field assignments.",
      "durationMs": 5277,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 122,
        "totalTokens": 17958,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:31.756Z",
      "completedAt": "2026-07-10T17:36:37.034Z",
      "answerBytes": 406,
      "answerChars": 406,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = values[math.random(#values)]\n```\nReason: For a dense sequential table, indexing a uniformly random integer from 1 to `#values` avoids `table.Random`'s extra general-case handling.",
      "durationMs": 4232,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 65,
        "totalTokens": 17895,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:31.970Z",
      "completedAt": "2026-07-10T17:36:36.204Z",
      "answerBytes": 200,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Direct multiplication avoids the overhead of a general-purpose power function in a tight loop.",
      "durationMs": 3208,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 45,
        "totalTokens": 17872,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:32.166Z",
      "completedAt": "2026-07-10T17:36:35.375Z",
      "answerBytes": 135,
      "answerChars": 135,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- use ply\nend\n```\nReason: `player.Iterator()` iterates connected players without allocating the table returned by `player.GetAll()`. ",
      "durationMs": 5674,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 58,
        "totalTokens": 17897,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:32.363Z",
      "completedAt": "2026-07-10T17:36:38.039Z",
      "answerBytes": 180,
      "answerChars": 180,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor entity in ents.Iterator() do\n    if entity:GetClass() == \"prop_physics\" then\n        -- Use entity here.\n    end\nend\n```\nReason: `ents.Iterator()` visits entities lazily, so no table containing every map entity is created.",
      "durationMs": 6637,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 218,
        "totalTokens": 18048,
        "reasoningTokens": 141,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:34.413Z",
      "completedAt": "2026-07-10T17:36:41.052Z",
      "answerBytes": 233,
      "answerChars": 233,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Runs every Think hook.\nend)\n```\nReason: `hook.Add` registers the callback for Garry's Mod's `Think` hook under the unique identifier `MyAddon.Think`.",
      "durationMs": 4032,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 75,
        "totalTokens": 17913,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:34.613Z",
      "completedAt": "2026-07-10T17:36:38.650Z",
      "answerBytes": 209,
      "answerChars": 209,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:Remove()\nend\n```\nReason: `IsValid(ent)` verifies the reference is a valid entity before calling entity methods.",
      "durationMs": 4039,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 54,
        "totalTokens": 17887,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:34.740Z",
      "completedAt": "2026-07-10T17:36:38.781Z",
      "answerBytes": 147,
      "answerChars": 147,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a server- or client-side callback for an incoming net message by name.",
      "durationMs": 9710,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17822,
        "completionTokens": 67,
        "totalTokens": 17889,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:34.987Z",
      "completedAt": "2026-07-10T17:36:44.700Z",
      "answerBytes": 206,
      "answerChars": 206,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal ang = angle_zero\n```\nReason: `angle_zero` reuses Garry's Mod's shared zero-angle constant, avoiding a new `Angle` allocation in the hot path; do not mutate it.",
      "durationMs": 5153,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 102,
        "totalTokens": 17936,
        "reasoningTokens": 39,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:35.127Z",
      "completedAt": "2026-07-10T17:36:40.282Z",
      "answerBytes": 172,
      "answerChars": 172,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal myaddonColor = Color(255, 255, 255)\nlocal color = myaddonColor\n```\nReason: A flat local uses Lua’s fastest lookup path and avoids the extra table field lookup; avoid globals because they are slower and can collide.",
      "durationMs": 13000,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17843,
        "completionTokens": 140,
        "totalTokens": 17983,
        "reasoningTokens": 66,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:35.186Z",
      "completedAt": "2026-07-10T17:36:48.190Z",
      "answerBytes": 229,
      "answerChars": 227,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- Preferred in DarkRP: uses DarkRP's authoritative job table.\nlocal jobName = team.GetName(ply:Team())\n\n-- Avoid for job lookup:\nlocal networkedJobName = ply:GetNWString(\"job\")\n```\nReason: `team.GetName(ply:Team())` reads the player’s current DarkRP team/job directly, while the networked `job` string is legacy replicated state and can be absent or stale.",
      "durationMs": 5086,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 114,
        "totalTokens": 17947,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:35.376Z",
      "completedAt": "2026-07-10T17:36:40.463Z",
      "answerBytes": 366,
      "answerChars": 364,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif posA:DistToSqr(posB) <= threshold * threshold then\n    -- vectors are within the threshold\nend\n```\nReason: `DistToSqr` avoids the unnecessary square-root calculation performed by `Distance`.",
      "durationMs": 3888,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 67,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:35.559Z",
      "completedAt": "2026-07-10T17:36:39.449Z",
      "answerBytes": 200,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, entity in ents.Iterator() do\n    -- Visit entity\nend\n```\nReason: `ents.Iterator()` avoids allocating the table that `ents.GetAll()` creates, so it is the preferred iterator when you only need to visit each entity once.",
      "durationMs": 13062,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 119,
        "totalTokens": 17947,
        "reasoningTokens": 47,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:35.680Z",
      "completedAt": "2026-07-10T17:36:48.747Z",
      "answerBytes": 232,
      "answerChars": 232,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal nearby = ents.FindInSphere(player:GetPos(), 256)\n```\nReason: `ents.FindInSphere` is a fast built-in spatial query for entities within a radius of the player.",
      "durationMs": 4976,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17847,
        "completionTokens": 118,
        "totalTokens": 17965,
        "reasoningTokens": 57,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:35.912Z",
      "completedAt": "2026-07-10T17:36:40.895Z",
      "answerBytes": 170,
      "answerChars": 170,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- player.GetAll() is cached by the engine; avoid allocating a broad entity list.\nlocal function FindPlayersNear(pos, radius)\n    local radiusSqr = radius * radius\n    local nearby = {}\n\n    for _, ply in ipairs(player.GetAll()) do\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: Iterating the player-only list avoids `ents.FindInSphere`'s broad entity query and filtering, while squared-distance checks avoid per-player square roots.",
      "durationMs": 5549,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17845,
        "completionTokens": 154,
        "totalTokens": 17999,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:36.139Z",
      "completedAt": "2026-07-10T17:36:41.693Z",
      "answerBytes": 543,
      "answerChars": 543,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: A numeric `for` loop is generally faster and clearer in Garry's Mod Lua because its counter, bound, and increment are handled by the VM.\n",
      "durationMs": 3905,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 70,
        "totalTokens": 17906,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:36.205Z",
      "completedAt": "2026-07-10T17:36:40.113Z",
      "answerBytes": 193,
      "answerChars": 193,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch, all players passed as data.\nhook.Run(\"MyAddonTickPlayers\", player.GetAll())\n\n-- Slower: repeats hook lookup and dispatch once per player.\nfor _, ply in ipairs(player.GetAll()) do\n    hook.Run(\"MyAddonTickPlayer\", ply)\nend\n```\nReason: One `hook.Run` performs the hook dispatch once; per-player handlers can iterate the supplied player list without repeating that dispatch for every player.",
      "durationMs": 5061,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17844,
        "completionTokens": 118,
        "totalTokens": 17962,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:36.870Z",
      "completedAt": "2026-07-10T17:36:41.932Z",
      "answerBytes": 425,
      "answerChars": 425,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"MyHUD\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(health, \"DermaLarge\", 20, 20)\n    surface.DrawRect(20, 50, health, 12)\n    draw.SimpleText(\"HP: \" .. health, \"DermaDefault\", 20, 70)\nend)\n```\nReason: Cache the per-frame health value once and reuse it, avoiding two redundant player method calls.",
      "durationMs": 5827,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 125,
        "totalTokens": 17966,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:37.035Z",
      "completedAt": "2026-07-10T17:36:42.863Z",
      "answerBytes": 356,
      "answerChars": 356,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nfor i = 1, count do\n    surface.SetDrawColor(WHITE)\n    -- paint work\nend\n```\nReason: Reusing one immutable color table avoids allocating a new Color object on every iteration.",
      "durationMs": 5561,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 78,
        "totalTokens": 17909,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:37.246Z",
      "completedAt": "2026-07-10T17:36:42.809Z",
      "answerBytes": 219,
      "answerChars": 219,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 1000000 do\n    local value = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated global/table lookups in the hot loop.",
      "durationMs": 3838,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 71,
        "totalTokens": 17902,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:37.558Z",
      "completedAt": "2026-07-10T17:36:41.401Z",
      "answerBytes": 175,
      "answerChars": 175,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal LocalPlayer = LocalPlayer\n\nhook.Add(\"Think\", \"Example\", function()\n    local player = LocalPlayer()\n    -- use player\nend)\n```\nReason: Caching the global function in a local avoids repeated global-table lookups while still retrieving the current local player when needed.",
      "durationMs": 4611,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 81,
        "totalTokens": 17919,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:37.920Z",
      "completedAt": "2026-07-10T17:36:42.532Z",
      "answerBytes": 284,
      "answerChars": 284,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function AreRoughlyLookingAtEachOther(playerA, playerB, threshold)\n    threshold = threshold or 0.7\n    return playerA:GetAimVector():Dot(playerB:GetAimVector()) <= -threshold\nend\n```\nReason: Aim vectors are normalized, so their dot product is a cheap comparison that becomes negative when they face opposite directions; this avoids the expensive inverse cosine calculation.",
      "durationMs": 5706,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 166,
        "totalTokens": 18012,
        "reasoningTokens": 62,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:38.040Z",
      "completedAt": "2026-07-10T17:36:43.748Z",
      "answerBytes": 387,
      "answerChars": 387,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: Direct function calls avoid method lookup through the player/metatable and are generally faster for helpers you control.",
      "durationMs": 4316,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17840,
        "completionTokens": 48,
        "totalTokens": 17888,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:38.651Z",
      "completedAt": "2026-07-10T17:36:42.969Z",
      "answerBytes": 155,
      "answerChars": 155,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug line\")\n```\nReason: `MsgN` writes directly to the console and avoids `print`'s extra formatting work.",
      "durationMs": 3582,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 50,
        "totalTokens": 17883,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:38.781Z",
      "completedAt": "2026-07-10T17:36:42.365Z",
      "answerBytes": 119,
      "answerChars": 119,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #values do\n    local value = values[i]\n    -- use i and value\nend\n```\nReason: A numeric `for` avoids the iterator-function overhead of `pairs` and `ipairs`; for a dense sequential array, it is typically the fastest of these options.",
      "durationMs": 4153,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 83,
        "totalTokens": 17924,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:38.956Z",
      "completedAt": "2026-07-10T17:36:43.110Z",
      "answerBytes": 250,
      "answerChars": 250,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Faster than chaining DarkRP.fn.Filter/Map: one indexed pass, no intermediate tables.\nlocal function activePlayerNames(players)\n    local names = {}\n    local count = 0\n\n    for i = 1, #players do\n        local player = players[i]\n        if IsValid(player) and player:Alive() then\n            count = count + 1\n            names[count] = player:Nick()\n        end\n    end\n\n    return names\nend\n```\nReason: A single indexed loop avoids combinator callback overhead and the intermediate table created between filter and map steps.",
      "durationMs": 6339,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17849,
        "completionTokens": 205,
        "totalTokens": 18054,
        "reasoningTokens": 56,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:39.190Z",
      "completedAt": "2026-07-10T17:36:45.530Z",
      "answerBytes": 538,
      "answerChars": 538,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal players = {}\n\nlocal function refreshPlayers()\n    players = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshCachedPlayersOnJoin\", function()\n    refreshPlayers()\nend)\n\nhook.Add(\"PlayerDisconnected\", \"RefreshCachedPlayersOnLeave\", function()\n    refreshPlayers()\nend)\n\nhook.Add(\"Think\", \"UseCachedPlayers\", function()\n    for i = 1, #players do\n        local ply = players[i]\n        -- Per-player tick work here.\n    end\nend)\n\nrefreshPlayers()\n```\nReason: `player.GetAll()` allocates/builds the player list only on join or disconnect, while the hot hook iterates the cached array each tick.",
      "durationMs": 7569,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17850,
        "completionTokens": 178,
        "totalTokens": 18028,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:39.450Z",
      "completedAt": "2026-07-10T17:36:47.021Z",
      "answerBytes": 615,
      "answerChars": 615,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerData = setmetatable({}, { __mode = \"k\" }) -- weak keys: data dies with the player\n\n-- Write\nplayerData[ply] = value\n\n-- Read (faster than a Lua entity field lookup)\nlocal value = playerData[ply]\n```\nReason: A Lua table keyed by the player avoids Garry's Mod Entity userdata field access on every read.",
      "durationMs": 4539,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 103,
        "totalTokens": 17936,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:39.853Z",
      "completedAt": "2026-07-10T17:36:44.393Z",
      "answerBytes": 320,
      "answerChars": 320,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for fixed-value iteration: a sequential, 1-based array.\nlocal values = {\n    \"alpha\",\n    \"beta\",\n    \"gamma\",\n}\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: Sequential integer keys use Lua's array part and support a tight numeric loop, avoiding hash lookup and unordered map traversal.",
      "durationMs": 5962,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 109,
        "totalTokens": 17947,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:39.902Z",
      "completedAt": "2026-07-10T17:36:45.867Z",
      "answerBytes": 342,
      "answerChars": 342,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Hot path: avoid allocating or unpacking a Color table each draw.\nsurface.SetDrawColor(r, g, b, a)\n```\nReason: Passing separate channel numbers avoids the Color-object/table argument path and is the lower-overhead style for repeated draw calls.",
      "durationMs": 4133,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 74,
        "totalTokens": 17913,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:40.043Z",
      "completedAt": "2026-07-10T17:36:44.178Z",
      "answerBytes": 253,
      "answerChars": 253,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal row = sql.QueryRow(\"SELECT value FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID))\n```\nReason: Local SQLite avoids network round trips, so it typically has lower read/write latency on a single server without cross-server synchronization.",
      "durationMs": 4393,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17857,
        "completionTokens": 73,
        "totalTokens": 17930,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:40.114Z",
      "completedAt": "2026-07-10T17:36:44.509Z",
      "answerBytes": 259,
      "answerChars": 259,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIdCache = setmetatable({}, { __mode = \"k\" }) -- weak keys: players can be collected\n\nlocal function CachedSteamID(ply)\n    local steamId = steamIdCache[ply]\n    if steamId == nil then\n        steamId = ply:SteamID()\n        steamIdCache[ply] = steamId\n    end\n    return steamId\nend\n\n-- Hot path:\nlocal steamId = CachedSteamID(ply)\n```\nReason: SteamID is stable for a connected player, so caching avoids repeated Lua-to-engine method calls while weak player keys prevent stale cache entries from retaining players.",
      "durationMs": 6230,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 156,
        "totalTokens": 17988,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:40.283Z",
      "completedAt": "2026-07-10T17:36:46.515Z",
      "answerBytes": 532,
      "answerChars": 532,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal parts = {}\n\nfor i = 1, 10000 do\n    parts[i] = \"piece \" .. i .. \"\\n\"\nend\n\nlocal largeString = table.concat(parts)\n```\nReason: `table.concat` joins the pieces in one pass, avoiding the repeated allocations and copying caused by growing a string with `..` inside the loop.",
      "durationMs": 12188,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 97,
        "totalTokens": 17930,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:40.464Z",
      "completedAt": "2026-07-10T17:36:52.654Z",
      "answerBytes": 283,
      "answerChars": 283,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.DrawRect(x, y, w, h)\n```\nReason: It draws the rectangle directly and avoids `draw.RoundedBox`'s wrapper overhead when no corner rounding is needed.",
      "durationMs": 12581,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 58,
        "totalTokens": 17895,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:40.851Z",
      "completedAt": "2026-07-10T17:36:53.434Z",
      "answerBytes": 162,
      "answerChars": 162,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Cache the font once (for example in a client initialization hook).\nsurface.CreateFont(\"HUD.FastText\", {\n    font = \"Roboto\",\n    size = 22,\n    weight = 500,\n    antialias = true,\n})\n\n-- Per frame: surface calls avoid draw.DrawText/SimpleTextOutlined helper overhead.\nsurface.SetFont(\"HUD.FastText\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(24, 24)\nsurface.DrawText(\"Single-line HUD text\")\n```\nReason: `surface.SetFont` + `surface.SetTextColor` + `surface.SetTextPos` + `surface.DrawText` is the leaner direct path for plain single-line text; use `draw.SimpleTextOutlined` only when the outline is visually required.",
      "durationMs": 14819,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 199,
        "totalTokens": 18035,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:40.896Z",
      "completedAt": "2026-07-10T17:36:55.717Z",
      "answerBytes": 645,
      "answerChars": 645,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: `#` is the preferred Lua length operator for a sequential array-like table.",
      "durationMs": 10881,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 45,
        "totalTokens": 17873,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:41.055Z",
      "completedAt": "2026-07-10T17:36:51.937Z",
      "answerBytes": 118,
      "answerChars": 118,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fastest when no other code needs to keep the same table object:\nt = {}\n```\nReason: `t = {}` allocates a new empty table, while `table.Empty(t)` must visit and remove the existing entries; use `table.Empty(t)` only when other references must observe the same table being cleared.",
      "durationMs": 17204,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 85,
        "totalTokens": 17918,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:41.403Z",
      "completedAt": "2026-07-10T17:36:58.612Z",
      "answerBytes": 288,
      "answerChars": 288,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Slower: linear scan through an array/list\nlocal allowed = { \"admin\", \"moderator\", \"vip\" }\nif table.HasValue(allowed, player:GetUserGroup()) then\n    -- allowed\nend\n\n-- Faster: use the values as keys for O(1) average lookup\nlocal allowedSet = {\n    admin = true,\n    moderator = true,\n    vip = true,\n}\n\nif allowedSet[player:GetUserGroup()] then\n    -- allowed\nend\n```\nReason: table.HasValue scans the list linearly, while a key lookup in a set is O(1) on average.",
      "durationMs": 13511,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 153,
        "totalTokens": 17988,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:41.694Z",
      "completedAt": "2026-07-10T17:36:55.207Z",
      "answerBytes": 473,
      "answerChars": 473,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for a small table with known fields:\nlocal playerData = {\n    name = \"Iyda\",\n    score = 0,\n    active = true,\n}\n\n-- Rather than:\n-- local playerData = {}\n-- playerData.name = \"Iyda\"\n-- playerData.score = 0\n-- playerData.active = true\n```\nReason: The table constructor creates and initializes the known fields in one expression, avoiding separate field-assignment operations.",
      "durationMs": 13606,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 120,
        "totalTokens": 17954,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:41.934Z",
      "completedAt": "2026-07-10T17:36:55.550Z",
      "answerBytes": 392,
      "answerChars": 392,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = items[math.random(#items)]\n```\nReason: A sequential table has contiguous numeric indices, so direct indexing avoids table.Random's unnecessary key collection/work.",
      "durationMs": 11440,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 54,
        "totalTokens": 17882,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:42.212Z",
      "completedAt": "2026-07-10T17:36:53.653Z",
      "answerBytes": 184,
      "answerChars": 184,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Direct multiplication avoids the overhead of a general exponentiation call in a tight loop.",
      "durationMs": 3658,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17825,
        "completionTokens": 45,
        "totalTokens": 17870,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:42.366Z",
      "completedAt": "2026-07-10T17:36:46.027Z",
      "answerBytes": 132,
      "answerChars": 132,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- use ply\nend\n```\nReason: `player.Iterator()` iterates the currently connected players without allocating the table returned by `player.GetAll()`.",
      "durationMs": 3791,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 60,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:42.532Z",
      "completedAt": "2026-07-10T17:36:46.325Z",
      "answerBytes": 193,
      "answerChars": 193,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, entity in ents.Iterator() do\n    if entity:GetClass() == \"prop_physics\" then\n        -- Use entity here.\n    end\nend\n```\nReason: `ents.Iterator()` iterates entities directly instead of materializing all map entities in a table.",
      "durationMs": 20517,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 177,
        "totalTokens": 18013,
        "reasoningTokens": 99,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:42.811Z",
      "completedAt": "2026-07-10T17:37:03.329Z",
      "answerBytes": 241,
      "answerChars": 241,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Runs every Think hook.\nend)\n```\nReason: `hook.Add` registers the callback for Garry's Mod's `Think` hook under the identifier `MyAddon.Think`.",
      "durationMs": 12510,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 74,
        "totalTokens": 17912,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:42.864Z",
      "completedAt": "2026-07-10T17:36:55.377Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:Remove()\nend\n```\nReason: `IsValid(ent)` returns true only while `ent` refers to a valid entity, preventing method calls on invalid or removed entities.",
      "durationMs": 12015,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 93,
        "totalTokens": 17928,
        "reasoningTokens": 27,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:42.969Z",
      "completedAt": "2026-07-10T17:36:54.986Z",
      "answerBytes": 187,
      "answerChars": 187,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Read payload here with net.Read* functions.\nend)\n```\nReason: `net.Receive` registers a server-side handler for incoming messages with that name.",
      "durationMs": 11298,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 66,
        "totalTokens": 17896,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:43.111Z",
      "completedAt": "2026-07-10T17:36:54.412Z",
      "answerBytes": 205,
      "answerChars": 205,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal workAngle = Angle()\n\n-- Hot path: reuse the same Angle when it will not escape this scope.\nworkAngle:Zero()\n```\nReason: `:Zero()` resets an existing Angle and avoids the allocation and garbage-collection cost of constructing `Angle()` each iteration.",
      "durationMs": 28907,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 459,
        "totalTokens": 18293,
        "reasoningTokens": 379,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:43.749Z",
      "completedAt": "2026-07-10T17:37:12.658Z",
      "answerBytes": 263,
      "answerChars": 263,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal myaddon_color = Color(255, 255, 255)\nlocal color = myaddon_color\n```\nReason: A local variable avoids the extra table lookups required by `myaddon.config.color` and is the fastest option for frequent reads.",
      "durationMs": 20313,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 173,
        "totalTokens": 18014,
        "reasoningTokens": 100,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:44.179Z",
      "completedAt": "2026-07-10T17:37:04.496Z",
      "answerBytes": 218,
      "answerChars": 218,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Preferred: DarkRP's job API\nlocal jobName = ply:getDarkRPVar(\"job\")\n\n-- Avoid for DarkRP job state:\n-- local jobName = ply:GetNWString(\"job\")\n```\nReason: `getDarkRPVar(\"job\")` reads DarkRP’s supported job variable and avoids relying on legacy networked-string state.",
      "durationMs": 14414,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 95,
        "totalTokens": 17928,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:44.394Z",
      "completedAt": "2026-07-10T17:36:58.809Z",
      "answerBytes": 278,
      "answerChars": 276,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif a:DistToSqr(b) <= threshold * threshold then\n    -- vectors are within the threshold\nend\n```\nReason: `DistToSqr` avoids the unnecessary square-root calculation performed when computing the actual distance.",
      "durationMs": 20322,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 96,
        "totalTokens": 17930,
        "reasoningTokens": 28,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:44.510Z",
      "completedAt": "2026-07-10T17:37:04.837Z",
      "answerBytes": 215,
      "answerChars": 215,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    -- Use ent\nend\n```\nReason: `ents.Iterator()` visits entities without allocating the table that `ents.GetAll()` creates, so it is the efficient wiki-recommended choice for a simple full-entity loop.",
      "durationMs": 15008,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 261,
        "totalTokens": 18093,
        "reasoningTokens": 186,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:44.701Z",
      "completedAt": "2026-07-10T17:36:59.711Z",
      "answerBytes": 241,
      "answerChars": 241,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal nearbyEntities = ents.FindInSphere(player:GetPos(), 512)\n```\nReason: `ents.FindInSphere` uses the engine’s spatial query instead of scanning every entity, making it a fast general-purpose nearby-entity lookup.",
      "durationMs": 14422,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17855,
        "completionTokens": 241,
        "totalTokens": 18096,
        "reasoningTokens": 172,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:45.531Z",
      "completedAt": "2026-07-10T17:36:59.955Z",
      "answerBytes": 224,
      "answerChars": 222,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInRadius(pos, radius)\n    local radiusSqr = radius * radius\n    local players = {}\n\n    for _, ply in player.Iterator() do\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            players[#players + 1] = ply\n        end\n    end\n\n    return players\nend\n```\nReason: Iterating only players avoids scanning every entity, and squared-distance checks avoid the square root used by distance calculations.",
      "durationMs": 17046,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17843,
        "completionTokens": 271,
        "totalTokens": 18114,
        "reasoningTokens": 145,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:45.868Z",
      "completedAt": "2026-07-10T17:37:02.917Z",
      "answerBytes": 442,
      "answerChars": 442,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: A numeric `for` loop is generally the faster and clearer counting-loop primitive in Garry's Mod Lua.",
      "durationMs": 13763,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 171,
        "totalTokens": 18007,
        "reasoningTokens": 109,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:46.028Z",
      "completedAt": "2026-07-10T17:36:59.793Z",
      "answerBytes": 156,
      "answerChars": 156,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch; listeners receive the whole player list.\nhook.Run(\"MyCustomTick\", player.GetAll())\n\n-- Slower: one hook dispatch for every player.\nfor _, ply in ipairs(player.GetAll()) do\n    hook.Run(\"MyCustomTick\", ply)\nend\n```\nReason: Dispatching the hook once avoids repeated hook lookup and listener calls for every player.",
      "durationMs": 18998,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17850,
        "completionTokens": 318,
        "totalTokens": 18168,
        "reasoningTokens": 213,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:46.326Z",
      "completedAt": "2026-07-10T17:37:05.326Z",
      "answerBytes": 349,
      "answerChars": 349,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal health = LocalPlayer():Health()\n\ndraw.RoundedBox(4, 20, 20, health * 2, 24, Color(220, 60, 60))\ndraw.SimpleText(health, \"DermaDefault\", 24, 24, color_white)\ndraw.SimpleText(\"HP: \" .. health, \"DermaDefault\", 24, 52, color_white)\n```\nReason: Cache `LocalPlayer():Health()` once per HUDPaint frame to avoid two repeated player-method calls.",
      "durationMs": 14278,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17845,
        "completionTokens": 219,
        "totalTokens": 18064,
        "reasoningTokens": 85,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:46.516Z",
      "completedAt": "2026-07-10T17:37:00.795Z",
      "answerBytes": 350,
      "answerChars": 350,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = color_white -- or: local WHITE = Color(255, 255, 255)\n\nfor i = 1, count do\n    surface.SetDrawColor(WHITE)\n    -- draw\nend\n```\nReason: Reusing one color avoids allocating a new Color object on every paint-loop iteration.",
      "durationMs": 11984,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 85,
        "totalTokens": 17912,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:47.022Z",
      "completedAt": "2026-07-10T17:36:59.008Z",
      "answerBytes": 241,
      "answerChars": 241,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 100000 do\n    local value = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated global/table lookups inside the hot loop.",
      "durationMs": 6516,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 70,
        "totalTokens": 17901,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:48.191Z",
      "completedAt": "2026-07-10T17:36:54.708Z",
      "answerBytes": 178,
      "answerChars": 178,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal localPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    localPlayer = LocalPlayer()\nend)\n\n-- Hot path:\nif IsValid(localPlayer) then\n    local health = localPlayer:Health()\nend\n```\nReason: Cache the player entity after client entities initialize, so hot paths reuse a local reference instead of repeatedly calling `LocalPlayer()`.",
      "durationMs": 21079,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 622,
        "totalTokens": 18456,
        "reasoningTokens": 516,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:48.748Z",
      "completedAt": "2026-07-10T17:37:09.829Z",
      "answerBytes": 361,
      "answerChars": 361,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function AreLookingAtEachOther(a, b)\n    return a:GetAimVector():Dot(b:GetAimVector()) <= -0.75\nend\n```\nReason: The dot product is near -1 when two normalized aim vectors point in opposite directions, avoiding the expensive `math.acos` angle calculation.",
      "durationMs": 21484,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17850,
        "completionTokens": 197,
        "totalTokens": 18047,
        "reasoningTokens": 112,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:51.938Z",
      "completedAt": "2026-07-10T17:37:13.424Z",
      "answerBytes": 267,
      "answerChars": 267,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: A direct helper call avoids the player metatable method lookup that `ply:SomeHelper()` performs.",
      "durationMs": 13306,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17840,
        "completionTokens": 143,
        "totalTokens": 17983,
        "reasoningTokens": 93,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:52.655Z",
      "completedAt": "2026-07-10T17:37:05.963Z",
      "answerBytes": 131,
      "answerChars": 131,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug: hot path reached\")\n```\nReason: `MsgN` writes directly to the Garry's Mod console and avoids `print`’s extra Lua output handling.",
      "durationMs": 9040,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 141,
        "totalTokens": 17974,
        "reasoningTokens": 81,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:53.435Z",
      "completedAt": "2026-07-10T17:37:02.477Z",
      "answerBytes": 150,
      "answerChars": 148,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #values do\n    local value = values[i]\n    -- use i and value\nend\n```\nReason: A numeric `for` avoids iterator-function calls and is typically fastest for a dense sequential array; `pairs` is unordered and `ipairs` adds iterator overhead.",
      "durationMs": 12142,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 82,
        "totalTokens": 17923,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:53.654Z",
      "completedAt": "2026-07-10T17:37:05.797Z",
      "answerBytes": 255,
      "answerChars": 255,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Filter active players and map them to SteamIDs in one pass.\n-- Faster than chaining fn.Filter(...)(players) then fn.Map(...)(result).\nlocal function activeSteamIDs(players)\n    local steamIDs = {}\n    local count = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n\n        if IsValid(ply) and ply:Alive() then\n            count = count + 1\n            steamIDs[count] = ply:SteamID()\n        end\n    end\n\n    return steamIDs\nend\n\nlocal steamIDs = activeSteamIDs(player.GetAll())\n```\nReason: A numeric loop fuses the filter and map into one pass, avoiding combinator callbacks and an intermediate table.",
      "durationMs": 8625,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17853,
        "completionTokens": 279,
        "totalTokens": 18132,
        "reasoningTokens": 95,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:54.413Z",
      "completedAt": "2026-07-10T17:37:03.039Z",
      "answerBytes": 624,
      "answerChars": 624,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\n\nlocal function refreshPlayerCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"MyAddon.RefreshPlayerCacheOnJoin\", refreshPlayerCache)\nhook.Add(\"PlayerDisconnected\", \"MyAddon.RefreshPlayerCacheOnLeave\", refreshPlayerCache)\n\nhook.Add(\"Tick\", \"MyAddon.ProcessPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        -- Per-player tick work.\n    end\nend)\n```\nReason: `player.GetAll()` now runs only on join and leave events, while Tick iterates the cached array directly.",
      "durationMs": 20302,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17852,
        "completionTokens": 503,
        "totalTokens": 18355,
        "reasoningTokens": 336,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:36:54.709Z",
      "completedAt": "2026-07-10T17:37:15.012Z",
      "answerBytes": 585,
      "answerChars": 585,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal temporaryData = {}\n\ntemporaryData[ply] = value\n\nlocal value = temporaryData[ply]\n\nhook.Add(\"PlayerDisconnected\", \"ClearTemporaryPlayerData\", function(ply)\n    temporaryData[ply] = nil\nend)\n```\nReason: An ordinary Lua table keyed by the player bypasses the Player entity metatable’s dynamic field lookup, making repeated reads cheaper; clear it on disconnect to avoid retaining player references.",
      "durationMs": 17214,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 401,
        "totalTokens": 18238,
        "reasoningTokens": 286,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:54.986Z",
      "completedAt": "2026-07-10T17:37:12.202Z",
      "answerBytes": 410,
      "answerChars": 408,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = {\n    \"alpha\",\n    \"bravo\",\n    \"charlie\",\n}\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: Sequential numeric indices form Lua’s array part, enabling faster indexed iteration than hash-based string-keyed maps.",
      "durationMs": 13282,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 168,
        "totalTokens": 18004,
        "reasoningTokens": 73,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:55.207Z",
      "completedAt": "2026-07-10T17:37:08.491Z",
      "answerBytes": 271,
      "answerChars": 269,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255)\n```\nReason: Passing separate numeric channels avoids Color object allocation and lookup overhead in a hot draw path.",
      "durationMs": 12967,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 175,
        "totalTokens": 18014,
        "reasoningTokens": 120,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:55.378Z",
      "completedAt": "2026-07-10T17:37:08.346Z",
      "answerBytes": 159,
      "answerChars": 159,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal rows = sql.Query(\"SELECT value FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID))\n```\nReason: Local SQLite typically has lower read/write latency on one server because it avoids remote network round trips and MySQL connection overhead.",
      "durationMs": 12330,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17861,
        "completionTokens": 134,
        "totalTokens": 17995,
        "reasoningTokens": 60,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:55.551Z",
      "completedAt": "2026-07-10T17:37:07.882Z",
      "answerBytes": 256,
      "answerChars": 256,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIdCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function CachedSteamID(ply)\n    local steamId = steamIdCache[ply]\n    if not steamId then\n        steamId = ply:SteamID()\n        steamIdCache[ply] = steamId\n    end\n    return steamId\nend\n\n-- Hot path:\nlocal steamId = CachedSteamID(ply)\n```\nReason: SteamID values are immutable per player, so this replaces repeated native method calls with a cheap table lookup while weak keys avoid retaining disconnected players.",
      "durationMs": 18976,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 452,
        "totalTokens": 18286,
        "reasoningTokens": 304,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:55.717Z",
      "completedAt": "2026-07-10T17:37:14.695Z",
      "answerBytes": 486,
      "answerChars": 486,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal parts = {}\n\nfor i = 1, 10000 do\n    parts[i] = \"piece\" .. i\nend\n\nlocal result = table.concat(parts)\n```\nReason: `table.concat` joins the pieces once, avoiding the repeated string allocations and copies caused by growing a string with `..` in a loop.",
      "durationMs": 16834,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 143,
        "totalTokens": 17976,
        "reasoningTokens": 51,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:58.613Z",
      "completedAt": "2026-07-10T17:37:15.448Z",
      "answerBytes": 262,
      "answerChars": 262,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, width, height)\n```\nReason: It avoids `draw.RoundedBox`'s wrapper and directly issues the rectangle draw.",
      "durationMs": 11352,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17837,
        "completionTokens": 65,
        "totalTokens": 17902,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:58.810Z",
      "completedAt": "2026-07-10T17:37:10.164Z",
      "answerBytes": 167,
      "answerChars": 167,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(24, 24)\nsurface.DrawText(\"Status: ready\")\n```\nReason: Direct surface text calls avoid the extra alignment, font, color, and outline work performed by draw.DrawText and draw.SimpleTextOutlined.",
      "durationMs": 19671,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 210,
        "totalTokens": 18046,
        "reasoningTokens": 111,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:59.008Z",
      "completedAt": "2026-07-10T17:37:18.681Z",
      "answerBytes": 291,
      "answerChars": 291,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #items\n```\nReason: `#` is the idiomatic Lua length operator for sequential array-like tables.",
      "durationMs": 10974,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17828,
        "completionTokens": 44,
        "totalTokens": 17872,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:59.711Z",
      "completedAt": "2026-07-10T17:37:10.687Z",
      "answerBytes": 115,
      "answerChars": 115,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: `t = {}` replaces the table in constant time, while `table.Empty(t)` iterates through and removes every existing entry; only use replacement when other code does not need to retain the same table reference.",
      "durationMs": 13131,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 164,
        "totalTokens": 18005,
        "reasoningTokens": 93,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:59.794Z",
      "completedAt": "2026-07-10T17:37:12.926Z",
      "answerBytes": 232,
      "answerChars": 232,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Slow for repeated lookups: table.HasValue({ \"admin\", \"moderator\" }, role)\nlocal allowedRoles = {\n    admin = true,\n    moderator = true,\n    user = true,\n}\n\nif allowedRoles[role] then\n    -- role exists in the set\nend\n```\nReason: Key lookup is typically O(1), while table.HasValue scans the list in O(n).",
      "durationMs": 20578,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 192,
        "totalTokens": 18027,
        "reasoningTokens": 82,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:36:59.955Z",
      "completedAt": "2026-07-10T17:37:20.535Z",
      "answerBytes": 314,
      "answerChars": 314,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: create and populate the table in one constructor.\nlocal playerInfo = {\n    name = \"Alyx\",\n    score = 42,\n    alive = true,\n}\n\n-- Slower:\n-- local playerInfo = {}\n-- playerInfo.name = \"Alyx\"\n-- playerInfo.score = 42\n-- playerInfo.alive = true\n```\nReason: A table constructor initializes the known fields during creation, avoiding separate field-assignment operations.",
      "durationMs": 13032,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 122,
        "totalTokens": 17958,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:00.796Z",
      "completedAt": "2026-07-10T17:37:13.829Z",
      "answerBytes": 385,
      "answerChars": 385,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal element = items[math.random(#items)]\n```\nReason: It indexes the array directly using its cached-length operator, avoiding table.Random’s general-purpose table handling.",
      "durationMs": 14818,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 247,
        "totalTokens": 18077,
        "reasoningTokens": 191,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:02.477Z",
      "completedAt": "2026-07-10T17:37:17.297Z",
      "answerBytes": 183,
      "answerChars": 181,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication avoids the slower exponentiation operator in a tight loop.",
      "durationMs": 11964,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 120,
        "totalTokens": 17949,
        "reasoningTokens": 76,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:02.918Z",
      "completedAt": "2026-07-10T17:37:14.885Z",
      "answerBytes": 114,
      "answerChars": 114,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- use ply\nend\n```\nReason: `player.Iterator()` iterates connected players without allocating the table returned by `player.GetAll()`. ",
      "durationMs": 13489,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17843,
        "completionTokens": 169,
        "totalTokens": 18012,
        "reasoningTokens": 109,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:03.040Z",
      "completedAt": "2026-07-10T17:37:16.531Z",
      "answerBytes": 180,
      "answerChars": 180,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- Visit ent here.\n    end\nend\n```\nReason: ents.Iterator() traverses entities incrementally instead of creating an all-entities table.",
      "durationMs": 28439,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 592,
        "totalTokens": 18424,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:03.330Z",
      "completedAt": "2026-07-10T17:37:31.771Z",
      "answerBytes": 227,
      "answerChars": 227,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Runs every Think hook.\nend)\n```\nReason: `hook.Add` registers the callback for Garry's Mod's `Think` hook under the identifier `MyAddon.Think`.",
      "durationMs": 11494,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 74,
        "totalTokens": 17908,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:04.497Z",
      "completedAt": "2026-07-10T17:37:15.992Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:Remove()\nend\n```\nReason: `IsValid(ent)` verifies that the entity reference exists and has not been removed before methods are called.",
      "durationMs": 13608,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 143,
        "totalTokens": 17974,
        "reasoningTokens": 83,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:04.837Z",
      "completedAt": "2026-07-10T17:37:18.449Z",
      "answerBytes": 169,
      "answerChars": 169,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a server- or client-side handler for a named incoming net message.",
      "durationMs": 11682,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 17824,
        "completionTokens": 66,
        "totalTokens": 17890,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:05.327Z",
      "completedAt": "2026-07-10T17:37:17.010Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\n-- Use this when the Angle will only be read/passed through.\nlocal ang = angle_zero\n```\nReason: `angle_zero` is Garry's Mod's preallocated zero Angle, avoiding `Angle()` allocation and constructor overhead; never mutate the shared value.",
      "durationMs": 32108,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 1109,
        "totalTokens": 18941,
        "reasoningTokens": 1034,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:05.798Z",
      "completedAt": "2026-07-10T17:37:37.908Z",
      "answerBytes": 244,
      "answerChars": 244,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal MYADDON_COLOR = Color(255, 255, 255)\nlocal color = MYADDON_COLOR\n```\nReason: A local variable is faster to read than a nested table lookup; avoid globals on hot paths.",
      "durationMs": 15342,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 279,
        "totalTokens": 18118,
        "reasoningTokens": 211,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:05.964Z",
      "completedAt": "2026-07-10T17:37:21.308Z",
      "answerBytes": 180,
      "answerChars": 180,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: `getDarkRPVar` is DarkRP’s supported accessor for its synchronized job variable.",
      "durationMs": 14989,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 255,
        "totalTokens": 18088,
        "reasoningTokens": 199,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:07.883Z",
      "completedAt": "2026-07-10T17:37:22.874Z",
      "answerBytes": 141,
      "answerChars": 139,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif vectorA:DistToSqr(vectorB) <= threshold * threshold then\n    -- vectors are within threshold\nend\n```\nReason: DistToSqr avoids the unnecessary square-root calculation; compare it with the squared threshold.",
      "durationMs": 12342,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 202,
        "totalTokens": 18034,
        "reasoningTokens": 134,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:08.347Z",
      "completedAt": "2026-07-10T17:37:20.690Z",
      "answerBytes": 215,
      "answerChars": 215,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    -- Visit ent\nend\n```\nReason: `ents.Iterator()` avoids allocating the table created by `ents.GetAll()`.",
      "durationMs": 26343,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 252,
        "totalTokens": 18084,
        "reasoningTokens": 196,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:08.492Z",
      "completedAt": "2026-07-10T17:37:34.836Z",
      "answerBytes": 146,
      "answerChars": 146,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal nearby = ents.FindInSphere(ply:GetPos(), 256)\n```\nReason: `ents.FindInSphere` is a fast engine spatial query for entities within a radius around the player.",
      "durationMs": 16160,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 17851,
        "completionTokens": 326,
        "totalTokens": 18177,
        "reasoningTokens": 265,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:09.829Z",
      "completedAt": "2026-07-10T17:37:25.991Z",
      "answerBytes": 169,
      "answerChars": 169,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function findPlayersInRadius(pos, radius)\n    local radiusSqr = radius * radius\n    local players = {}\n\n    for _, ply in player.Iterator() do\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            players[#players + 1] = ply\n        end\n    end\n\n    return players\nend\n```\nReason: Iterating only players avoids allocating and filtering all nearby entities, while squared-distance checks avoid an expensive square root.",
      "durationMs": 22058,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 17845,
        "completionTokens": 642,
        "totalTokens": 18487,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:10.165Z",
      "completedAt": "2026-07-10T17:37:32.224Z",
      "answerBytes": 446,
      "answerChars": 446,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: Numeric `for` loops use LuaJIT's specialized loop instructions and are generally faster for fixed counting ranges.",
      "durationMs": 11314,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 186,
        "totalTokens": 18020,
        "reasoningTokens": 125,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:10.688Z",
      "completedAt": "2026-07-10T17:37:22.003Z",
      "answerBytes": 165,
      "answerChars": 165,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: dispatch the custom hook once per tick.\nhook.Add(\"Tick\", \"MyAddon.NotifyPlayers\", function()\n    hook.Run(\"MyAddon.PlayerTick\", player.GetAll())\nend)\n\nhook.Add(\"MyAddon.PlayerTick\", \"CustomLogic\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- Per-player custom logic here.\n    end\nend)\n\n-- Slower: dispatches the entire hook chain once for every player.\n-- hook.Add(\"Tick\", \"MyAddon.NotifyPlayers\", function()\n--     local players = player.GetAll()\n--     for i = 1, #players do\n--         hook.Run(\"MyAddon.PlayerTick\", players[i])\n--     end\n-- end)\n```\nReason: One hook dispatch avoids repeating Garry's Mod hook lookup and callback traversal for every player; listeners can loop over the shared player list once.",
      "durationMs": 23784,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 17842,
        "completionTokens": 740,
        "totalTokens": 18582,
        "reasoningTokens": 516,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:12.202Z",
      "completedAt": "2026-07-10T17:37:35.988Z",
      "answerBytes": 775,
      "answerChars": 775,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local health = LocalPlayer():Health()\n    local healthText = tostring(health)\n\n    draw.SimpleText(healthText, \"DermaLarge\", 20, 20, color_white)\n    draw.SimpleText(healthText, \"DermaDefault\", 20, 50, color_white)\n    draw.SimpleText(healthText, \"DermaDefaultBold\", 20, 75, color_white)\nend)\n```\nReason: Cache the health value once per frame and reuse it across all three draw calls.",
      "durationMs": 14797,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 17839,
        "completionTokens": 663,
        "totalTokens": 18502,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:12.658Z",
      "completedAt": "2026-07-10T17:37:27.457Z",
      "answerBytes": 441,
      "answerChars": 441,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nfor i = 1, count do\n    surface.SetDrawColor(WHITE)\n    -- paint work\nend\n```\nReason: Reusing one color avoids allocating a new table and creating garbage on every iteration.",
      "durationMs": 19811,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 535,
        "totalTokens": 18364,
        "reasoningTokens": 455,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:12.929Z",
      "completedAt": "2026-07-10T17:37:32.742Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, iterations do\n    local value = sin(i)\nend\n```\nReason: Binding `math.sin` to a local avoids repeated global and table lookups inside the hot loop.",
      "durationMs": 24361,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 17829,
        "completionTokens": 223,
        "totalTokens": 18052,
        "reasoningTokens": 153,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:13.426Z",
      "completedAt": "2026-07-10T17:37:37.789Z",
      "answerBytes": 186,
      "answerChars": 186,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal LocalPlayer = LocalPlayer\n\nhook.Add(\"HUDPaint\", \"MyHUD\", function()\n    local ply = LocalPlayer()\n    if not IsValid(ply) then return end\n\n    local health = ply:Health()\n    local armor = ply:Armor()\nend)\n```\nReason: Caching the global function in a local avoids repeated global-table lookups while preserving a current LocalPlayer() result.",
      "durationMs": 21434,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 17832,
        "completionTokens": 626,
        "totalTokens": 18458,
        "reasoningTokens": 516,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:13.830Z",
      "completedAt": "2026-07-10T17:37:35.266Z",
      "answerBytes": 355,
      "answerChars": 355,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function AreFacingEachOther(plyA, plyB)\n    return plyA:GetAimVector():Dot(plyB:GetAimVector()) <= -0.8\nend\n```\nReason: Aim vectors are normalized, so their dot product is the cosine; a negative threshold detects opposing directions without `math.acos`.",
      "durationMs": 31633,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 17846,
        "completionTokens": 493,
        "totalTokens": 18339,
        "reasoningTokens": 405,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:14.697Z",
      "completedAt": "2026-07-10T17:37:46.332Z",
      "answerBytes": 266,
      "answerChars": 266,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: It avoids the player/metatable method lookup; make `SomeHelper` a local/upvalue for the fastest controlled-helper call.",
      "durationMs": 16556,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 17838,
        "completionTokens": 320,
        "totalTokens": 18158,
        "reasoningTokens": 265,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:14.886Z",
      "completedAt": "2026-07-10T17:37:31.446Z",
      "answerBytes": 154,
      "answerChars": 154,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug line\")\n```\nReason: `MsgN` avoids `print`’s extra argument-formatting overhead for a preformatted console line.",
      "durationMs": 17469,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 395,
        "totalTokens": 18228,
        "reasoningTokens": 341,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:15.013Z",
      "completedAt": "2026-07-10T17:37:32.484Z",
      "answerBytes": 131,
      "answerChars": 129,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal n = #numbers\nfor i = 1, n do\n    local value = numbers[i]\n    -- use value\nend\n```\nReason: Numeric `for` avoids iterator-function overhead and is typically fastest for dense sequential tables.",
      "durationMs": 16902,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 372,
        "totalTokens": 18213,
        "reasoningTokens": 301,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:15.449Z",
      "completedAt": "2026-07-10T17:37:32.356Z",
      "answerBytes": 205,
      "answerChars": 205,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Equivalent filter + map, fused into one pass over a dense array.\nlocal function paidPlayerNames(players, minimumSalary)\n    local names = {}\n    local count = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        if IsValid(ply) and ply:getDarkRPVar(\"salary\") >= minimumSalary then\n            count = count + 1\n            names[count] = ply:Nick()\n        end\n    end\n\n    return names\nend\n\nlocal names = paidPlayerNames(player.GetAll(), 100)\n```\nReason: One indexed loop fuses filter and map work, avoiding combinator callbacks and intermediate tables.",
      "durationMs": 15633,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 17849,
        "completionTokens": 685,
        "totalTokens": 18534,
        "reasoningTokens": 516,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:15.993Z",
      "completedAt": "2026-07-10T17:37:31.628Z",
      "answerBytes": 580,
      "answerChars": 580,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\n\nlocal function RefreshPlayers()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshCachedPlayers\", RefreshPlayers)\nhook.Add(\"PlayerDisconnected\", \"RefreshCachedPlayers\", RefreshPlayers)\n\nhook.Add(\"Think\", \"UseCachedPlayers\", function()\n    for _, ply in ipairs(cachedPlayers) do\n        -- per-player work\n    end\nend)\n```\nReason: `player.GetAll()` runs only when membership changes, so the per-tick hook reuses the cached table.",
      "durationMs": 22055,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 17850,
        "completionTokens": 660,
        "totalTokens": 18510,
        "reasoningTokens": 516,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:16.532Z",
      "completedAt": "2026-07-10T17:37:38.589Z",
      "answerBytes": 504,
      "answerChars": 504,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal temporaryByPlayer = {}\n\nlocal function SetTemporary(ply, value)\n    temporaryByPlayer[ply] = value\nend\n\nlocal function GetTemporary(ply)\n    return temporaryByPlayer[ply]\nend\n\nhook.Add(\"PlayerDisconnected\", \"clear_temporary_player_data\", function(ply)\n    temporaryByPlayer[ply] = nil\nend)\n```\nReason: A Lua table keyed by the player avoids Player userdata field/metamethod lookup on the hot read path.",
      "durationMs": 51938,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 17831,
        "completionTokens": 2715,
        "totalTokens": 20546,
        "reasoningTokens": 2588,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:17.011Z",
      "completedAt": "2026-07-10T17:38:08.951Z",
      "answerBytes": 415,
      "answerChars": 415,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = {\n    \"alpha\",\n    \"bravo\",\n    \"charlie\",\n}\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: A dense 1-based numeric array uses Lua's array storage and avoids the hash lookups needed by string-keyed maps.",
      "durationMs": 18818,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 450,
        "totalTokens": 18286,
        "reasoningTokens": 351,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:17.298Z",
      "completedAt": "2026-07-10T17:37:36.117Z",
      "answerBytes": 262,
      "answerChars": 262,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing separate numeric channels avoids Color-table argument handling on each hot-path call.",
      "durationMs": 14821,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 17843,
        "completionTokens": 260,
        "totalTokens": 18103,
        "reasoningTokens": 204,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:18.452Z",
      "completedAt": "2026-07-10T17:37:33.278Z",
      "answerBytes": 153,
      "answerChars": 153,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal rows = sql.Query(\"SELECT value FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID))\n```\nReason: Local SQLite avoids remote network round trips, so it is typically lower latency for a single server.",
      "durationMs": 16310,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 17859,
        "completionTokens": 318,
        "totalTokens": 18177,
        "reasoningTokens": 249,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:18.683Z",
      "completedAt": "2026-07-10T17:37:34.995Z",
      "answerBytes": 216,
      "answerChars": 216,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function CachedSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n    return steamID\nend\n\nhook.Add(\"PlayerDisconnected\", \"ClearSteamIDCache\", function(ply)\n    steamIDCache[ply] = nil\nend)\n\n-- hot path\nlocal steamID = CachedSteamID(ply)\n```\nReason: The cache performs `SteamID()` only once per player object while weak keys and disconnect cleanup prevent stale entries.",
      "durationMs": 22769,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 689,
        "totalTokens": 18519,
        "reasoningTokens": 516,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:20.536Z",
      "completedAt": "2026-07-10T17:37:43.306Z",
      "answerBytes": 542,
      "answerChars": 542,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slow: repeatedly reallocates and copies the growing string.\nlocal slow = \"\"\nfor i = 1, #pieces do\n    slow = slow .. pieces[i]\nend\n\n-- Fast: collect pieces, then concatenate once.\nlocal result = table.concat(pieces)\n```\nReason: table.concat avoids repeatedly reallocating and copying the already-built prefix for every piece.",
      "durationMs": 24085,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 379,
        "totalTokens": 18212,
        "reasoningTokens": 278,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:20.691Z",
      "completedAt": "2026-07-10T17:37:44.778Z",
      "answerBytes": 335,
      "answerChars": 335,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\nsurface.DrawRect(x, y, w, h)\n```\nReason: surface.DrawRect avoids draw.RoundedBox’s Lua wrapper and zero-radius branch.",
      "durationMs": 24290,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 498,
        "totalTokens": 18333,
        "reasoningTokens": 429,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:21.309Z",
      "completedAt": "2026-07-10T17:37:45.601Z",
      "answerBytes": 168,
      "answerChars": 166,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(x, y)\nsurface.DrawText(text)\n```\nReason: `surface.DrawText` avoids the alignment, sizing, and extra outline draw passes performed by `draw.DrawText` and `draw.SimpleTextOutlined`.",
      "durationMs": 13164,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 17836,
        "completionTokens": 336,
        "totalTokens": 18172,
        "reasoningTokens": 239,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:22.004Z",
      "completedAt": "2026-07-10T17:37:35.170Z",
      "answerBytes": 278,
      "answerChars": 278,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: `#` is the preferred length operator for a sequential, array-like table.",
      "durationMs": 7889,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 17826,
        "completionTokens": 45,
        "totalTokens": 17871,
        "reasoningTokens": 0,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:22.875Z",
      "completedAt": "2026-07-10T17:37:30.765Z",
      "answerBytes": 115,
      "answerChars": 115,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Rebinding allocates a new empty table instead of clearing every existing entry; use `table.Empty(t)` only when other references must observe the same table being emptied.",
      "durationMs": 14550,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 17835,
        "completionTokens": 223,
        "totalTokens": 18058,
        "reasoningTokens": 162,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:25.992Z",
      "completedAt": "2026-07-10T17:37:40.544Z",
      "answerBytes": 196,
      "answerChars": 196,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Slow for repeated membership checks: O(n) scan each time.\nlocal allowedList = { \"admin\", \"moderator\", \"vip\" }\nif table.HasValue(allowedList, player:GetUserGroup()) then\n    -- allowed\nend\n\n-- Fast: build a lookup set once, then check in average O(1).\nlocal allowedGroups = {\n    admin = true,\n    moderator = true,\n    vip = true,\n}\n\nif allowedGroups[player:GetUserGroup()] then\n    -- allowed\nend\n```\nReason: `table.HasValue` linearly scans an array on every check, while a keyed lookup table performs average constant-time membership checks.",
      "durationMs": 5526,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 17833,
        "completionTokens": 163,
        "totalTokens": 17996,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:27.458Z",
      "completedAt": "2026-07-10T17:37:32.985Z",
      "answerBytes": 553,
      "answerChars": 553,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal data = {\n    x = x,\n    y = y,\n    z = z,\n}\n```\nReason: The constructor preallocates space for its known fields, avoiding incremental table growth from starting with `{}`.",
      "durationMs": 12688,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 17834,
        "completionTokens": 565,
        "totalTokens": 18399,
        "reasoningTokens": 495,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:30.766Z",
      "completedAt": "2026-07-10T17:37:43.456Z",
      "answerBytes": 184,
      "answerChars": 184,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal element = items[math.random(#items)]\n```\nReason: A sequential table supports constant-time length lookup and numeric indexing, avoiding table.Random's general-purpose traversal.",
      "durationMs": 6548,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 17830,
        "completionTokens": 207,
        "totalTokens": 18037,
        "reasoningTokens": 151,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:31.446Z",
      "completedAt": "2026-07-10T17:37:37.996Z",
      "answerBytes": 190,
      "answerChars": 190,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication avoids the slower exponentiation operator in a tight loop.",
      "durationMs": 5508,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 17827,
        "completionTokens": 145,
        "totalTokens": 17972,
        "reasoningTokens": 101,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:31.628Z",
      "completedAt": "2026-07-10T17:37:37.138Z",
      "answerBytes": 114,
      "answerChars": 114,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-terra@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- use ply\nend\n```\nReason: `player.Iterator()` iterates connected players without allocating the table returned by `player.GetAll()`. ",
      "durationMs": 8139,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 17841,
        "completionTokens": 292,
        "totalTokens": 18133,
        "reasoningTokens": 232,
        "cachedTokens": 13056
      },
      "startedAt": "2026-07-10T17:37:31.772Z",
      "completedAt": "2026-07-10T17:37:39.912Z",
      "answerBytes": 180,
      "answerChars": 180,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator(\"prop_physics\") do\n    -- Process ent here\nend\n```\nReason: ents.Iterator(\"prop_physics\") yields matching entities one at a time without first building a table of all entities.",
      "durationMs": 4322,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 120,
        "totalTokens": 16761,
        "reasoningTokens": 53,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:32.225Z",
      "completedAt": "2026-07-10T17:37:36.549Z",
      "answerBytes": 207,
      "answerChars": 207,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers the callback under MyAddon.Think so it runs on the Think hook.",
      "durationMs": 3205,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 16647,
        "completionTokens": 55,
        "totalTokens": 16702,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:32.357Z",
      "completedAt": "2026-07-10T17:37:35.564Z",
      "answerBytes": 142,
      "answerChars": 142,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid(ent)` confirms the reference is non-nil and still points to a valid, usable entity.",
      "durationMs": 4210,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 97,
        "totalTokens": 16739,
        "reasoningTokens": 35,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:32.485Z",
      "completedAt": "2026-07-10T17:37:36.696Z",
      "answerBytes": 157,
      "answerChars": 157,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(length, ply)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a callback for the named incoming network message.",
      "durationMs": 4738,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 16633,
        "completionTokens": 128,
        "totalTokens": 16761,
        "reasoningTokens": 65,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:32.743Z",
      "completedAt": "2026-07-10T17:37:37.484Z",
      "answerBytes": 189,
      "answerChars": 189,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal a = angle_zero\n```\nReason: `angle_zero` reuses Garry’s Mod’s predefined zero angle, avoiding a new `Angle()` allocation in the hot path.",
      "durationMs": 5203,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 149,
        "totalTokens": 16790,
        "reasoningTokens": 92,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:32.986Z",
      "completedAt": "2026-07-10T17:37:38.191Z",
      "answerBytes": 153,
      "answerChars": 149,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal configColor = Color(255, 255, 255)\nlocal color = configColor\n```\nReason: A local variable avoids repeated table lookups and global-environment lookup, making frequent reads faster.",
      "durationMs": 4234,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 16646,
        "completionTokens": 106,
        "totalTokens": 16752,
        "reasoningTokens": 42,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:33.279Z",
      "completedAt": "2026-07-10T17:37:37.514Z",
      "answerBytes": 193,
      "answerChars": 193,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP stores job data in its own replicated variables, so `ply:getDarkRPVar(\"job\")` is the preferred API over the generic `ply:GetNWString(\"job\")`.",
      "durationMs": 4620,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 142,
        "totalTokens": 16782,
        "reasoningTokens": 65,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:34.837Z",
      "completedAt": "2026-07-10T17:37:39.459Z",
      "answerBytes": 207,
      "answerChars": 207,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif pos1:DistToSqr(pos2) <= threshold * threshold then\n    -- Vectors are within the threshold.\nend\n```\nReason: `DistToSqr` avoids the unnecessary square-root calculation needed by actual distance methods.",
      "durationMs": 3782,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 69,
        "totalTokens": 16710,
        "reasoningTokens": 0,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:34.995Z",
      "completedAt": "2026-07-10T17:37:38.779Z",
      "answerBytes": 211,
      "answerChars": 211,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- Process ent here\nend\n```\nReason: ents.Iterator() visits every entity efficiently without first allocating the full table returned by ents.GetAll().",
      "durationMs": 4273,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 16637,
        "completionTokens": 114,
        "totalTokens": 16751,
        "reasoningTokens": 55,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:35.171Z",
      "completedAt": "2026-07-10T17:37:39.446Z",
      "answerBytes": 191,
      "answerChars": 191,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal origin = ply:GetPos()\nlocal radius = 256\nlocal radiusSqr = radius * radius\nlocal nearby = {}\n\nfor _, ent in ipairs(ents.FindInBox(\n    origin - Vector(radius, radius, radius),\n    origin + Vector(radius, radius, radius)\n)) do\n    if ent:GetPos():DistToSqr(origin) <= radiusSqr then\n        nearby[#nearby + 1] = ent\n    end\nend\n```\nReason: `ents.FindInBox` is a fast built-in broad-phase query; the squared-distance check keeps only entities inside the desired radius.",
      "durationMs": 8687,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 16658,
        "completionTokens": 305,
        "totalTokens": 16963,
        "reasoningTokens": 152,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:35.266Z",
      "completedAt": "2026-07-10T17:37:43.955Z",
      "answerBytes": 481,
      "answerChars": 481,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function PlayersWithinRadius(origin, radius)\n    local radiusSqr = radius * radius\n    local nearby = {}\n\n    for _, ply in ipairs(player.GetAll()) do\n        if origin:DistToSqr(ply:GetPos()) <= radiusSqr then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: `player.GetAll()` iterates only players and avoids scanning unrelated entities and building/filtering the broader `ents.FindInSphere` result; squared distance also avoids square-root calculations.",
      "durationMs": 8593,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 325,
        "totalTokens": 16975,
        "reasoningTokens": 182,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:35.564Z",
      "completedAt": "2026-07-10T17:37:44.159Z",
      "answerBytes": 513,
      "answerChars": 513,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- counting work\nend\n```\nReason: A numeric `for` loop is generally faster than an equivalent `while` loop in Garry's Mod Lua because the Lua VM handles its counting and increment internally.",
      "durationMs": 4197,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 114,
        "totalTokens": 16757,
        "reasoningTokens": 41,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:35.989Z",
      "completedAt": "2026-07-10T17:37:40.187Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"Tick\", \"NotifyPlayers\", function()\n    hook.Run(\"CustomPlayerTick\", player.GetAll())\nend)\n\nhook.Add(\"CustomPlayerTick\", \"HandlePlayers\", function(players)\n    for _, ply in ipairs(players) do\n        -- Custom logic for each player.\n    end\nend)\n```\nReason: `hook.Run` dispatches the hook once per tick instead of repeating hook lookup and callback dispatch for every player.",
      "durationMs": 27601,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16653,
        "completionTokens": 190,
        "totalTokens": 16843,
        "reasoningTokens": 73,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:36.118Z",
      "completedAt": "2026-07-10T17:38:03.720Z",
      "answerBytes": 392,
      "answerChars": 392,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealthHUD\", function()\n    local ply = LocalPlayer()\n    local health = ply:Health()\n\n    draw.SimpleText(health, \"DermaDefault\", 20, 20, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 40, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 60, color_white)\nend)\n```\nReason: Cache LocalPlayer() and Health() once per frame instead of recomputing them for each draw call.",
      "durationMs": 5912,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 199,
        "totalTokens": 16849,
        "reasoningTokens": 53,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:36.550Z",
      "completedAt": "2026-07-10T17:37:42.464Z",
      "answerBytes": 426,
      "answerChars": 426,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal white = Color(255, 255, 255)\n\nfunction PANEL:Paint(w, h)\n    surface.SetDrawColor(white)\n    surface.DrawRect(0, 0, w, h)\nend\n```\nReason: Create the Color object once and reuse it instead of allocating a new one on every paint iteration.",
      "durationMs": 3980,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 16638,
        "completionTokens": 91,
        "totalTokens": 16729,
        "reasoningTokens": 0,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:36.697Z",
      "completedAt": "2026-07-10T17:37:40.678Z",
      "answerBytes": 250,
      "answerChars": 250,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 1000000 do\n    local value = sin(i)\nend\n```\nReason: Local lookup is faster than repeatedly indexing the global `math` table in a hot loop.",
      "durationMs": 7106,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 101,
        "totalTokens": 16741,
        "reasoningTokens": 30,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:37.138Z",
      "completedAt": "2026-07-10T17:37:44.246Z",
      "answerBytes": 178,
      "answerChars": 178,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal ply = LocalPlayer()\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    ply = LocalPlayer()\nend)\n\n-- Hot path:\nif IsValid(ply) then\n    local name = ply:Nick()\nend\n```\nReason: Cache the player entity once and reuse the local variable instead of repeatedly calling LocalPlayer() in the hot path.",
      "durationMs": 5368,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 169,
        "totalTokens": 16812,
        "reasoningTokens": 65,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:37.485Z",
      "completedAt": "2026-07-10T17:37:42.854Z",
      "answerBytes": 318,
      "answerChars": 318,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function AreLookingAtEachOther(a, b, minDot)\n    minDot = minDot or 0.7 -- roughly within 45 degrees\n\n    local aToB = (b:EyePos() - a:EyePos()):GetNormalized()\n    local bToA = (a:EyePos() - b:EyePos()):GetNormalized()\n\n    return a:EyeAngles():Forward():Dot(aToB) >= minDot\n       and b:EyeAngles():Forward():Dot(bToA) >= minDot\nend\n```\nReason: Dot products compare aim alignment against a cosine threshold, avoiding the expensive math.acos angle calculation.",
      "durationMs": 7139,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 16657,
        "completionTokens": 271,
        "totalTokens": 16928,
        "reasoningTokens": 109,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:37.515Z",
      "completedAt": "2026-07-10T17:37:44.659Z",
      "answerBytes": 474,
      "answerChars": 474,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: For a helper you control, a local or otherwise directly referenced function avoids the receiver method lookup that `ply:SomeHelper()` performs, while both pass `ply` as the first argument.",
      "durationMs": 5270,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 16647,
        "completionTokens": 170,
        "totalTokens": 16817,
        "reasoningTokens": 102,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:37.790Z",
      "completedAt": "2026-07-10T17:37:43.062Z",
      "answerBytes": 223,
      "answerChars": 223,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug line\")\n```\nReason: `MsgN` writes directly to the console with a newline and avoids `print`'s extra Lua-side handling, making it preferable in hot paths.",
      "durationMs": 5040,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 136,
        "totalTokens": 16776,
        "reasoningTokens": 73,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:37.911Z",
      "completedAt": "2026-07-10T17:37:42.953Z",
      "answerBytes": 171,
      "answerChars": 171,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #values do\n    local value = values[i]\n    -- process(value)\nend\n```\nReason: A numeric for loop avoids pairs' key iteration overhead and ipairs' iterator-call overhead, making it typically fastest for dense sequential arrays.\n",
      "durationMs": 4033,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 110,
        "totalTokens": 16758,
        "reasoningTokens": 33,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:37.997Z",
      "completedAt": "2026-07-10T17:37:42.031Z",
      "answerBytes": 244,
      "answerChars": 244,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal result = {}\n\nfor i = 1, #players do\n    local ply = players[i]\n\n    if ply:Alive() and ply:Team() == TEAM_POLICE then\n        result[#result + 1] = ply:Nick()\n    end\nend\n```\nReason: A single preallocated-result loop avoids the intermediate tables, iterator closures, and repeated function-call overhead created by chained DarkRP.fn filter/map combinators.",
      "durationMs": 6365,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 16660,
        "completionTokens": 183,
        "totalTokens": 16843,
        "reasoningTokens": 68,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:38.192Z",
      "completedAt": "2026-07-10T17:37:44.560Z",
      "answerBytes": 369,
      "answerChars": 369,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\nlocal playerIndex = {}\n\nlocal function addPlayer(ply)\n    if playerIndex[ply] then return end\n\n    cachedPlayers[#cachedPlayers + 1] = ply\n    playerIndex[ply] = #cachedPlayers\nend\n\nlocal function removePlayer(ply)\n    local index = playerIndex[ply]\n    if not index then return end\n\n    local lastIndex = #cachedPlayers\n    local lastPlayer = cachedPlayers[lastIndex]\n\n    cachedPlayers[index] = lastPlayer\n    playerIndex[lastPlayer] = index\n    cachedPlayers[lastIndex] = nil\n    playerIndex[ply] = nil\nend\n\nhook.Add(\"Initialize\", \"BuildPlayerCache\", function()\n    for _, ply in ipairs(player.GetAll()) do\n        addPlayer(ply)\n    end\nend)\n\nhook.Add(\"PlayerInitialSpawn\", \"UpdatePlayerCache\", addPlayer)\nhook.Add(\"PlayerDisconnected\", \"UpdatePlayerCache\", removePlayer)\n\nhook.Add(\"Tick\", \"ProcessCachedPlayers\", function()\n    for _, ply in ipairs(cachedPlayers) do\n        -- Process ply here.\n    end\nend)\n```\nReason: The player list is maintained incrementally on join and leave, so each tick iterates the cached table without calling `player.GetAll()` or allocating a fresh list.",
      "durationMs": 9343,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 16659,
        "completionTokens": 410,
        "totalTokens": 17069,
        "reasoningTokens": 97,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:38.590Z",
      "completedAt": "2026-07-10T17:37:47.934Z",
      "answerBytes": 1121,
      "answerChars": 1121,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerData = setmetatable({}, { __mode = \"k\" })\n\nlocal function setTemporaryData(ply, value)\n    playerData[ply] = value\nend\n\nlocal function getTemporaryData(ply)\n    return playerData[ply]\nend\n```\nReason: A local table lookup avoids repeated entity field access and keeps the data private, while weak keys allow entries to be garbage-collected when players leave.",
      "durationMs": 5488,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 147,
        "totalTokens": 16789,
        "reasoningTokens": 33,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:38.780Z",
      "completedAt": "2026-07-10T17:37:44.268Z",
      "answerBytes": 377,
      "answerChars": 377,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"one\", \"two\", \"three\" }\n\nfor i = 1, #values do\n    local value = values[i]\nend\n```\nReason: Sequential number-indexed arrays provide contiguous integer keys and support faster direct iteration than string-keyed maps.",
      "durationMs": 4806,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 123,
        "totalTokens": 16768,
        "reasoningTokens": 43,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:39.446Z",
      "completedAt": "2026-07-10T17:37:44.255Z",
      "answerBytes": 239,
      "answerChars": 239,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\n```\nReason: Passing separate color numbers avoids constructing or reading a Color object in the hot draw path.",
      "durationMs": 3639,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 52,
        "totalTokens": 16700,
        "reasoningTokens": 0,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:39.460Z",
      "completedAt": "2026-07-10T17:37:43.100Z",
      "answerBytes": 150,
      "answerChars": 150,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal rows = sql.Query(\"SELECT value FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID))\n```\nReason: Local SQLite is typically lower latency because it avoids network round trips to a remote MySQL server.",
      "durationMs": 4409,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 16668,
        "completionTokens": 124,
        "totalTokens": 16792,
        "reasoningTokens": 55,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:39.913Z",
      "completedAt": "2026-07-10T17:37:44.323Z",
      "answerBytes": 218,
      "answerChars": 218,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function CachedSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n    return steamID\nend\n\n-- Hot path:\nlocal steamID = CachedSteamID(ply)\n```\nReason: SteamID is stable for a player, so the engine call happens once while weak keys let disconnected player objects be garbage-collected.",
      "durationMs": 5900,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 16639,
        "completionTokens": 219,
        "totalTokens": 16858,
        "reasoningTokens": 72,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:40.188Z",
      "completedAt": "2026-07-10T17:37:46.089Z",
      "answerBytes": 456,
      "answerChars": 456,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slower: repeated concatenation creates many intermediate strings.\nlocal result = \"\"\nfor _, piece in ipairs(pieces) do\n    result = result .. piece\nend\n\n-- Faster: collect pieces, then concatenate once.\nlocal buffer = {}\nfor i, piece in ipairs(pieces) do\n    buffer[i] = piece\nend\n\nlocal result = table.concat(buffer)\n```\nReason: table.concat builds the final string in one pass, avoiding repeated intermediate-string allocations and copying.",
      "durationMs": 5146,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 158,
        "totalTokens": 16798,
        "reasoningTokens": 32,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:40.545Z",
      "completedAt": "2026-07-10T17:37:45.692Z",
      "answerBytes": 451,
      "answerChars": 451,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\ndraw.NoTexture()\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` avoids the rounded-box helper's corner-radius handling, making it slightly faster for non-rounded rectangles.",
      "durationMs": 3892,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 77,
        "totalTokens": 16725,
        "reasoningTokens": 0,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:40.678Z",
      "completedAt": "2026-07-10T17:37:44.571Z",
      "answerBytes": 226,
      "answerChars": 226,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(x, y)\nsurface.DrawText(text)\n```\nReason: `surface.DrawText` avoids the wrapper and per-character outline work of `draw.SimpleTextOutlined`, making it the leanest choice for a single-line string.",
      "durationMs": 8167,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 215,
        "totalTokens": 16860,
        "reasoningTokens": 117,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:42.032Z",
      "completedAt": "2026-07-10T17:37:50.201Z",
      "answerBytes": 293,
      "answerChars": 293,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #array\n```\nReason: The length operator is the preferred way to get the length of a sequential array-like table in Garry's Mod Lua.",
      "durationMs": 3346,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 16637,
        "completionTokens": 52,
        "totalTokens": 16689,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:42.465Z",
      "completedAt": "2026-07-10T17:37:45.813Z",
      "answerBytes": 152,
      "answerChars": 152,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Generally faster: replace the table reference.\nt = {}\n```\nReason: t = {} creates a new empty table in constant time, while table.Empty(t) removes entries from the existing table and takes time proportional to its size.",
      "durationMs": 3519,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 66,
        "totalTokens": 16710,
        "reasoningTokens": 0,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:42.854Z",
      "completedAt": "2026-07-10T17:37:46.374Z",
      "answerBytes": 228,
      "answerChars": 228,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    pistol = true,\n    shotgun = true,\n    smg = true,\n}\n\nif allowed[weaponClass] then\n    -- Value exists in the set.\nend\n```\nReason: Keyed table lookups are O(1) on average, while table.HasValue scans a list linearly.",
      "durationMs": 4631,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 129,
        "totalTokens": 16773,
        "reasoningTokens": 36,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:42.955Z",
      "completedAt": "2026-07-10T17:37:47.587Z",
      "answerBytes": 244,
      "answerChars": 244,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: initialize known fields in the constructor.\nlocal player = {\n    name = \"Alyx\",\n    health = 100,\n    alive = true,\n}\n```\nReason: The constructor creates the table and populates its known fields in one operation, avoiding separate assignment statements.",
      "durationMs": 6104,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 131,
        "totalTokens": 16772,
        "reasoningTokens": 47,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:43.063Z",
      "completedAt": "2026-07-10T17:37:49.169Z",
      "answerBytes": 271,
      "answerChars": 271,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = items[math.random(#items)]\n```\nReason: For a sequential table, direct indexing with a random numeric index avoids `table.Random`'s extra key-selection work.",
      "durationMs": 4392,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 16637,
        "completionTokens": 99,
        "totalTokens": 16736,
        "reasoningTokens": 39,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:43.100Z",
      "completedAt": "2026-07-10T17:37:47.494Z",
      "answerBytes": 177,
      "answerChars": 177,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication avoids the overhead of exponentiation while computing the square directly.",
      "durationMs": 4085,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 16636,
        "completionTokens": 43,
        "totalTokens": 16679,
        "reasoningTokens": 0,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:43.309Z",
      "completedAt": "2026-07-10T17:37:47.396Z",
      "answerBytes": 130,
      "answerChars": 130,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- Use ply here\nend\n```\nReason: player.GetAll() returns the currently connected players.",
      "durationMs": 3820,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 51,
        "totalTokens": 16699,
        "reasoningTokens": 0,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:43.456Z",
      "completedAt": "2026-07-10T17:37:47.278Z",
      "answerBytes": 140,
      "answerChars": 140,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator(\"prop_physics\") do\n    -- Process ent here\nend\n```\nReason: ents.Iterator(\"prop_physics\") lazily visits matching entities without first allocating a table of all entities.",
      "durationMs": 7129,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 276,
        "totalTokens": 16917,
        "reasoningTokens": 211,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:43.956Z",
      "completedAt": "2026-07-10T17:37:51.086Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers the callback under MyAddon.Think so it runs on the Think hook.",
      "durationMs": 3998,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 16647,
        "completionTokens": 99,
        "totalTokens": 16746,
        "reasoningTokens": 42,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:44.160Z",
      "completedAt": "2026-07-10T17:37:48.160Z",
      "answerBytes": 142,
      "answerChars": 142,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid(ent)` confirms the reference points to a valid, usable entity before calling methods on it.",
      "durationMs": 4074,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 107,
        "totalTokens": 16751,
        "reasoningTokens": 46,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:44.247Z",
      "completedAt": "2026-07-10T17:37:48.322Z",
      "answerBytes": 165,
      "answerChars": 165,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(length, sender)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a callback for the named incoming net message.",
      "durationMs": 4280,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 16635,
        "completionTokens": 110,
        "totalTokens": 16745,
        "reasoningTokens": 47,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:44.256Z",
      "completedAt": "2026-07-10T17:37:48.538Z",
      "answerBytes": 188,
      "answerChars": 188,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function freshZeroAngle()\n    return angle_zero:Clone()\nend\n\nlocal a = freshZeroAngle()\n```\nReason: `angle_zero:Clone()` copies the engine-provided zero angle through the native clone path, avoiding repeated `Angle()` constructor argument handling while still returning a fresh mutable Angle.",
      "durationMs": 12801,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 601,
        "totalTokens": 17244,
        "reasoningTokens": 516,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:44.269Z",
      "completedAt": "2026-07-10T17:37:57.072Z",
      "answerBytes": 305,
      "answerChars": 305,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal addonColor = Color(255, 255, 255)\nlocal color = addonColor\n```\nReason: A local variable avoids repeated global and nested-table lookups, making frequent reads faster.",
      "durationMs": 4609,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 16646,
        "completionTokens": 114,
        "totalTokens": 16760,
        "reasoningTokens": 52,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:44.325Z",
      "completedAt": "2026-07-10T17:37:48.937Z",
      "answerBytes": 179,
      "answerChars": 179,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP’s `getDarkRPVar(\"job\")` reads the framework-managed job value directly, while `ply:GetNWString(\"job\")` is a generic networked variable and is not the preferred DarkRP API.",
      "durationMs": 5082,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 131,
        "totalTokens": 16771,
        "reasoningTokens": 48,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:44.561Z",
      "completedAt": "2026-07-10T17:37:49.645Z",
      "answerBytes": 239,
      "answerChars": 237,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif pos1:DistToSqr(pos2) <= threshold * threshold then\n    -- Vectors are within the threshold.\nend\n```\nReason: `DistToSqr` avoids the unnecessary square-root calculation required by the actual distance.",
      "durationMs": 9107,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 104,
        "totalTokens": 16745,
        "reasoningTokens": 33,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:44.572Z",
      "completedAt": "2026-07-10T17:37:53.681Z",
      "answerBytes": 209,
      "answerChars": 209,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- Process ent here\nend\n```\nReason: ents.Iterator() visits every entity efficiently without first creating a full entity table.",
      "durationMs": 4771,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 16637,
        "completionTokens": 115,
        "totalTokens": 16752,
        "reasoningTokens": 60,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:44.660Z",
      "completedAt": "2026-07-10T17:37:49.434Z",
      "answerBytes": 168,
      "answerChars": 168,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function findNearbyEntities(ply, radius)\n    local pos = ply:GetPos()\n    local offset = Vector(radius, radius, radius)\n    return ents.FindInBox(pos - offset, pos + offset)\nend\n```\nReason: `ents.FindInBox` is typically faster than spherical entity searches in common benchmarks, making it a cheap broad-phase query near a player.",
      "durationMs": 6809,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 16658,
        "completionTokens": 238,
        "totalTokens": 16896,
        "reasoningTokens": 137,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:44.779Z",
      "completedAt": "2026-07-10T17:37:51.590Z",
      "answerBytes": 343,
      "answerChars": 343,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function PlayersWithinRadius(origin, radius)\n    local radiusSqr = radius * radius\n    local nearby = {}\n\n    for _, ply in ipairs(player.GetAll()) do\n        if ply:GetPos():DistToSqr(origin) <= radiusSqr then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: Iterating only players avoids scanning every entity, and `DistToSqr` avoids the square-root cost of distance calculations.",
      "durationMs": 19612,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 500,
        "totalTokens": 17150,
        "reasoningTokens": 369,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:45.601Z",
      "completedAt": "2026-07-10T17:38:05.216Z",
      "answerBytes": 439,
      "answerChars": 439,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- counting work\nend\n```\nReason: Numeric `for` loops are generally faster than equivalent `while` loops in Garry's Mod Lua because the runtime optimizes their counter management and bounds checks.",
      "durationMs": 12577,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 143,
        "totalTokens": 16786,
        "reasoningTokens": 71,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:45.693Z",
      "completedAt": "2026-07-10T17:37:58.273Z",
      "answerBytes": 223,
      "answerChars": 223,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"Tick\", \"NotifyPlayers\", function()\n    hook.Run(\"CustomPlayerTick\", player.GetAll())\nend)\n\nhook.Add(\"CustomPlayerTick\", \"ProcessPlayers\", function(players)\n    for _, ply in ipairs(players) do\n        -- Custom logic for ply.\n    end\nend)\n```\nReason: One hook.Run call avoids per-player hook-dispatch overhead while still processing every player in the handler.",
      "durationMs": 13220,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16655,
        "completionTokens": 195,
        "totalTokens": 16850,
        "reasoningTokens": 82,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:45.814Z",
      "completedAt": "2026-07-10T17:37:59.035Z",
      "answerBytes": 378,
      "answerChars": 378,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(health, \"DermaDefault\", 20, 20, color_white)\n    draw.SimpleText(\"HP: \" .. health, \"DermaDefault\", 20, 40, color_white)\n    draw.SimpleText(health .. \"/100\", \"DermaDefault\", 20, 60, color_white)\nend)\n```\nReason: Cache the player’s health once per frame and reuse the local value for all three draw calls.",
      "durationMs": 12796,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 178,
        "totalTokens": 16828,
        "reasoningTokens": 34,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:46.090Z",
      "completedAt": "2026-07-10T17:37:58.888Z",
      "answerBytes": 422,
      "answerChars": 420,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal white = Color(255, 255, 255)\n\nfunction PANEL:Paint(w, h)\n    surface.SetDrawColor(white)\n    -- draw using the cached color\nend\n```\nReason: Create the Color object once instead of allocating it on every paint-loop iteration.",
      "durationMs": 12865,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 16638,
        "completionTokens": 138,
        "totalTokens": 16776,
        "reasoningTokens": 56,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:46.334Z",
      "completedAt": "2026-07-10T17:37:59.204Z",
      "answerBytes": 237,
      "answerChars": 237,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, iterations do\n    local value = sin(i)\nend\n```\nReason: Local lookup is faster than repeatedly indexing the global `math` table and then resolving `sin` in the hot loop.",
      "durationMs": 12263,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 112,
        "totalTokens": 16754,
        "reasoningTokens": 38,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:46.375Z",
      "completedAt": "2026-07-10T17:37:58.653Z",
      "answerBytes": 208,
      "answerChars": 208,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal player = LocalPlayer()\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    player = LocalPlayer()\nend)\n\n-- Use `player` in hot paths instead of calling LocalPlayer().\nif IsValid(player) then\n    -- player:Nick()\nend\n```\nReason: Cache the player entity once and reuse the local variable, avoiding repeated LocalPlayer() lookups while refreshing it after the client entity is initialized.",
      "durationMs": 12751,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 185,
        "totalTokens": 16826,
        "reasoningTokens": 67,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:47.279Z",
      "completedAt": "2026-07-10T17:38:00.031Z",
      "answerBytes": 410,
      "answerChars": 410,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function ArePlayersLookingAtEachOther(ply, other, threshold)\n    threshold = threshold or 0.85 -- about 31.8 degrees\n\n    local toOther = (other:GetShootPos() - ply:GetShootPos()):GetNormalized()\n    local toPly = -toOther\n\n    return ply:GetAimVector():Dot(toOther) >= threshold\n       and other:GetAimVector():Dot(toPly) >= threshold\nend\n```\nReason: Dot products compare aim alignment directly against a cosine threshold, avoiding the expensive `math.acos` angle calculation.",
      "durationMs": 14096,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 16657,
        "completionTokens": 251,
        "totalTokens": 16908,
        "reasoningTokens": 107,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:47.397Z",
      "completedAt": "2026-07-10T17:38:01.495Z",
      "answerBytes": 490,
      "answerChars": 490,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: A plain Lua function call avoids method/metatable lookup overhead; both forms are otherwise semantically equivalent.",
      "durationMs": 13144,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 16649,
        "completionTokens": 197,
        "totalTokens": 16846,
        "reasoningTokens": 147,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:47.495Z",
      "completedAt": "2026-07-10T17:38:00.640Z",
      "answerBytes": 151,
      "answerChars": 151,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsg(\"debug line\\n\")\n```\nReason: `Msg` writes directly to the console without `print`'s extra formatting and line-prefix overhead.",
      "durationMs": 11852,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 110,
        "totalTokens": 16752,
        "reasoningTokens": 56,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:47.588Z",
      "completedAt": "2026-07-10T17:37:59.442Z",
      "answerBytes": 136,
      "answerChars": 136,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #values do\n    local value = values[i]\nend\n```\nReason: Numeric `for` is typically fastest for dense sequential arrays because it avoids the iterator overhead of `pairs` and `ipairs`.",
      "durationMs": 11842,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 111,
        "totalTokens": 16759,
        "reasoningTokens": 40,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:47.935Z",
      "completedAt": "2026-07-10T17:37:59.778Z",
      "answerBytes": 200,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal values = { 1, 2, 3, 4, 5, 6 }\n\n-- DarkRP fn: two passes, callbacks, and an intermediate table.\nlocal result = fn.Map(\n    function(value)\n        return value * 10\n    end,\n    fn.Filter(\n        function(value)\n            return value % 2 == 0\n        end,\n        values\n    )\n)\n\n-- Faster: one pass, no intermediate table, fewer callback calls.\nlocal faster = {}\nlocal count = 0\n\nfor i = 1, #values do\n    local value = values[i]\n    if value % 2 == 0 then\n        count = count + 1\n        faster[count] = value * 10\n    end\nend\n```\nReason: The fused loop performs filtering and mapping in one pass without allocating an intermediate table or invoking separate callbacks for each transform.",
      "durationMs": 18029,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 16660,
        "completionTokens": 482,
        "totalTokens": 17142,
        "reasoningTokens": 259,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:48.161Z",
      "completedAt": "2026-07-10T17:38:06.192Z",
      "answerBytes": 708,
      "answerChars": 708,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\n\nfor _, ply in ipairs(player.GetAll()) do\n    cachedPlayers[ply] = true\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"CachePlayer\", function(ply)\n    cachedPlayers[ply] = true\nend)\n\nhook.Add(\"PlayerDisconnected\", \"UncachePlayer\", function(ply)\n    cachedPlayers[ply] = nil\nend)\n\nhook.Add(\"Think\", \"ProcessCachedPlayers\", function()\n    for ply in pairs(cachedPlayers) do\n        if IsValid(ply) then\n            -- Per-tick work for ply\n        end\n    end\nend)\n```\nReason: `player.GetAll()` runs only once during initialization; join and leave hooks update the cache, so each tick iterates the existing table directly.",
      "durationMs": 18504,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 16659,
        "completionTokens": 515,
        "totalTokens": 17174,
        "reasoningTokens": 323,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:48.323Z",
      "completedAt": "2026-07-10T17:38:06.829Z",
      "answerBytes": 642,
      "answerChars": 642,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal stamina = {}\n\nlocal function SetStamina(ply, value)\n    stamina[ply:EntIndex()] = value\nend\n\nlocal function GetStamina(ply)\n    return stamina[ply:EntIndex()]\nend\n\nSetStamina(ply, 100)\nlocal current = GetStamina(ply)\n```\nReason: A local table indexed by the player’s stable entity index avoids per-entity field lookup overhead and keeps hot reads on a fast local-table access path.",
      "durationMs": 17113,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 409,
        "totalTokens": 17053,
        "reasoningTokens": 281,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:48.539Z",
      "completedAt": "2026-07-10T17:38:05.654Z",
      "answerBytes": 396,
      "answerChars": 394,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Slower for fixed-order iteration: string-keyed map\nlocal map = {\n    first = \"a\",\n    second = \"b\",\n    third = \"c\",\n}\n\n-- Faster: sequential number-indexed array\nlocal array = {\n    \"a\",\n    \"b\",\n    \"c\",\n}\n\nfor i = 1, #array do\n    local value = array[i]\nend\n```\nReason: Sequential number-indexed arrays use Lua's optimized array part and avoid string-key hashing during iteration.",
      "durationMs": 13530,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 185,
        "totalTokens": 16830,
        "reasoningTokens": 48,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:48.937Z",
      "completedAt": "2026-07-10T17:38:02.468Z",
      "answerBytes": 393,
      "answerChars": 393,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\nsurface.DrawRect(x, y, w, h)\n```\nReason: Separate numeric arguments avoid constructing or passing a Color object in the hot draw path.",
      "durationMs": 12099,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 132,
        "totalTokens": 16780,
        "reasoningTokens": 63,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:49.170Z",
      "completedAt": "2026-07-10T17:38:01.270Z",
      "answerBytes": 182,
      "answerChars": 182,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal result = sql.Query(\"SELECT value FROM player_data WHERE steamid = 'STEAM_0:1:12345'\")\n```\nReason: Local SQLite is typically lower latency because it avoids network round trips to a remote MySQL server.",
      "durationMs": 12307,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 16668,
        "completionTokens": 123,
        "totalTokens": 16791,
        "reasoningTokens": 51,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:49.440Z",
      "completedAt": "2026-07-10T17:38:01.755Z",
      "answerBytes": 214,
      "answerChars": 214,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function getSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if not steamID then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n    return steamID\nend\n\n-- Hot path:\nlocal steamID = getSteamID(ply)\n```\nReason: Cache the stable SteamID by player object, avoiding repeated method calls while weak keys allow disconnected players to be garbage-collected.",
      "durationMs": 14535,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 16639,
        "completionTokens": 255,
        "totalTokens": 16894,
        "reasoningTokens": 110,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:49.646Z",
      "completedAt": "2026-07-10T17:38:04.183Z",
      "answerBytes": 455,
      "answerChars": 455,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slower: repeated concatenation\nlocal result = \"\"\nfor i = 1, 10000 do\n    result = result .. pieces[i]\nend\n\n-- Faster: collect pieces, then concatenate once\nlocal parts = {}\nfor i = 1, 10000 do\n    parts[i] = pieces[i]\nend\n\nlocal result = table.concat(parts)\n```\nReason: table.concat builds the final string in one pass, avoiding repeated intermediate-string allocations and copying.",
      "durationMs": 13033,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 169,
        "totalTokens": 16811,
        "reasoningTokens": 44,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:50.202Z",
      "completedAt": "2026-07-10T17:38:03.235Z",
      "answerBytes": 392,
      "answerChars": 392,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` avoids the rounded-box helper's radius handling and is slightly cheaper for non-rounded rectangles.",
      "durationMs": 11695,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 130,
        "totalTokens": 16772,
        "reasoningTokens": 65,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:51.087Z",
      "completedAt": "2026-07-10T17:38:02.784Z",
      "answerBytes": 194,
      "answerChars": 194,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal text = \"Status: ready\"\nlocal font = \"DermaDefault\"\nlocal x, y = 24, 24\nlocal color = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"DrawStatus\", function()\n    surface.SetFont(font)\n    surface.SetTextColor(color)\n    surface.SetTextPos(x, y)\n    surface.DrawText(text)\nend)\n```\nReason: `surface.DrawText` avoids the extra setup and outline passes performed by `draw.DrawText` and `draw.SimpleTextOutlined`, making it the lowest-overhead choice for a plain single-line string.",
      "durationMs": 19776,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 552,
        "totalTokens": 17197,
        "reasoningTokens": 396,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:51.591Z",
      "completedAt": "2026-07-10T17:38:11.368Z",
      "answerBytes": 486,
      "answerChars": 486,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: The length operator `#` is preferred for sequential array-like tables.",
      "durationMs": 11153,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 16637,
        "completionTokens": 109,
        "totalTokens": 16746,
        "reasoningTokens": 64,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:53.681Z",
      "completedAt": "2026-07-10T17:38:04.836Z",
      "answerBytes": 113,
      "answerChars": 113,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Generally faster: replace the table.\nt = {}\n```\nReason: `t = {}` discards the old table in constant time, while `table.Empty(t)` iterates over entries and removes them; use `table.Empty(t)` only when existing references must keep seeing the same table.",
      "durationMs": 11679,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 133,
        "totalTokens": 16775,
        "reasoningTokens": 52,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:57.073Z",
      "completedAt": "2026-07-10T17:38:08.752Z",
      "answerBytes": 262,
      "answerChars": 262,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    apple = true,\n    banana = true,\n    cherry = true,\n}\n\nif allowed[value] then\n    -- value exists in the set\nend\n```\nReason: A keyed table performs near-constant-time lookups, while table.HasValue scans the list linearly.",
      "durationMs": 12259,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 145,
        "totalTokens": 16789,
        "reasoningTokens": 58,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:58.273Z",
      "completedAt": "2026-07-10T17:38:10.533Z",
      "answerBytes": 250,
      "answerChars": 250,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for known fields: initialize them in the constructor.\nlocal playerData = {\n    name = \"Alyx\",\n    score = 100,\n    alive = true,\n}\n\n-- Slower equivalent: create, then assign each field.\nlocal otherData = {}\notherData.name = \"Alyx\"\notherData.score = 100\notherData.alive = true\n```\nReason: The table constructor creates the table and initializes its known fields in one operation, avoiding separate field-assignment operations.",
      "durationMs": 12790,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 179,
        "totalTokens": 16820,
        "reasoningTokens": 46,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:58.654Z",
      "completedAt": "2026-07-10T17:38:11.446Z",
      "answerBytes": 442,
      "answerChars": 442,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = items[math.random(#items)]\n```\nReason: A sequential table lets you select a random index directly, avoiding the iteration and temporary work used by table.Random.",
      "durationMs": 11345,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 16639,
        "completionTokens": 102,
        "totalTokens": 16741,
        "reasoningTokens": 44,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:58.889Z",
      "completedAt": "2026-07-10T17:38:10.235Z",
      "answerBytes": 183,
      "answerChars": 183,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication is faster and avoids the overhead of calling `math.pow`.",
      "durationMs": 11470,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 16636,
        "completionTokens": 75,
        "totalTokens": 16711,
        "reasoningTokens": 29,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:59.035Z",
      "completedAt": "2026-07-10T17:38:10.507Z",
      "answerBytes": 112,
      "answerChars": 112,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- Handle ply here\nend\n```\nReason: player.GetAll() returns all currently connected players, and ipairs iterates through them.",
      "durationMs": 15056,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 114,
        "totalTokens": 16762,
        "reasoningTokens": 54,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:37:59.205Z",
      "completedAt": "2026-07-10T17:38:14.262Z",
      "answerBytes": 177,
      "answerChars": 177,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- Process ent here.\n    end\nend\n```\nReason: `ents.Iterator()` traverses entities directly without first creating a table of all entities.",
      "durationMs": 15535,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 358,
        "totalTokens": 17001,
        "reasoningTokens": 282,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:59.443Z",
      "completedAt": "2026-07-10T17:38:14.979Z",
      "answerBytes": 231,
      "answerChars": 231,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers the callback under MyAddon.Think so it runs on every Think hook call.",
      "durationMs": 12694,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 16647,
        "completionTokens": 110,
        "totalTokens": 16757,
        "reasoningTokens": 52,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:37:59.779Z",
      "completedAt": "2026-07-10T17:38:12.474Z",
      "answerBytes": 149,
      "answerChars": 149,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:DoSomething()\nend\n```\nReason: `IsValid(ent)` confirms the entity reference is still valid before calling methods on it.",
      "durationMs": 12083,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 117,
        "totalTokens": 16757,
        "reasoningTokens": 59,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:00.032Z",
      "completedAt": "2026-07-10T17:38:12.115Z",
      "answerBytes": 155,
      "answerChars": 155,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(length, player)\n    -- Handle the incoming message here.\nend)\n```\nReason: net.Receive registers a callback for incoming messages with the specified name.",
      "durationMs": 11642,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 16633,
        "completionTokens": 124,
        "totalTokens": 16757,
        "reasoningTokens": 62,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:00.641Z",
      "completedAt": "2026-07-10T17:38:12.284Z",
      "answerBytes": 197,
      "answerChars": 197,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal zeroAngle = Angle(0, 0, 0)\n\nlocal function getZeroAngle()\n    zeroAngle:Set(0, 0, 0)\n    return zeroAngle\nend\n```\nReason: Reuse one Angle and reset its components instead of allocating a new Angle object on every call.",
      "durationMs": 20335,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 16639,
        "completionTokens": 603,
        "totalTokens": 17242,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:01.271Z",
      "completedAt": "2026-07-10T17:38:21.608Z",
      "answerBytes": 231,
      "answerChars": 231,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal ADDON_COLOR = Color(255, 255, 255)\n\nsurface.SetDrawColor(ADDON_COLOR)\n```\nReason: A local variable avoids repeated table indexing and is faster to read than a nested table path or global lookup.",
      "durationMs": 14095,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 16646,
        "completionTokens": 259,
        "totalTokens": 16905,
        "reasoningTokens": 187,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:01.495Z",
      "completedAt": "2026-07-10T17:38:15.591Z",
      "answerBytes": 207,
      "answerChars": 207,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP stores job data in its own synchronized variables, so `ply:getDarkRPVar(\"job\")` is the preferred API over the generic `ply:GetNWString(\"job\")`.",
      "durationMs": 12442,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 149,
        "totalTokens": 16789,
        "reasoningTokens": 72,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:01.755Z",
      "completedAt": "2026-07-10T17:38:14.198Z",
      "answerBytes": 209,
      "answerChars": 209,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif vectorA:DistToSqr(vectorB) <= threshold * threshold then\n    -- Vectors are within the threshold.\nend\n```\nReason: `DistToSqr` avoids the square-root cost of calculating the actual distance; compare it with the squared threshold.",
      "durationMs": 11534,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 115,
        "totalTokens": 16758,
        "reasoningTokens": 38,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:02.469Z",
      "completedAt": "2026-07-10T17:38:14.005Z",
      "answerBytes": 238,
      "answerChars": 238,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    -- Visit each entity here.\nend\n```\nReason: `ents.Iterator()` is the wiki-recommended efficient iterator for traversing every entity without first creating a full entity table.",
      "durationMs": 13059,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 182,
        "totalTokens": 16823,
        "reasoningTokens": 115,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:02.784Z",
      "completedAt": "2026-07-10T17:38:15.845Z",
      "answerBytes": 219,
      "answerChars": 219,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindNearbyEntities(ply, radius)\n    if not IsValid(ply) then return {} end\n\n    local pos = ply:GetPos()\n    local bounds = Vector(radius, radius, radius)\n    return ents.FindInBox(pos - bounds, pos + bounds)\nend\n```\nReason: `ents.FindInBox` is typically among the faster built-in spatial queries for cheap broad-phase proximity checks; filter the returned box results by exact distance only when needed.",
      "durationMs": 17564,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 16660,
        "completionTokens": 446,
        "totalTokens": 17106,
        "reasoningTokens": 325,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:03.236Z",
      "completedAt": "2026-07-10T17:38:20.801Z",
      "answerBytes": 426,
      "answerChars": 426,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersNear(position, radius)\n    local radiusSqr = radius * radius\n    local nearby = {}\n\n    for _, ply in ipairs(player.GetAll()) do\n        if ply:GetPos():DistToSqr(position) <= radiusSqr then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: player.GetAll() scans only players, avoiding ents.FindInSphere's scan over every nearby entity, and DistToSqr avoids square-root calculations.",
      "durationMs": 16406,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 16652,
        "completionTokens": 406,
        "totalTokens": 17058,
        "reasoningTokens": 270,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:03.721Z",
      "completedAt": "2026-07-10T17:38:20.128Z",
      "answerBytes": 459,
      "answerChars": 459,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: Numeric `for` loops are generally faster because the Lua VM handles counting, comparison, and incrementing more efficiently than a manual `while` loop.",
      "durationMs": 19967,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 203,
        "totalTokens": 16848,
        "reasoningTokens": 134,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:04.184Z",
      "completedAt": "2026-07-10T17:38:24.153Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"Tick\", \"NotifyAllPlayers\", function()\n    hook.Run(\"CustomPlayerTick\", player.GetAll())\nend)\n\nhook.Add(\"CustomPlayerTick\", \"HandlePlayers\", function(players)\n    for _, ply in ipairs(players) do\n        -- Custom logic for each player.\n    end\nend)\n```\nReason: Calling hook.Run once avoids repeated hook dispatch overhead while still allowing one loop over all players.",
      "durationMs": 13763,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16653,
        "completionTokens": 194,
        "totalTokens": 16847,
        "reasoningTokens": 81,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:04.837Z",
      "completedAt": "2026-07-10T17:38:18.602Z",
      "answerBytes": 386,
      "answerChars": 386,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local ply = LocalPlayer()\n    local health = ply:Health()\n\n    draw.SimpleText(health, \"DermaDefault\", 100, 100, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 100, 120, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 100, 140, color_white)\nend)\n```\nReason: Cache LocalPlayer() and Health() once per frame instead of recomputing them for each draw call.",
      "durationMs": 13156,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 217,
        "totalTokens": 16865,
        "reasoningTokens": 72,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:05.216Z",
      "completedAt": "2026-07-10T17:38:18.374Z",
      "answerBytes": 429,
      "answerChars": 429,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal white = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"DrawSomething\", function()\n    surface.SetTextColor(white)\n    draw.SimpleText(\"Hello\", \"DermaDefault\", 100, 100, white)\nend)\n```\nReason: Create the Color object once outside the paint loop instead of allocating a new one every iteration.",
      "durationMs": 12475,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 155,
        "totalTokens": 16795,
        "reasoningTokens": 52,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:05.654Z",
      "completedAt": "2026-07-10T17:38:18.131Z",
      "answerBytes": 303,
      "answerChars": 303,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, iterations do\n    local value = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated table lookups in the hot loop.",
      "durationMs": 11332,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 16638,
        "completionTokens": 102,
        "totalTokens": 16740,
        "reasoningTokens": 33,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:06.192Z",
      "completedAt": "2026-07-10T17:38:17.526Z",
      "answerBytes": 171,
      "answerChars": 171,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal cachedPlayer\n\nlocal function GetCachedLocalPlayer()\n    if not IsValid(cachedPlayer) then\n        cachedPlayer = LocalPlayer()\n    end\n\n    return cachedPlayer\nend\n\nhook.Add(\"Think\", \"UseCachedLocalPlayer\", function()\n    local player = GetCachedLocalPlayer()\n    if not IsValid(player) then return end\n\n    -- Use `player` throughout this hot path.\n    local name = player:Nick()\nend)\n```\nReason: LocalPlayer() is resolved once after the entity becomes valid, then the cached player reference is reused.",
      "durationMs": 19877,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 588,
        "totalTokens": 17231,
        "reasoningTokens": 440,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:06.830Z",
      "completedAt": "2026-07-10T17:38:26.709Z",
      "answerBytes": 517,
      "answerChars": 517,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function AreRoughlyLookingAtEachOther(plyA, plyB, minDot)\n    minDot = minDot or 0.5 -- 60 degrees or narrower\n\n    local delta = plyB:EyePos() - plyA:EyePos()\n    if delta:LengthSqr() == 0 then return false end\n\n    local direction = delta:GetNormalized()\n    return plyA:GetAimVector():Dot(direction) >= minDot\n       and plyB:GetAimVector():Dot(-direction) >= minDot\nend\n```\nReason: Dot products compare aim alignment directly against a cosine threshold, avoiding the expensive math.acos angle calculation.",
      "durationMs": 19409,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 16655,
        "completionTokens": 538,
        "totalTokens": 17193,
        "reasoningTokens": 377,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:08.753Z",
      "completedAt": "2026-07-10T17:38:28.164Z",
      "answerBytes": 522,
      "answerChars": 522,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: A direct local function call avoids the extra `ply.SomeHelper` field or metatable lookup; use `:` only for actual methods.",
      "durationMs": 15678,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 16651,
        "completionTokens": 337,
        "totalTokens": 16988,
        "reasoningTokens": 280,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:08.952Z",
      "completedAt": "2026-07-10T17:38:24.632Z",
      "answerBytes": 157,
      "answerChars": 157,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug line\")\n```\nReason: MsgN writes directly to the Source console without print's extra Lua formatting overhead.",
      "durationMs": 12487,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 136,
        "totalTokens": 16780,
        "reasoningTokens": 88,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:10.236Z",
      "completedAt": "2026-07-10T17:38:22.725Z",
      "answerBytes": 127,
      "answerChars": 127,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal count = #numbers\nfor i = 1, count do\n    local value = numbers[i]\n    -- process value\nend\n```\nReason: Numeric `for` avoids the iterator and key/value overhead of `pairs` and `ipairs`, making it typically fastest for dense sequential arrays.",
      "durationMs": 12809,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 170,
        "totalTokens": 16820,
        "reasoningTokens": 87,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:10.507Z",
      "completedAt": "2026-07-10T17:38:23.317Z",
      "answerBytes": 254,
      "answerChars": 254,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal richPlayers = {}\nlocal players = player.GetAll()\n\nfor i = 1, #players do\n    local ply = players[i]\n\n    if IsValid(ply) and ply:Alive() then\n        local money = ply:getDarkRPVar(\"money\") or 0\n\n        if money >= 10000 then\n            richPlayers[#richPlayers + 1] = {\n                player = ply,\n                name = ply:Nick(),\n                money = money\n            }\n        end\n    end\nend\n```\nReason: One pass avoids intermediate tables and per-item callback overhead from separate filter/map combinators.",
      "durationMs": 19827,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 16660,
        "completionTokens": 551,
        "totalTokens": 17211,
        "reasoningTokens": 392,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:10.534Z",
      "completedAt": "2026-07-10T17:38:30.362Z",
      "answerBytes": 535,
      "answerChars": 535,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\n\nfor _, ply in ipairs(player.GetAll()) do\n    cachedPlayers[ply] = true\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"UpdatePlayerCache\", function(ply)\n    cachedPlayers[ply] = true\nend)\n\nhook.Add(\"PlayerDisconnected\", \"UpdatePlayerCache\", function(ply)\n    cachedPlayers[ply] = nil\nend)\n\nhook.Add(\"Think\", \"ProcessCachedPlayers\", function()\n    for ply in pairs(cachedPlayers) do\n        if IsValid(ply) then\n            -- Per-tick player logic here.\n        end\n    end\nend)\n```\nReason: `player.GetAll()` runs once at setup, while join and leave hooks update the cache so the per-tick hook only iterates the current players.",
      "durationMs": 20227,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 16659,
        "completionTokens": 576,
        "totalTokens": 17235,
        "reasoningTokens": 380,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:11.369Z",
      "completedAt": "2026-07-10T17:38:31.597Z",
      "answerBytes": 650,
      "answerChars": 650,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal tempData = {}\n\ntempData[ply] = value\nlocal value = tempData[ply]\n\nhook.Add(\"PlayerDisconnected\", \"ClearTempData\", function(disconnectedPly)\n    tempData[disconnectedPly] = nil\nend)\n```\nReason: A local Lua table lookup avoids the entity field/metamethod path used by `ply.someField`, making frequent reads cheaper.",
      "durationMs": 20479,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 624,
        "totalTokens": 17268,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:11.447Z",
      "completedAt": "2026-07-10T17:38:31.928Z",
      "answerBytes": 326,
      "answerChars": 326,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = {\n    \"foo\",\n    \"bar\",\n    \"baz\",\n}\n\nfor i = 1, #values do\n    local value = values[i]\n    -- Use value here.\nend\n```\nReason: Sequential number-indexed arrays use Lua’s optimized array part and avoid string-key hashing overhead.",
      "durationMs": 17731,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 16647,
        "completionTokens": 293,
        "totalTokens": 16940,
        "reasoningTokens": 201,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:12.117Z",
      "completedAt": "2026-07-10T17:38:29.849Z",
      "answerBytes": 253,
      "answerChars": 251,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing separate numbers avoids creating and passing a Color object in the hot draw path.",
      "durationMs": 12837,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 176,
        "totalTokens": 16826,
        "reasoningTokens": 119,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:12.285Z",
      "completedAt": "2026-07-10T17:38:25.123Z",
      "answerBytes": 149,
      "answerChars": 149,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal rows = sql.Query(\"SELECT value FROM player_data WHERE steamid = '\" .. sql.SQLStr(steamID, true) .. \"'\")\n```\nReason: Local SQLite avoids network round trips, so it is typically lower latency for a single server without multi-server synchronization.",
      "durationMs": 13785,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 16666,
        "completionTokens": 203,
        "totalTokens": 16869,
        "reasoningTokens": 124,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:12.475Z",
      "completedAt": "2026-07-10T17:38:26.262Z",
      "answerBytes": 260,
      "answerChars": 260,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function cachedSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n    return steamID\nend\n\n-- Hot path:\nlocal steamID = cachedSteamID(ply)\n```\nReason: The player object is used as a weak cache key, so SteamID() runs once per live player while entries can be garbage-collected automatically.",
      "durationMs": 14721,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 287,
        "totalTokens": 16930,
        "reasoningTokens": 137,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:14.006Z",
      "completedAt": "2026-07-10T17:38:28.729Z",
      "answerBytes": 462,
      "answerChars": 462,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slower: repeated string concatenation\nlocal result = \"\"\nfor _, piece in ipairs(pieces) do\n    result = result .. piece\nend\n\n-- Faster: collect pieces, then concatenate once\nlocal chunks = {}\nfor i, piece in ipairs(pieces) do\n    chunks[i] = piece\nend\nlocal result = table.concat(chunks)\n```\nReason: `table.concat` builds the final string in one pass, avoiding repeated intermediate string allocations and copies.",
      "durationMs": 13288,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 232,
        "totalTokens": 16874,
        "reasoningTokens": 109,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:14.199Z",
      "completedAt": "2026-07-10T17:38:27.488Z",
      "answerBytes": 422,
      "answerChars": 422,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` avoids the rounded-box path and is slightly faster for non-rounded rectangles.",
      "durationMs": 13101,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 16646,
        "completionTokens": 194,
        "totalTokens": 16840,
        "reasoningTokens": 132,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:14.262Z",
      "completedAt": "2026-07-10T17:38:27.365Z",
      "answerBytes": 173,
      "answerChars": 173,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.CreateFont(\"BenchText\", {\n    font = \"Tahoma\",\n    size = 18,\n    weight = 500\n})\n\nlocal text = \"Single-line text\"\nlocal font = \"BenchText\"\n\nhook.Add(\"HUDPaint\", \"FastText\", function()\n    surface.SetFont(font)\n    surface.SetTextColor(255, 255, 255, 255)\n    surface.SetTextPos(32, 32)\n    surface.DrawText(text)\nend)\n```\nReason: `surface.DrawText` avoids the extra wrapper and outline work performed by `draw.DrawText` and `draw.SimpleTextOutlined`; cache the font and text to minimize per-frame overhead.",
      "durationMs": 16962,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 16647,
        "completionTokens": 441,
        "totalTokens": 17088,
        "reasoningTokens": 269,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:14.980Z",
      "completedAt": "2026-07-10T17:38:31.943Z",
      "answerBytes": 522,
      "answerChars": 522,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: The `#` operator is the preferred way to get the length of a sequential array-like table.",
      "durationMs": 12060,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 16637,
        "completionTokens": 121,
        "totalTokens": 16758,
        "reasoningTokens": 70,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:15.592Z",
      "completedAt": "2026-07-10T17:38:27.653Z",
      "answerBytes": 132,
      "answerChars": 132,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Replacing the table is generally faster because it avoids iterating over and deleting existing entries; use table.Empty(t) only when preserving the table’s reference matters.",
      "durationMs": 12499,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 171,
        "totalTokens": 16815,
        "reasoningTokens": 111,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:15.846Z",
      "completedAt": "2026-07-10T17:38:28.346Z",
      "answerBytes": 202,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    apple = true,\n    banana = true,\n    cherry = true\n}\n\nif allowed[value] then\n    -- value exists in the set\nend\n```\nReason: A keyed-table lookup is approximately O(1), while table.HasValue scans the list linearly at O(n).",
      "durationMs": 13066,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 168,
        "totalTokens": 16812,
        "reasoningTokens": 80,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:17.527Z",
      "completedAt": "2026-07-10T17:38:30.595Z",
      "answerBytes": 250,
      "answerChars": 250,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal point = {\n    x = 10,\n    y = 20,\n    z = 30,\n}\n```\nReason: A table constructor initializes known fields during creation, avoiding separate assignment operations after allocation.",
      "durationMs": 13597,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 212,
        "totalTokens": 16853,
        "reasoningTokens": 144,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:18.132Z",
      "completedAt": "2026-07-10T17:38:31.730Z",
      "answerBytes": 192,
      "answerChars": 192,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = values[math.random(#values)]\n```\nReason: A sequential table supports direct indexed access, avoiding table.Random’s extra key-selection work.",
      "durationMs": 11923,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 16637,
        "completionTokens": 121,
        "totalTokens": 16758,
        "reasoningTokens": 68,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:18.375Z",
      "completedAt": "2026-07-10T17:38:30.300Z",
      "answerBytes": 164,
      "answerChars": 162,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication is faster and avoids the overhead of calling `math.pow(x, 2)`. ",
      "durationMs": 10881,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 16634,
        "completionTokens": 81,
        "totalTokens": 16715,
        "reasoningTokens": 31,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:18.603Z",
      "completedAt": "2026-07-10T17:38:29.485Z",
      "answerBytes": 119,
      "answerChars": 119,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- Handle ply here\nend\n```\nReason: player.GetAll() returns all currently connected players, and ipairs iterates through each player in the returned array.",
      "durationMs": 11534,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 125,
        "totalTokens": 16775,
        "reasoningTokens": 60,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:20.129Z",
      "completedAt": "2026-07-10T17:38:31.664Z",
      "answerBytes": 206,
      "answerChars": 206,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator(\"prop_physics\") do\n    -- Use ent here.\nend\n```\nReason: ents.Iterator(\"prop_physics\") yields matching entities lazily without creating a table of them first.",
      "durationMs": 16447,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 388,
        "totalTokens": 17031,
        "reasoningTokens": 322,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:20.802Z",
      "completedAt": "2026-07-10T17:38:37.250Z",
      "answerBytes": 192,
      "answerChars": 192,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers the callback under MyAddon.Think so it runs on the Think hook.",
      "durationMs": 11194,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 16651,
        "completionTokens": 107,
        "totalTokens": 16758,
        "reasoningTokens": 50,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:21.608Z",
      "completedAt": "2026-07-10T17:38:32.805Z",
      "answerBytes": 142,
      "answerChars": 142,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid(ent)` confirms the reference is a valid, non-removed entity before calling methods on it.",
      "durationMs": 8391,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 138,
        "totalTokens": 16782,
        "reasoningTokens": 76,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:22.726Z",
      "completedAt": "2026-07-10T17:38:31.119Z",
      "answerBytes": 163,
      "answerChars": 163,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(length, ply)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a callback for incoming messages with the specified name.",
      "durationMs": 9057,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 16637,
        "completionTokens": 179,
        "totalTokens": 16816,
        "reasoningTokens": 115,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:23.318Z",
      "completedAt": "2026-07-10T17:38:32.378Z",
      "answerBytes": 196,
      "answerChars": 196,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Reuse Garry's Mod's zero-angle singleton when the consumer does not mutate it.\nlocal zero = angle_zero\n\nfor i = 1, count do\n    UseAngle(zero)\nend\n```\nReason: `angle_zero` reuses an existing zeroed Angle and avoids allocating a new Angle userdata on every iteration; do not use it with code that mutates the angle.",
      "durationMs": 15656,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 619,
        "totalTokens": 17264,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:24.154Z",
      "completedAt": "2026-07-10T17:38:39.812Z",
      "answerBytes": 324,
      "answerChars": 324,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal ADDON_COLOR = Color(255, 0, 0)\nlocal color = ADDON_COLOR\n```\nReason: A local avoids global and nested-table lookups, making frequent reads faster.",
      "durationMs": 8565,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 252,
        "totalTokens": 16902,
        "reasoningTokens": 190,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:24.633Z",
      "completedAt": "2026-07-10T17:38:33.199Z",
      "answerBytes": 159,
      "answerChars": 159,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Preferred DarkRP API:\nlocal jobName = ply:getDarkRPVar(\"job\")\n\n-- Avoid:\nlocal jobName = ply:GetNWString(\"job\")\n```\nReason: `getDarkRPVar(\"job\")` reads DarkRP’s authoritative job variable, while `GetNWString(\"job\")` relies on a separate networked value that may be absent or stale.",
      "durationMs": 12850,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 356,
        "totalTokens": 17000,
        "reasoningTokens": 253,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:25.124Z",
      "completedAt": "2026-07-10T17:38:37.976Z",
      "answerBytes": 293,
      "answerChars": 291,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif vec1:DistToSqr(vec2) <= threshold * threshold then\n    -- Vectors are within the threshold.\nend\n```\nReason: `DistToSqr` avoids the unnecessary square-root calculation required by `Distance`.",
      "durationMs": 5302,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 168,
        "totalTokens": 16813,
        "reasoningTokens": 97,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:26.262Z",
      "completedAt": "2026-07-10T17:38:31.566Z",
      "answerBytes": 200,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    -- Process ent here\nend\n```\nReason: `ents.Iterator()` visits every entity without first allocating the table created by `ents.GetAll()`, making it the efficient iterator for this use case.",
      "durationMs": 7027,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 16639,
        "completionTokens": 266,
        "totalTokens": 16905,
        "reasoningTokens": 195,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:26.710Z",
      "completedAt": "2026-07-10T17:38:33.740Z",
      "answerBytes": 232,
      "answerChars": 232,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal radius = 256\nlocal center = ply:WorldSpaceCenter()\nlocal extent = Vector(radius, radius, radius)\nlocal nearby = ents.FindInBox(center - extent, center + extent)\n\nfor _, ent in ipairs(nearby) do\n    if ent ~= ply and ent:GetPos():DistToSqr(center) <= radius * radius then\n        -- Use ent here.\n    end\nend\n```\nReason: `ents.FindInBox` is commonly faster than spherical searches, and the distance check restores a true-radius result.",
      "durationMs": 22971,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 16660,
        "completionTokens": 1170,
        "totalTokens": 17830,
        "reasoningTokens": 1034,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:27.367Z",
      "completedAt": "2026-07-10T17:38:50.341Z",
      "answerBytes": 447,
      "answerChars": 447,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function PlayersWithinRadius(position, radius)\n    local radiusSqr = radius * radius\n    local nearby = {}\n\n    for _, ply in ipairs(player.GetAll()) do\n        if position:DistToSqr(ply:GetPos()) <= radiusSqr then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: `player.GetAll()` iterates only players instead of every entity, and `DistToSqr` avoids the square-root cost of a normal distance check.",
      "durationMs": 12424,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 16654,
        "completionTokens": 567,
        "totalTokens": 17221,
        "reasoningTokens": 428,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:27.490Z",
      "completedAt": "2026-07-10T17:38:39.915Z",
      "answerBytes": 457,
      "answerChars": 457,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: A numeric `for` loop is generally faster for counting because Lua optimizes its index, limit check, and increment as a specialized loop.",
      "durationMs": 6274,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 236,
        "totalTokens": 16881,
        "reasoningTokens": 169,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:27.654Z",
      "completedAt": "2026-07-10T17:38:33.930Z",
      "answerBytes": 187,
      "answerChars": 187,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"NotifyAllPlayers\", function()\n    hook.Run(\"CustomPlayerTick\", player.GetAll())\nend)\n```\nReason: One hook dispatch and one player-list lookup per tick avoids repeated hook.Run overhead for each player.",
      "durationMs": 8198,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16657,
        "completionTokens": 320,
        "totalTokens": 16977,
        "reasoningTokens": 247,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:28.165Z",
      "completedAt": "2026-07-10T17:38:36.364Z",
      "answerBytes": 227,
      "answerChars": 227,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(health, \"DermaDefault\", 20, 20, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 40, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 60, color_white)\nend)\n```\nReason: Cache `LocalPlayer():Health()` once per frame and reuse the result across all three draw calls.",
      "durationMs": 6745,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 16652,
        "completionTokens": 267,
        "totalTokens": 16919,
        "reasoningTokens": 130,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:28.347Z",
      "completedAt": "2026-07-10T17:38:35.094Z",
      "answerBytes": 403,
      "answerChars": 403,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"DrawItems\", function()\n    for i = 1, #items do\n        surface.SetDrawColor(WHITE)\n        -- draw item i\n    end\nend)\n```\nReason: Create the Color object once outside the paint loop instead of allocating one every iteration.",
      "durationMs": 6744,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 267,
        "totalTokens": 16907,
        "reasoningTokens": 167,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:28.731Z",
      "completedAt": "2026-07-10T17:38:35.477Z",
      "answerBytes": 291,
      "answerChars": 291,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, iterations do\n    local value = sin(i)\nend\n```\nReason: A local lookup is cheaper than repeatedly resolving the global `math` table and its `sin` field in the hot loop.",
      "durationMs": 6176,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 173,
        "totalTokens": 16815,
        "reasoningTokens": 98,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:29.486Z",
      "completedAt": "2026-07-10T17:38:35.663Z",
      "answerBytes": 207,
      "answerChars": 207,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal cachedPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    cachedPlayer = LocalPlayer()\nend)\n\nhook.Add(\"HUDPaint\", \"Example\", function()\n    if not IsValid(cachedPlayer) then return end\n\n    cachedPlayer:ChatPrint(\"Using the cached local player\")\nend)\n```\nReason: Cache the player entity once after initialization and reuse the local reference instead of calling LocalPlayer() repeatedly.",
      "durationMs": 11747,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 537,
        "totalTokens": 17182,
        "reasoningTokens": 417,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:29.850Z",
      "completedAt": "2026-07-10T17:38:41.599Z",
      "answerBytes": 418,
      "answerChars": 418,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal FACING_DOT = 0.85 -- roughly within 32 degrees\n\nlocal function AreLookingAtEachOther(a, b)\n    local offset = b:GetShootPos() - a:GetShootPos()\n    local lengthSqr = offset:LengthSqr()\n\n    if lengthSqr == 0 then\n        return false\n    end\n\n    local direction = offset / math.sqrt(lengthSqr)\n\n    return a:GetAimVector():Dot(direction) >= FACING_DOT\n       and b:GetAimVector():Dot(-direction) >= FACING_DOT\nend\n```\nReason: Dot products compare facing alignment directly, avoiding the slower math.acos angle calculation.",
      "durationMs": 13990,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 16659,
        "completionTokens": 656,
        "totalTokens": 17315,
        "reasoningTokens": 489,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:30.300Z",
      "completedAt": "2026-07-10T17:38:44.296Z",
      "answerBytes": 536,
      "answerChars": 536,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: A direct function call generally avoids the per-call method lookup that `ply:SomeHelper()` performs, while both pass `ply` explicitly.",
      "durationMs": 6099,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 16653,
        "completionTokens": 214,
        "totalTokens": 16867,
        "reasoningTokens": 156,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:30.363Z",
      "completedAt": "2026-07-10T17:38:36.463Z",
      "answerBytes": 169,
      "answerChars": 169,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug line\")\n```\nReason: `MsgN` writes directly to the console with a trailing newline and has less Lua-side overhead than `print`.",
      "durationMs": 9215,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 314,
        "totalTokens": 16958,
        "reasoningTokens": 258,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:30.595Z",
      "completedAt": "2026-07-10T17:38:39.812Z",
      "answerBytes": 144,
      "answerChars": 144,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #numbers do\n    local value = numbers[i]\n    -- use value\nend\n```\nReason: For a dense sequential array, numeric `for` typically has less iterator overhead than `pairs` or `ipairs`.",
      "durationMs": 6986,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 16652,
        "completionTokens": 270,
        "totalTokens": 16922,
        "reasoningTokens": 196,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:31.119Z",
      "completedAt": "2026-07-10T17:38:38.107Z",
      "answerBytes": 198,
      "answerChars": 198,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal names = {}\nlocal players = player.GetAll()\n\nfor i = 1, #players do\n    local ply = players[i]\n\n    if IsValid(ply) and ply:Alive() and ply:getDarkRPVar(\"money\") >= 1000 then\n        names[#names + 1] = ply:Nick()\n    end\nend\n```\nReason: A single indexed loop performs the filter and map together, avoiding intermediate tables, callback calls, and repeated traversal from separate `fn.Filter` and `fn.Map` operations.",
      "durationMs": 13422,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 16662,
        "completionTokens": 633,
        "totalTokens": 17295,
        "reasoningTokens": 496,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:31.566Z",
      "completedAt": "2026-07-10T17:38:44.990Z",
      "answerBytes": 429,
      "answerChars": 429,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\n\nlocal function refreshPlayerCache()\n    cachedPlayers = player.GetAll()\nend\n\nrefreshPlayerCache()\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshPlayerCacheOnJoin\", refreshPlayerCache)\nhook.Add(\"PlayerDisconnected\", \"RefreshPlayerCacheOnLeave\", function()\n    timer.Simple(0, refreshPlayerCache)\nend)\n\nhook.Add(\"Think\", \"ProcessCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        -- Process ply here.\n    end\nend)\n```\nReason: `player.GetAll()` runs only during initialization and join/leave events, so `Think` iterates the cached table without rebuilding the player list every tick.",
      "durationMs": 24117,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 16663,
        "completionTokens": 1219,
        "totalTokens": 17882,
        "reasoningTokens": 1034,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:31.598Z",
      "completedAt": "2026-07-10T17:38:55.719Z",
      "answerBytes": 661,
      "answerChars": 661,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal perPlayer = setmetatable({}, { __mode = \"k\" })\n\n-- Write\nperPlayer[ply] = value\n\n-- Hot-path read\nlocal value = perPlayer[ply]\n```\nReason: Direct Lua table access avoids the entity field lookup through Garry's Mod's metatable, while weak keys allow disconnected player data to be collected.",
      "durationMs": 14079,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 587,
        "totalTokens": 17231,
        "reasoningTokens": 489,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:31.665Z",
      "completedAt": "2026-07-10T17:38:45.745Z",
      "answerBytes": 303,
      "answerChars": 303,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for iteration: sequential number-indexed array\nlocal values = { \"red\", \"green\", \"blue\" }\n\nfor i = 1, #values do\n    local value = values[i]\nend\n```\nReason: Sequential number-indexed arrays use Lua's optimized array part and are faster to iterate than string-keyed maps.",
      "durationMs": 4898,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 16647,
        "completionTokens": 149,
        "totalTokens": 16796,
        "reasoningTokens": 56,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:31.732Z",
      "completedAt": "2026-07-10T17:38:36.632Z",
      "answerBytes": 286,
      "answerChars": 286,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal r, g, b, a = 255, 255, 255, 255\n\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: Passing separate numeric components avoids the Color-object overload and per-call object handling.",
      "durationMs": 8155,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 16652,
        "completionTokens": 341,
        "totalTokens": 16993,
        "reasoningTokens": 255,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:31.929Z",
      "completedAt": "2026-07-10T17:38:40.086Z",
      "answerBytes": 218,
      "answerChars": 218,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal rows = sql.Query(\"SELECT value FROM player_data WHERE steamid = \" .. SQLStr(steamID))\n```\nReason: Local SQLite avoids network round trips, so it is typically lower latency for a single server without multi-server synchronization.",
      "durationMs": 8535,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 16670,
        "completionTokens": 360,
        "totalTokens": 17030,
        "reasoningTokens": 289,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:31.944Z",
      "completedAt": "2026-07-10T17:38:40.481Z",
      "answerBytes": 242,
      "answerChars": 242,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function cachedSteamID(ply)\n    local steamID = steamIDCache[ply]\n\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n\n    return steamID\nend\n\n-- Hot path:\nlocal id = cachedSteamID(ply)\n```\nReason: A weak-key cache calls `ply:SteamID()` once per player while allowing disconnected player entities to be garbage-collected.",
      "durationMs": 10698,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 479,
        "totalTokens": 17120,
        "reasoningTokens": 332,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:32.378Z",
      "completedAt": "2026-07-10T17:38:43.079Z",
      "answerBytes": 443,
      "answerChars": 443,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pieces = {}\n\nfor i = 1, thousands do\n    pieces[i] = make_piece(i)\nend\n\nlocal result = table.concat(pieces)\n```\nReason: table.concat joins all pieces efficiently in one operation, avoiding repeated intermediate-string allocations from `..`.",
      "durationMs": 5554,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 191,
        "totalTokens": 16833,
        "reasoningTokens": 110,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:32.805Z",
      "completedAt": "2026-07-10T17:38:38.362Z",
      "answerBytes": 253,
      "answerChars": 253,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` draws directly, avoiding `draw.RoundedBox`'s Lua wrapper and radius check.",
      "durationMs": 10329,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 16646,
        "completionTokens": 446,
        "totalTokens": 17092,
        "reasoningTokens": 380,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:33.200Z",
      "completedAt": "2026-07-10T17:38:43.531Z",
      "answerBytes": 169,
      "answerChars": 169,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.CreateFont(\"HUD_SingleLine\", {\n    font = \"Tahoma\",\n    size = 20,\n    weight = 500,\n})\n\nlocal text = \"Status: Online\"\nlocal font = \"HUD_SingleLine\"\nlocal color = Color(255, 255, 255)\nlocal textWidth\n\nsurface.SetFont(font)\ntextWidth = surface.GetTextSize(text)\n\nhook.Add(\"HUDPaint\", \"DrawSingleLine\", function()\n    surface.SetFont(font)\n    surface.SetTextColor(color)\n    surface.SetTextPos((ScrW() - textWidth) * 0.5, 20)\n    surface.DrawText(text)\nend)\n```\nReason: Direct `surface.*` calls avoid the extra helper overhead of `draw.DrawText` and `SimpleTextOutlined`; cache invariant font, color, and text measurements, and use `SimpleTextOutlined` only when an outline is required.",
      "durationMs": 15314,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 16647,
        "completionTokens": 734,
        "totalTokens": 17381,
        "reasoningTokens": 510,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:33.741Z",
      "completedAt": "2026-07-10T17:38:49.057Z",
      "answerBytes": 700,
      "answerChars": 700,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: The `#` operator is the preferred way to get the length of a sequential array-like table.",
      "durationMs": 4439,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 16639,
        "completionTokens": 136,
        "totalTokens": 16775,
        "reasoningTokens": 85,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:33.930Z",
      "completedAt": "2026-07-10T17:38:38.371Z",
      "answerBytes": 132,
      "answerChars": 132,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Assigning a new table is generally faster because it avoids traversing and nil-ing every existing entry; use table.Empty(t) only when preserving the table’s identity matters.",
      "durationMs": 6677,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 204,
        "totalTokens": 16848,
        "reasoningTokens": 142,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:35.094Z",
      "completedAt": "2026-07-10T17:38:41.772Z",
      "answerBytes": 202,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    apple = true,\n    banana = true,\n    cherry = true,\n}\n\nif allowed[value] then\n    print(\"Value exists\")\nend\n```\nReason: A keyed set uses near-constant-time lookup, while table.HasValue scans the list linearly.",
      "durationMs": 5335,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 181,
        "totalTokens": 16829,
        "reasoningTokens": 95,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:35.478Z",
      "completedAt": "2026-07-10T17:38:40.815Z",
      "answerBytes": 238,
      "answerChars": 238,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerData = {\n    name = \"Alyx\",\n    health = 100,\n    alive = true\n}\n```\nReason: The constructor lets Lua allocate and populate the table in one operation, avoiding separate field assignments.",
      "durationMs": 6492,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 223,
        "totalTokens": 16868,
        "reasoningTokens": 152,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:35.663Z",
      "completedAt": "2026-07-10T17:38:42.157Z",
      "answerBytes": 207,
      "answerChars": 207,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal items = { \"a\", \"b\", \"c\" }\nlocal item = items[math.random(#items)]\n```\nReason: Sequential tables support direct random indexing, avoiding the key-selection overhead of `table.Random`; the table must be non-empty.",
      "durationMs": 8165,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 16639,
        "completionTokens": 321,
        "totalTokens": 16960,
        "reasoningTokens": 246,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:36.365Z",
      "completedAt": "2026-07-10T17:38:44.532Z",
      "answerBytes": 224,
      "answerChars": 224,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication avoids the overhead of a function call and is the fastest, idiomatic way to square a number in a tight loop.",
      "durationMs": 3789,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 16636,
        "completionTokens": 95,
        "totalTokens": 16731,
        "reasoningTokens": 38,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:36.464Z",
      "completedAt": "2026-07-10T17:38:40.255Z",
      "answerBytes": 164,
      "answerChars": 164,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- ...\nend\n```\nReason: `player.Iterator()` visits currently connected players without first creating the table returned by `player.GetAll()`.",
      "durationMs": 9594,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 16652,
        "completionTokens": 414,
        "totalTokens": 17066,
        "reasoningTokens": 353,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:36.633Z",
      "completedAt": "2026-07-10T17:38:46.228Z",
      "answerBytes": 187,
      "answerChars": 187,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator(\"prop_physics\") do\n    -- Process ent here.\nend\n```\nReason: ents.Iterator(\"prop_physics\") lazily visits matching entities without building a table of them.",
      "durationMs": 12732,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 581,
        "totalTokens": 17226,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:37.251Z",
      "completedAt": "2026-07-10T17:38:49.985Z",
      "answerBytes": 190,
      "answerChars": 190,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers the callback under MyAddon.Think so it runs on every Think hook invocation.",
      "durationMs": 5680,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 187,
        "totalTokens": 16832,
        "reasoningTokens": 129,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:37.977Z",
      "completedAt": "2026-07-10T17:38:43.659Z",
      "answerBytes": 155,
      "answerChars": 155,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: IsValid safely rejects nil, NULL, and removed entities before method calls.",
      "durationMs": 5861,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 205,
        "totalTokens": 16845,
        "reasoningTokens": 150,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:38.107Z",
      "completedAt": "2026-07-10T17:38:43.971Z",
      "answerBytes": 140,
      "answerChars": 140,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(length, ply)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a callback for incoming messages with the specified name.",
      "durationMs": 7098,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 16633,
        "completionTokens": 239,
        "totalTokens": 16872,
        "reasoningTokens": 175,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:38.364Z",
      "completedAt": "2026-07-10T17:38:45.466Z",
      "answerBytes": 196,
      "answerChars": 196,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\n-- Reuse Garry's Mod's cached zero Angle.\nlocal zeroAngle = angle_zero\n\n-- Hot path: treat zeroAngle as read-only.\nUseAngle(zeroAngle)\n```\nReason: `angle_zero` avoids the per-call allocation and constructor overhead of `Angle()`; use a separate reusable scratch Angle if the value must be mutated.",
      "durationMs": 59850,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 3200,
        "totalTokens": 19841,
        "reasoningTokens": 3106,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:38.372Z",
      "completedAt": "2026-07-10T17:39:38.224Z",
      "answerBytes": 304,
      "answerChars": 304,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal ADDON_COLOR = Color(255, 255, 255)\n\nlocal color = ADDON_COLOR\n```\nReason: A local avoids global and nested-table lookups, making it fastest for frequent reads.",
      "durationMs": 9607,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 16646,
        "completionTokens": 417,
        "totalTokens": 17063,
        "reasoningTokens": 352,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:39.812Z",
      "completedAt": "2026-07-10T17:38:49.425Z",
      "answerBytes": 172,
      "answerChars": 172,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n\n-- Avoid using the replicated implementation detail directly:\nlocal jobName = ply:GetNWString(\"job\")\n```\nReason: `getDarkRPVar(\"job\")` is DarkRP’s intended accessor, while `GetNWString(\"job\")` depends on an internal networking detail.",
      "durationMs": 10019,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 431,
        "totalTokens": 17073,
        "reasoningTokens": 337,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:39.812Z",
      "completedAt": "2026-07-10T17:38:49.834Z",
      "answerBytes": 284,
      "answerChars": 282,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal threshold = 100\n\nif firstVector:DistToSqr(secondVector) <= threshold * threshold then\n    -- Vectors are within the threshold.\nend\n```\nReason: `DistToSqr` avoids the square-root cost of calculating the actual distance.",
      "durationMs": 6069,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 217,
        "totalTokens": 16858,
        "reasoningTokens": 140,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:39.915Z",
      "completedAt": "2026-07-10T17:38:45.986Z",
      "answerBytes": 231,
      "answerChars": 231,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    -- Process ent here.\nend\n```\nReason: `ents.Iterator()` traverses entities without allocating the full table produced by `ents.GetAll()`, making it more efficient for direct iteration.",
      "durationMs": 10523,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 16637,
        "completionTokens": 466,
        "totalTokens": 17103,
        "reasoningTokens": 396,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:40.087Z",
      "completedAt": "2026-07-10T17:38:50.612Z",
      "answerBytes": 227,
      "answerChars": 227,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function EntitiesNearPlayer(ply, radius)\n    local pos = ply:GetPos()\n    local extent = Vector(radius, radius, radius)\n\n    return ents.FindInBox(pos - extent, pos + extent)\nend\n```\nReason: `ents.FindInBox` is a fast built-in broad-phase query; use the returned AABB candidates directly or distance-filter them when a true radius is required.",
      "durationMs": 14112,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 16660,
        "completionTokens": 623,
        "totalTokens": 17283,
        "reasoningTokens": 516,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:40.256Z",
      "completedAt": "2026-07-10T17:38:54.371Z",
      "answerBytes": 356,
      "answerChars": 356,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function PlayersWithinRadius(origin, radius)\n    local radiusSqr = radius * radius\n    local nearby = {}\n\n    for _, ply in player.Iterator() do\n        if origin:DistToSqr(ply:GetPos()) <= radiusSqr then\n            nearby[#nearby + 1] = ply\n        end\n    end\n\n    return nearby\nend\n```\nReason: Iterates only active players, avoids scanning unrelated entities and player-type checks, and uses squared distance without a square root.",
      "durationMs": 38916,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 16652,
        "completionTokens": 2042,
        "totalTokens": 18694,
        "reasoningTokens": 1913,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:40.482Z",
      "completedAt": "2026-07-10T17:39:19.399Z",
      "answerBytes": 448,
      "answerChars": 448,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: Numeric `for` loops use Lua’s specialized counting-loop machinery and are generally faster than manually checking and incrementing a `while` loop.",
      "durationMs": 31152,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 16645,
        "completionTokens": 1619,
        "totalTokens": 18264,
        "reasoningTokens": 1552,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:40.816Z",
      "completedAt": "2026-07-10T17:39:11.969Z",
      "answerBytes": 199,
      "answerChars": 197,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"NotifyAllPlayers\", function()\n    hook.Run(\"CustomPlayerTick\", player.GetAll())\nend)\n\nhook.Add(\"CustomPlayerTick\", \"RunPlayerLogic\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- Custom logic for ply.\n    end\nend)\n```\nReason: One hook dispatch and argument setup per tick; the per-player loop runs inside the handler instead of paying hook.Run overhead for every player.",
      "durationMs": 14246,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16653,
        "completionTokens": 647,
        "totalTokens": 17300,
        "reasoningTokens": 516,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:41.600Z",
      "completedAt": "2026-07-10T17:38:55.847Z",
      "answerBytes": 437,
      "answerChars": 437,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"CachedHealthHUD\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(health, \"DermaDefault\", 20, 20, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 40, color_white)\n    draw.SimpleText(health, \"DermaDefault\", 20, 60, color_white)\nend)\n```\nReason: Cache the health value once per frame instead of calling LocalPlayer():Health() three times.",
      "durationMs": 14317,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 652,
        "totalTokens": 17302,
        "reasoningTokens": 516,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:41.773Z",
      "completedAt": "2026-07-10T17:38:56.092Z",
      "answerBytes": 405,
      "answerChars": 405,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal white = Color(255, 255, 255)\n\nfunction PANEL:Paint(w, h)\n    surface.SetDrawColor(white)\n\n    for i = 1, #self.items do\n        local item = self.items[i]\n        surface.DrawRect(item.x, item.y, item.w, item.h)\n    end\nend\n```\nReason: Create the immutable color once and set the draw color outside the loop, avoiding repeated allocation and state updates.",
      "durationMs": 23153,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 16636,
        "completionTokens": 1156,
        "totalTokens": 17792,
        "reasoningTokens": 1034,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:42.157Z",
      "completedAt": "2026-07-10T17:39:05.312Z",
      "answerBytes": 369,
      "answerChars": 369,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\nlocal total = 0\n\nfor i = 1, 1000000 do\n    total = total + sin(i)\nend\n```\nReason: A local lookup avoids repeatedly indexing the global `math` table for `math.sin`.",
      "durationMs": 9718,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 385,
        "totalTokens": 17027,
        "reasoningTokens": 307,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:43.084Z",
      "completedAt": "2026-07-10T17:38:52.821Z",
      "answerBytes": 191,
      "answerChars": 191,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal cachedPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    cachedPlayer = LocalPlayer()\nend)\n\nhook.Add(\"Think\", \"UseCachedLocalPlayer\", function()\n    local ply = cachedPlayer\n    if not IsValid(ply) then return end\n\n    -- Reuse ply throughout this hot path.\n    local position = ply:GetPos()\n    local alive = ply:Alive()\nend)\n```\nReason: Cache the player entity once after client initialization, then reuse the local reference instead of repeatedly calling the global LocalPlayer() lookup.",
      "durationMs": 14386,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 663,
        "totalTokens": 17306,
        "reasoningTokens": 516,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:43.532Z",
      "completedAt": "2026-07-10T17:38:57.920Z",
      "answerBytes": 522,
      "answerChars": 522,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function AreLookingAtEachOther(a, b, minDot)\n    minDot = minDot or 0.75\n\n    local delta = b:EyePos() - a:EyePos()\n    if delta:LengthSqr() == 0 then return false end\n\n    local toB = delta:GetNormalized()\n    return a:GetAimVector():Dot(toB) >= minDot\n       and b:GetAimVector():Dot(-toB) >= minDot\nend\n```\nReason: Dot products compare each normalized aim vector against the other player’s direction without the cost of `math.acos`; `0.75` gives a roughly 41° facing cone.",
      "durationMs": 35576,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 16657,
        "completionTokens": 1835,
        "totalTokens": 18492,
        "reasoningTokens": 1671,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:43.662Z",
      "completedAt": "2026-07-10T17:39:19.241Z",
      "answerBytes": 491,
      "answerChars": 488,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: The direct call is generally faster because colon syntax performs a method lookup on `ply` before passing it as the implicit first argument.",
      "durationMs": 12644,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 16649,
        "completionTokens": 572,
        "totalTokens": 17221,
        "reasoningTokens": 516,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:43.972Z",
      "completedAt": "2026-07-10T17:38:56.623Z",
      "answerBytes": 175,
      "answerChars": 175,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug line\")\n```\nReason: `MsgN` writes directly to the console with less formatting overhead than `print`.",
      "durationMs": 12920,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 566,
        "totalTokens": 17206,
        "reasoningTokens": 516,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:44.299Z",
      "completedAt": "2026-07-10T17:38:57.240Z",
      "answerBytes": 119,
      "answerChars": 119,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #values do\n    local value = values[i]\n    -- process value\nend\n```\nReason: A numeric `for` with direct indexing typically has less iterator overhead than `pairs` or `ipairs` for dense sequential arrays.",
      "durationMs": 10908,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 16652,
        "completionTokens": 467,
        "totalTokens": 17119,
        "reasoningTokens": 391,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:44.536Z",
      "completedAt": "2026-07-10T17:38:55.474Z",
      "answerBytes": 221,
      "answerChars": 221,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Equivalent to Filter(admin players) followed by Map(player names).\nlocal players = player.GetAll()\nlocal adminNames = {}\nlocal nameCount = 0\n\nfor i = 1, #players do\n    local ply = players[i]\n\n    if IsValid(ply) and ply:IsAdmin() then\n        nameCount = nameCount + 1\n        adminNames[nameCount] = ply:Nick()\n    end\nend\n```\nReason: One pass avoids the intermediate filtered table and per-item combinator dispatch.",
      "durationMs": 36018,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 16660,
        "completionTokens": 1457,
        "totalTokens": 18117,
        "reasoningTokens": 1323,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:44.992Z",
      "completedAt": "2026-07-10T17:39:21.014Z",
      "answerBytes": 428,
      "answerChars": 428,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\nlocal playerSlot = {}\n\nfor i = 1, #cachedPlayers do\n    playerSlot[cachedPlayers[i]] = i\nend\n\nlocal function addCachedPlayer(ply)\n    if playerSlot[ply] ~= nil then\n        return\n    end\n\n    local slot = #cachedPlayers + 1\n    cachedPlayers[slot] = ply\n    playerSlot[ply] = slot\nend\n\nlocal function removeCachedPlayer(ply)\n    local slot = playerSlot[ply]\n    if slot == nil then\n        return\n    end\n\n    local lastSlot = #cachedPlayers\n    local lastPlayer = cachedPlayers[lastSlot]\n\n    cachedPlayers[slot] = lastPlayer\n    cachedPlayers[lastSlot] = nil\n    playerSlot[lastPlayer] = slot\n    playerSlot[ply] = nil\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"CachePlayers\", addCachedPlayer)\nhook.Add(\"PlayerDisconnected\", \"CachePlayers\", removeCachedPlayer)\n\nhook.Add(\"Think\", \"ProcessCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        -- Per-tick work for ply goes here.\n    end\nend)\n```\nReason: The tick hook reuses one array; player cache updates happen only on startup, join, and disconnect.",
      "durationMs": 62507,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 16657,
        "completionTokens": 2911,
        "totalTokens": 19568,
        "reasoningTokens": 2588,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:45.467Z",
      "completedAt": "2026-07-10T17:39:47.975Z",
      "answerBytes": 1094,
      "answerChars": 1094,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal tempByPlayer = {}\n\nlocal function setTemp(ply, value)\n    tempByPlayer[ply] = value\nend\n\nhook.Add(\"PlayerDisconnected\", \"ClearTempData\", function(ply)\n    tempByPlayer[ply] = nil\nend)\n\nsetTemp(ply, value)\n\n-- Hot read path:\nlocal value = tempByPlayer[ply]\n```\nReason: A local Lua table lookup avoids the Garry's Mod entity field/metatable lookup used by `ply.someField`, while explicit cleanup prevents stale player references.",
      "durationMs": 34406,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 16646,
        "completionTokens": 1366,
        "totalTokens": 18012,
        "reasoningTokens": 1225,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:45.746Z",
      "completedAt": "2026-07-10T17:39:20.159Z",
      "answerBytes": 440,
      "answerChars": 440,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal values = {\n    \"first\",\n    \"second\",\n    \"third\",\n}\n\nlocal count = #values\nfor i = 1, count do\n    local value = values[i]\n    -- use value\nend\n```\nReason: Sequential number-indexed arrays use contiguous numeric storage and are faster to iterate than string-keyed maps.",
      "durationMs": 20775,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 16647,
        "completionTokens": 613,
        "totalTokens": 17260,
        "reasoningTokens": 516,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:45.989Z",
      "completedAt": "2026-07-10T17:39:06.767Z",
      "answerBytes": 283,
      "answerChars": 283,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing numeric channels avoids Color object overhead in the hot draw path.",
      "durationMs": 17275,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 16648,
        "completionTokens": 377,
        "totalTokens": 17025,
        "reasoningTokens": 323,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:46.229Z",
      "completedAt": "2026-07-10T17:39:03.506Z",
      "answerBytes": 135,
      "answerChars": 135,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal rows = sql.Query(\"SELECT points FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID))\n```\nReason: Local SQLite typically has lower latency because it avoids remote network round trips and connection overhead; MySQL is mainly useful for shared multi-server data.",
      "durationMs": 17509,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 16666,
        "completionTokens": 441,
        "totalTokens": 17107,
        "reasoningTokens": 363,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:49.059Z",
      "completedAt": "2026-07-10T17:39:06.572Z",
      "answerBytes": 279,
      "answerChars": 279,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function CachedSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID == nil then\n        steamID = ply:SteamID()\n        steamIDCache[ply] = steamID\n    end\n    return steamID\nend\n\n-- Hot path:\nlocal steamID = CachedSteamID(ply)\n```\nReason: The first lookup calls `SteamID()` once per player; later calls use a table lookup, while weak keys avoid retaining disconnected player objects.",
      "durationMs": 22583,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 665,
        "totalTokens": 17306,
        "reasoningTokens": 516,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:49.426Z",
      "completedAt": "2026-07-10T17:39:12.020Z",
      "answerBytes": 467,
      "answerChars": 467,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pieces = {}\n\nfor i = 1, thousands do\n    pieces[i] = make_piece(i)\nend\n\nlocal result = table.concat(pieces)\n```\nReason: `table.concat` joins the pieces efficiently in one operation, avoiding repeated intermediate string allocations from `..`.",
      "durationMs": 19700,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 16644,
        "completionTokens": 560,
        "totalTokens": 17204,
        "reasoningTokens": 477,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:49.834Z",
      "completedAt": "2026-07-10T17:39:09.537Z",
      "answerBytes": 255,
      "answerChars": 255,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` draws directly without the rounded-box wrapper and its radius handling.",
      "durationMs": 16860,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 16646,
        "completionTokens": 369,
        "totalTokens": 17015,
        "reasoningTokens": 309,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:49.987Z",
      "completedAt": "2026-07-10T17:39:06.848Z",
      "answerBytes": 166,
      "answerChars": 166,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal FONT = \"DermaDefault\"\nlocal TEXT = \"Status: OK\"\nlocal X, Y = 32, 32\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(FONT)\n    surface.SetTextColor(255, 255, 255, 255)\n    surface.SetTextPos(X, Y)\n    surface.DrawText(TEXT)\nend)\n```\nReason: Direct surface calls avoid draw.* wrapper and alignment work, while SimpleTextOutlined performs multiple extra draw passes.",
      "durationMs": 69652,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 16643,
        "completionTokens": 3242,
        "totalTokens": 19885,
        "reasoningTokens": 3106,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:50.343Z",
      "completedAt": "2026-07-10T17:40:00.000Z",
      "answerBytes": 403,
      "answerChars": 403,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: The `#` operator is idiomatic and efficient for sequential array-like tables; `table.Count` is unnecessary.",
      "durationMs": 15499,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 16635,
        "completionTokens": 318,
        "totalTokens": 16953,
        "reasoningTokens": 264,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:50.619Z",
      "completedAt": "2026-07-10T17:39:06.126Z",
      "answerBytes": 150,
      "answerChars": 150,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: `t = {}` replaces the table reference in constant time, while `table.Empty(t)` removes entries one by one; use `table.Empty(t)` only when existing references must see the same table emptied.",
      "durationMs": 19392,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 532,
        "totalTokens": 17174,
        "reasoningTokens": 462,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:52.822Z",
      "completedAt": "2026-07-10T17:39:12.217Z",
      "answerBytes": 216,
      "answerChars": 216,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowedClasses = {\n    prop_physics = true,\n    prop_dynamic = true,\n    npc_citizen = true,\n}\n\nif allowedClasses[className] then\n    -- Value exists in the set.\nend\n```\nReason: Set-style table lookup is average O(1), while table.HasValue scans a list linearly in O(n).",
      "durationMs": 16084,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 16642,
        "completionTokens": 355,
        "totalTokens": 16997,
        "reasoningTokens": 256,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:54.371Z",
      "completedAt": "2026-07-10T17:39:10.458Z",
      "answerBytes": 282,
      "answerChars": 282,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerData = {\n    name = \"Alyx\",\n    score = 0,\n    alive = true\n}\n```\nReason: The constructor initializes known fields during table creation, avoiding separate post-creation assignments.",
      "durationMs": 15527,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 16641,
        "completionTokens": 316,
        "totalTokens": 16957,
        "reasoningTokens": 247,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:55.475Z",
      "completedAt": "2026-07-10T17:39:11.008Z",
      "answerBytes": 201,
      "answerChars": 201,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function randomSequential(tbl)\n    return tbl[math.random(1, #tbl)]\nend\n\nlocal value = randomSequential(myTable)\n```\nReason: Direct numeric indexing avoids table.Random's key collection and lookup overhead for sequential tables.",
      "durationMs": 16737,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 16639,
        "completionTokens": 405,
        "totalTokens": 17044,
        "reasoningTokens": 332,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:55.719Z",
      "completedAt": "2026-07-10T17:39:12.458Z",
      "answerBytes": 241,
      "answerChars": 241,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication is faster and more direct than exponentiation for squaring.",
      "durationMs": 13367,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 16640,
        "completionTokens": 213,
        "totalTokens": 16853,
        "reasoningTokens": 168,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:55.848Z",
      "completedAt": "2026-07-10T17:39:09.217Z",
      "answerBytes": 115,
      "answerChars": 115,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.6-luna@max",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- Visit ply here.\nend\n```\nReason: player.Iterator() visits all currently connected players without allocating the table returned by player.GetAll().",
      "durationMs": 28671,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 16650,
        "completionTokens": 1094,
        "totalTokens": 17744,
        "reasoningTokens": 1034,
        "cachedTokens": 16128
      },
      "startedAt": "2026-07-10T17:38:56.092Z",
      "completedAt": "2026-07-10T17:39:24.765Z",
      "answerBytes": 195,
      "answerChars": 195,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- use ent here\n    end\nend\n```\nReason: `ents.Iterator()` streams entities one at a time, so filtering by class avoids allocating a table of all map entities.",
      "durationMs": 12764,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 135,
        "totalTokens": 16972,
        "reasoningTokens": 54,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:56.623Z",
      "completedAt": "2026-07-10T17:39:09.388Z",
      "answerBytes": 248,
      "answerChars": 248,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: `hook.Add` registers a function to run when the `Think` hook fires, keyed by the identifier `MyAddon.Think`.",
      "durationMs": 11531,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 67,
        "totalTokens": 16908,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:38:57.241Z",
      "completedAt": "2026-07-10T17:39:08.774Z",
      "answerBytes": 178,
      "answerChars": 178,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:Remove()\nend\n```\nReason: `IsValid(ent)` checks that the reference is a valid, non-NULL entity before calling entity methods.",
      "durationMs": 10670,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 59,
        "totalTokens": 16893,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:38:57.921Z",
      "completedAt": "2026-07-10T17:39:08.592Z",
      "answerBytes": 160,
      "answerChars": 160,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` registers a callback for the named incoming net message.",
      "durationMs": 11181,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 16829,
        "completionTokens": 75,
        "totalTokens": 16904,
        "reasoningTokens": 12,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:03.507Z",
      "completedAt": "2026-07-10T17:39:14.689Z",
      "answerBytes": 182,
      "answerChars": 182,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal ZERO_ANGLE = Angle(0, 0, 0)\n\n-- Hot path: returns a fresh zeroed Angle without calling the global constructor.\nlocal function FreshZeroAngle()\n    return ZERO_ANGLE * 1\nend\n\n-- Slower in tight loops:\n-- local a = Angle()\n```\nReason: Copying a cached zero Angle with scalar multiplication avoids the repeated constructor call while still returning a new mutable Angle.",
      "durationMs": 28412,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 487,
        "totalTokens": 17322,
        "reasoningTokens": 373,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:05.313Z",
      "completedAt": "2026-07-10T17:39:33.727Z",
      "answerBytes": 380,
      "answerChars": 380,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal configColor = Color(255, 80, 80)\n\nlocal color = configColor\n```\nReason: A local flat variable is fastest because it avoids global/table lookups, while `myaddon.config.color` performs multiple table indexing operations per read.",
      "durationMs": 12527,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 16840,
        "completionTokens": 118,
        "totalTokens": 16958,
        "reasoningTokens": 43,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:06.127Z",
      "completedAt": "2026-07-10T17:39:18.655Z",
      "answerBytes": 240,
      "answerChars": 240,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal jobName = team.GetName(ply:Team())\n```\nReason: DarkRP stores a player's job as their team, so `team.GetName(ply:Team())` is the direct server-side API; `ply:GetNWString(\"job\")` is networked string access and is slower/staler than reading the team.",
      "durationMs": 11859,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 88,
        "totalTokens": 16922,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:06.573Z",
      "completedAt": "2026-07-10T17:39:18.433Z",
      "answerBytes": 260,
      "answerChars": 260,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif a:DistToSqr(b) <= maxDistance * maxDistance then\n    -- within range\nend\n```\nReason: `DistToSqr` avoids the square root used by distance methods, so it is preferred for threshold checks.",
      "durationMs": 10986,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 69,
        "totalTokens": 16904,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:06.769Z",
      "completedAt": "2026-07-10T17:39:17.756Z",
      "answerBytes": 196,
      "answerChars": 196,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- Visit ent here.\nend\n```\nReason: `ents.Iterator()` walks every entity without building the table that `ents.GetAll()` returns, so it is the preferred efficient iterator when you only need to visit each entity once.",
      "durationMs": 12698,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 16833,
        "completionTokens": 138,
        "totalTokens": 16971,
        "reasoningTokens": 61,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:06.849Z",
      "completedAt": "2026-07-10T17:39:19.548Z",
      "answerBytes": 257,
      "answerChars": 257,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal radius = 512\nlocal nearby = ents.FindInSphere(ply:GetPos(), radius)\n\nfor i = 1, #nearby do\n    local ent = nearby[i]\n    if ent ~= ply and ent:IsValid() then\n        -- use ent\n    end\nend\n```\nReason: `ents.FindInSphere` is a fast built-in spatial query for nearby entities around a point, and common benchmarks usually place it among the cheaper `FindIn*` choices without relying on PVS visibility.",
      "durationMs": 11968,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 16854,
        "completionTokens": 127,
        "totalTokens": 16981,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:08.593Z",
      "completedAt": "2026-07-10T17:39:20.562Z",
      "answerBytes": 412,
      "answerChars": 412,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInRadius(origin, radius)\n    local radiusSqr = radius * radius\n    local found = {}\n\n    for _, ply in ipairs(player.GetAll()) do\n        if ply:GetPos():DistToSqr(origin) <= radiusSqr then\n            found[#found + 1] = ply\n        end\n    end\n\n    return found\nend\n```\nReason: Iterating `player.GetAll()` checks only players and uses squared distance, avoiding the broad entity search and player filtering cost of `ents.FindInSphere`.",
      "durationMs": 12025,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 16846,
        "completionTokens": 136,
        "totalTokens": 16982,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:08.775Z",
      "completedAt": "2026-07-10T17:39:20.801Z",
      "answerBytes": 470,
      "answerChars": 470,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: Numeric for loops are generally faster in Lua because the VM handles the counter, limit, and step directly with specialized loop opcodes, avoiding the extra manual condition and increment work of a while loop.",
      "durationMs": 12966,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 77,
        "totalTokens": 16914,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:09.217Z",
      "completedAt": "2026-07-10T17:39:22.184Z",
      "answerBytes": 265,
      "answerChars": 265,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"Tick\", \"NotifyPlayersOnce\", function()\n    local players = player.GetAll()\n    hook.Run(\"MyPlayerTickBatch\", players)\nend)\n\nhook.Add(\"MyPlayerTickBatch\", \"ProcessPlayers\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- custom per-player logic here\n    end\nend)\n```\nReason: Running one hook dispatch per tick avoids paying hook lookup and callback dispatch overhead once per player.",
      "durationMs": 12976,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16851,
        "completionTokens": 127,
        "totalTokens": 16978,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:09.389Z",
      "completedAt": "2026-07-10T17:39:22.367Z",
      "answerBytes": 438,
      "answerChars": 438,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal ply = LocalPlayer()\nlocal health = ply:Health()\n\ndraw.SimpleText(health, \"HudFont\", 24, 24, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP)\ndraw.SimpleText(health .. \"%\", \"HudFontSmall\", 24, 48, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP)\ndraw.RoundedBox(4, 24, 72, math.max(0, health) * 2, 12, Color(200, 40, 40))\n```\nReason: Cache `LocalPlayer()` and `Health()` once per `HUDPaint` frame so the draw code avoids repeated player lookup and method calls.",
      "durationMs": 12729,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 165,
        "totalTokens": 17009,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:09.538Z",
      "completedAt": "2026-07-10T17:39:22.268Z",
      "answerBytes": 467,
      "answerChars": 467,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal white = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FastPaintColor\", function()\n    for _, item in ipairs(items) do\n        surface.SetDrawColor(white)\n        -- draw item here\n    end\nend)\n```\nReason: `Color()` allocates a table, so creating it once outside the paint loop avoids per-frame per-item allocation work.",
      "durationMs": 11473,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 16830,
        "completionTokens": 106,
        "totalTokens": 16936,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:10.459Z",
      "completedAt": "2026-07-10T17:39:21.933Z",
      "answerBytes": 330,
      "answerChars": 330,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, n do\n    values[i] = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated global/table lookups inside the hot loop.",
      "durationMs": 12979,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 80,
        "totalTokens": 16914,
        "reasoningTokens": 9,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:11.010Z",
      "completedAt": "2026-07-10T17:39:23.990Z",
      "answerBytes": 171,
      "answerChars": 171,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal cachedLocalPlayer\n\nlocal function GetLocalPlayer()\n    if not IsValid(cachedLocalPlayer) then\n        cachedLocalPlayer = LocalPlayer()\n    end\n\n    return cachedLocalPlayer\nend\n\nhook.Add(\"Think\", \"UseCachedLocalPlayer\", function()\n    local ply = GetLocalPlayer()\n    if not IsValid(ply) then return end\n\n    -- Use ply here instead of calling LocalPlayer() repeatedly.\nend)\n```\nReason: Cache the player entity and refresh it only when invalid, so hot paths avoid repeated global LocalPlayer() lookups.",
      "durationMs": 12972,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 145,
        "totalTokens": 16980,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:11.970Z",
      "completedAt": "2026-07-10T17:39:24.944Z",
      "answerBytes": 516,
      "answerChars": 516,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal FACING_DOT = -0.7 -- closer to -1 means more directly facing each other\n\nlocal function AreRoughlyLookingAtEachOther(plyA, plyB)\n    if not IsValid(plyA) or not IsValid(plyB) then return false end\n\n    local aimA = plyA:GetAimVector()\n    local aimB = plyB:GetAimVector()\n\n    return aimA:Dot(aimB) <= FACING_DOT\nend\n```\nReason: Dot product compares normalized aim directions without `math.acos`, so it avoids angle conversion and uses one cheap threshold check.",
      "durationMs": 12451,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 16851,
        "completionTokens": 153,
        "totalTokens": 17004,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:12.020Z",
      "completedAt": "2026-07-10T17:39:24.474Z",
      "answerBytes": 475,
      "answerChars": 475,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: Usually faster, because `ply:SomeHelper()` performs method lookup and passes `self`, while a local/free helper call can avoid the metatable-style lookup when you control the helper.",
      "durationMs": 11665,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 16843,
        "completionTokens": 65,
        "totalTokens": 16908,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:12.218Z",
      "completedAt": "2026-07-10T17:39:23.886Z",
      "answerBytes": 216,
      "answerChars": 216,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nMsgC(Color(120, 200, 255), \"debug value: \", tostring(value), \"\\n\")\n```\nReason: MsgC writes directly to the console and avoids the extra formatting/spacing behavior of print, so it is cheaper in a hot path.",
      "durationMs": 11002,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 76,
        "totalTokens": 16910,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:12.459Z",
      "completedAt": "2026-07-10T17:39:23.462Z",
      "answerBytes": 212,
      "answerChars": 212,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: A numeric for loop avoids the iterator overhead of pairs/ipairs and is typically fastest for dense sequential array-like tables in Garry's Mod Lua.",
      "durationMs": 10906,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 76,
        "totalTokens": 16920,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:14.690Z",
      "completedAt": "2026-07-10T17:39:25.597Z",
      "answerBytes": 237,
      "answerChars": 237,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function activeNamesByJob(players, job)\n    local out = {}\n    local n = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        if IsValid(ply) and ply:Team() == job and ply:Alive() then\n            n = n + 1\n            out[n] = ply:Nick()\n        end\n    end\n\n    return out\nend\n```\nReason: One plain numeric loop fuses filter and map into a single pass, avoiding fn closure calls, intermediate tables, iterator overhead, and repeated table growth work.",
      "durationMs": 12575,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 16854,
        "completionTokens": 149,
        "totalTokens": 17003,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:17.757Z",
      "completedAt": "2026-07-10T17:39:30.333Z",
      "answerBytes": 482,
      "answerChars": 482,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshCachedPlayersOnJoin\", function()\n    cachedPlayers = player.GetAll()\nend)\n\nhook.Add(\"PlayerDisconnected\", \"RefreshCachedPlayersOnLeave\", function()\n    cachedPlayers = player.GetAll()\nend)\n\nhook.Add(\"Think\", \"UseCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- Per-player tick work here.\n        end\n    end\nend)\n```\nReason: `player.GetAll()` allocates/builds a player list, so doing it only on join/leave avoids repeated per-tick table work while keeping iteration fast.",
      "durationMs": 13401,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 16851,
        "completionTokens": 185,
        "totalTokens": 17036,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:18.433Z",
      "completedAt": "2026-07-10T17:39:31.836Z",
      "answerBytes": 648,
      "answerChars": 648,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal tempData = setmetatable({}, { __mode = \"k\" })\n\nlocal function SetTemp(ply, value)\n    tempData[ply] = value\nend\n\nlocal function GetTemp(ply)\n    return tempData[ply]\nend\n```\nReason: A side table keyed by player avoids player Entity metatable/index lookup overhead on hot reads, while weak keys let entries disappear after the player object is no longer referenced.",
      "durationMs": 12364,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 114,
        "totalTokens": 16952,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:18.655Z",
      "completedAt": "2026-07-10T17:39:31.021Z",
      "answerBytes": 377,
      "answerChars": 377,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"alpha\", \"bravo\", \"charlie\" }\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: Sequential number-indexed arrays iterate faster because Lua can walk the array part directly, while string-keyed maps require hash-table traversal.",
      "durationMs": 11479,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 91,
        "totalTokens": 16932,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:19.242Z",
      "completedAt": "2026-07-10T17:39:30.723Z",
      "answerBytes": 285,
      "answerChars": 285,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal r, g, b, a = 255, 80, 40, 255\n\nhook.Add(\"HUDPaint\", \"FastDrawColorExample\", function()\n    surface.SetDrawColor(r, g, b, a)\n    surface.DrawRect(16, 16, 128, 32)\nend)\n```\nReason: Passing cached numeric channels avoids creating or unpacking a Color object in the hot draw path.",
      "durationMs": 12482,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 111,
        "totalTokens": 16955,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:19.400Z",
      "completedAt": "2026-07-10T17:39:31.883Z",
      "answerBytes": 289,
      "answerChars": 289,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamId = \"76561198000000000\"\nlocal row = sql.QueryRow(\"SELECT coins FROM player_data WHERE steam_id = \" .. sql.SQLStr(steamId) .. \" LIMIT 1\")\n```\nReason: Local SQLite avoids network round trips, so for one server with no sync need it is typically lower latency than remote MySQL.",
      "durationMs": 14009,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 16864,
        "completionTokens": 139,
        "totalTokens": 17003,
        "reasoningTokens": 44,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:19.549Z",
      "completedAt": "2026-07-10T17:39:33.559Z",
      "answerBytes": 293,
      "answerChars": 293,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIdCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function cachedSteamID(ply)\n    local steamId = steamIdCache[ply]\n    if steamId ~= nil then\n        return steamId\n    end\n\n    steamId = ply:SteamID()\n    steamIdCache[ply] = steamId\n    return steamId\nend\n\nhook.Add(\"PlayerDisconnected\", \"ClearCachedSteamID\", function(ply)\n    steamIdCache[ply] = nil\nend)\n\n-- Hot path example:\nfor _, ply in ipairs(player.GetHumans()) do\n    local steamId = cachedSteamID(ply)\n    -- use steamId here\nend\n```\nReason: Cache by Player object with weak keys so repeated hot-path lookups avoid repeated SteamID calls while disconnected players can be collected.",
      "durationMs": 13296,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 204,
        "totalTokens": 17039,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:20.160Z",
      "completedAt": "2026-07-10T17:39:33.457Z",
      "answerBytes": 664,
      "answerChars": 664,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal parts = {}\n\nfor i = 1, 10000 do\n    parts[#parts + 1] = \"piece \" .. i .. \"\\n\"\nend\n\nlocal result = table.concat(parts)\n```\nReason: `table.concat` builds the final string in one pass, while repeated `..` copies the growing string over and over.",
      "durationMs": 11941,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 16836,
        "completionTokens": 95,
        "totalTokens": 16931,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:20.562Z",
      "completedAt": "2026-07-10T17:39:32.506Z",
      "answerBytes": 255,
      "answerChars": 255,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `draw.RoundedBox(0, ...)` still goes through the rounded-box helper path, while `surface.DrawRect` draws the plain rectangle directly after setting the color.",
      "durationMs": 10757,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 82,
        "totalTokens": 16920,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:20.802Z",
      "completedAt": "2026-07-10T17:39:31.561Z",
      "answerBytes": 239,
      "answerChars": 239,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(x, y)\nsurface.DrawText(text)\n```\nReason: Direct `surface.*` calls avoid the extra wrapping, alignment, newline handling, and outline work in `draw.DrawText` / `draw.SimpleTextOutlined`, so they are faster for one single-line string drawn every frame.",
      "durationMs": 13187,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 109,
        "totalTokens": 16948,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:21.015Z",
      "completedAt": "2026-07-10T17:39:34.203Z",
      "answerBytes": 349,
      "answerChars": 349,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal count = #items\n```\nReason: The `#` length operator is the preferred way to get the length of a sequential array-like Lua table.",
      "durationMs": 12912,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 16831,
        "completionTokens": 50,
        "totalTokens": 16881,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:21.933Z",
      "completedAt": "2026-07-10T17:39:34.847Z",
      "answerBytes": 140,
      "answerChars": 140,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Replacing the table avoids clearing each existing key, so it is generally faster when no other references need to keep using the same table.",
      "durationMs": 11823,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 16836,
        "completionTokens": 53,
        "totalTokens": 16889,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:22.185Z",
      "completedAt": "2026-07-10T17:39:34.010Z",
      "answerBytes": 166,
      "answerChars": 166,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    admin = true,\n    moderator = true,\n    owner = true,\n}\n\nif allowed[userGroup] then\n    -- value exists in the set\nend\n```\nReason: A keyed set does one hash lookup, while table.HasValue scans the list linearly.",
      "durationMs": 7359,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 16840,
        "completionTokens": 83,
        "totalTokens": 16923,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:22.268Z",
      "completedAt": "2026-07-10T17:39:29.629Z",
      "answerBytes": 239,
      "answerChars": 239,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = {\n    x = 1,\n    y = 2,\n    z = 3,\n}\n```\nReason: A table constructor fills known fields during creation, avoiding separate field assignment bytecode and extra hash insert steps after `{}`.",
      "durationMs": 7640,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 74,
        "totalTokens": 16913,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:22.368Z",
      "completedAt": "2026-07-10T17:39:30.009Z",
      "answerBytes": 205,
      "answerChars": 205,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = list[math.random(#list)]\n```\nReason: For a sequential table, direct numeric indexing avoids table.Random's generic key iteration overhead.",
      "durationMs": 7092,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 16833,
        "completionTokens": 51,
        "totalTokens": 16884,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:23.463Z",
      "completedAt": "2026-07-10T17:39:30.556Z",
      "answerBytes": 159,
      "answerChars": 159,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal x2 = x * x\n```\nReason: Multiplication avoids the overhead of exponentiation and is the preferred fast form for squaring in tight Lua loops.",
      "durationMs": 8240,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 16832,
        "completionTokens": 52,
        "totalTokens": 16884,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:23.887Z",
      "completedAt": "2026-07-10T17:39:32.135Z",
      "answerBytes": 152,
      "answerChars": 152,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "The recommendation changes the set of visited players.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetHumans()) do\n    -- ...\nend\n```\nReason: `ipairs` iterates the sequential player array directly, and `player.GetHumans()` visits currently connected human players.",
      "durationMs": 8250,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 80,
        "totalTokens": 16924,
        "reasoningTokens": 12,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:23.992Z",
      "completedAt": "2026-07-10T17:39:32.245Z",
      "answerBytes": 200,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- visit ent here\n    end\nend\n```\nReason: `ents.Iterator()` streams entities one at a time, so filtering by class inside the loop avoids `ents.FindByClass`/`ents.GetAll` table allocation.",
      "durationMs": 14352,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 419,
        "totalTokens": 17256,
        "reasoningTokens": 328,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:24.475Z",
      "completedAt": "2026-07-10T17:39:38.829Z",
      "answerBytes": 277,
      "answerChars": 277,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers a named callback on the Think hook using the unique identifier MyAddon.Think.",
      "durationMs": 7888,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 56,
        "totalTokens": 16895,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:24.766Z",
      "completedAt": "2026-07-10T17:39:32.656Z",
      "answerBytes": 157,
      "answerChars": 157,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid` checks that the value is a valid entity/panel and has not become NULL or removed before you call methods on it.",
      "durationMs": 4875,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 66,
        "totalTokens": 16900,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:24.945Z",
      "completedAt": "2026-07-10T17:39:29.822Z",
      "answerBytes": 186,
      "answerChars": 186,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Read message data here.\nend)\n```\nReason: `net.Receive` registers a callback for the incoming `MyAddon.Sync` net message.",
      "durationMs": 5248,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 16829,
        "completionTokens": 96,
        "totalTokens": 16925,
        "reasoningTokens": 30,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:25.597Z",
      "completedAt": "2026-07-10T17:39:30.846Z",
      "answerBytes": 181,
      "answerChars": 181,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Slower in a hot path: allocates a new Angle userdata every call.\nlocal function slow()\n    local ang = Angle()\n    return ang\nend\n\n-- Faster: keep a scratch Angle and reset it before each use.\nlocal scratchAng = Angle()\n\nlocal function fast()\n    scratchAng:Zero()\n    return scratchAng\nend\n```\nReason: Reusing one Angle avoids repeated userdata allocation and constructor overhead; only copy it if the caller stores or mutates it later.",
      "durationMs": 11702,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 368,
        "totalTokens": 17205,
        "reasoningTokens": 240,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:29.630Z",
      "completedAt": "2026-07-10T17:39:41.333Z",
      "answerBytes": 447,
      "answerChars": 447,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal addonColor = Color(255, 255, 255)\n\nlocal color = addonColor\n```\nReason: A local variable read avoids repeated table indexing, so it is faster than `myaddon.config.color` on a hot path.",
      "durationMs": 4821,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 16840,
        "completionTokens": 133,
        "totalTokens": 16973,
        "reasoningTokens": 62,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:29.823Z",
      "completedAt": "2026-07-10T17:39:34.646Z",
      "answerBytes": 197,
      "answerChars": 197,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\") -- preferred DarkRP API\n-- local jobName = ply:GetNWString(\"job\") -- avoid direct NWString access\n```\nReason: DarkRP owns and synchronizes job data through DarkRPVars, so `getDarkRPVar(\"job\")` matches the framework contract.",
      "durationMs": 5427,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 150,
        "totalTokens": 16984,
        "reasoningTokens": 61,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:30.010Z",
      "completedAt": "2026-07-10T17:39:35.438Z",
      "answerBytes": 271,
      "answerChars": 271,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal maxDistance = 250\n\nif posA:DistToSqr(posB) <= maxDistance * maxDistance then\n    -- within range\nend\n```\nReason: `DistToSqr` avoids the square root used by real distance calculation, so it is preferred for threshold checks.",
      "durationMs": 4668,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 127,
        "totalTokens": 16962,
        "reasoningTokens": 45,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:30.334Z",
      "completedAt": "2026-07-10T17:39:35.003Z",
      "answerBytes": 236,
      "answerChars": 236,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 1 through 1 candidate loops.",
      "finalResponse": "```lua\nif ents.Iterator then\n    for _, ent in ents.Iterator() do\n        -- Visit ent here.\n    end\nelse\n    for _, ent in ipairs(ents.GetAll()) do\n        -- Visit ent here.\n    end\nend\n```\nReason: ents.Iterator avoids allocating the ents.GetAll table on Garry's Mod versions that provide it, while the fallback preserves compatibility.",
      "durationMs": 13279,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 16831,
        "completionTokens": 556,
        "totalTokens": 17387,
        "reasoningTokens": 455,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:30.557Z",
      "completedAt": "2026-07-10T17:39:43.837Z",
      "answerBytes": 338,
      "answerChars": 338,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal radius = 512\nlocal origin = ply:GetPos()\n\nfor _, ent in ipairs(ents.FindInSphere(origin, radius)) do\n    if IsValid(ent) and ent ~= ply then\n        -- use ent\n    end\nend\n```\nReason: `ents.FindInSphere` uses the engine's spatial partition for a bounded radius query, making it a cheap built-in choice for nearby entities without defaulting to `FindInPVS`.",
      "durationMs": 8946,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 16854,
        "completionTokens": 330,
        "totalTokens": 17184,
        "reasoningTokens": 214,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:30.724Z",
      "completedAt": "2026-07-10T17:39:39.671Z",
      "answerBytes": 369,
      "answerChars": 369,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInRadius(pos, radius)\n    local radiusSqr = radius * radius\n    local found = {}\n    local count = 0\n\n    for _, ply in ipairs(player.GetAll()) do\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            count = count + 1\n            found[count] = ply\n        end\n    end\n\n    return found\nend\n```\nReason: `player.GetAll()` scans only players and `DistToSqr` avoids square roots, so it skips the broader entity sphere query and player filtering cost.",
      "durationMs": 6352,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 16848,
        "completionTokens": 202,
        "totalTokens": 17050,
        "reasoningTokens": 53,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:30.847Z",
      "completedAt": "2026-07-10T17:39:37.204Z",
      "answerBytes": 496,
      "answerChars": 496,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: Numeric for is generally faster for simple 1..n counting because Lua handles the counter, limit, and step in the loop opcode instead of doing explicit condition checks and increments in Lua code.",
      "durationMs": 5712,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 152,
        "totalTokens": 16993,
        "reasoningTokens": 75,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:31.022Z",
      "completedAt": "2026-07-10T17:39:36.735Z",
      "answerBytes": 246,
      "answerChars": 246,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch per tick, listeners loop the player list if needed.\nhook.Add(\"Tick\", \"NotifyPlayersOnce\", function()\n    hook.Run(\"CustomThinkForPlayers\", player.GetAll())\nend)\n\nhook.Add(\"CustomThinkForPlayers\", \"MyCustomLogic\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- custom per-player logic here\n    end\nend)\n\n-- Slower: N hook dispatches per tick.\nhook.Add(\"Tick\", \"NotifyPlayersIndividually\", function()\n    local players = player.GetAll()\n    for i = 1, #players do\n        hook.Run(\"CustomThinkForPlayer\", players[i])\n    end\nend)\n```\nReason: `hook.Run` has dispatch overhead, so doing it once per tick and passing the player array avoids paying that overhead once for every player.",
      "durationMs": 7594,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16849,
        "completionTokens": 263,
        "totalTokens": 17112,
        "reasoningTokens": 43,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:31.562Z",
      "completedAt": "2026-07-10T17:39:39.158Z",
      "answerBytes": 755,
      "answerChars": 755,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local health = LocalPlayer():Health()\n\n    draw.SimpleText(\"Health: \" .. health, \"DermaDefault\", 20, 20, color_white)\n    draw.RoundedBox(4, 20, 45, health * 2, 18, Color(220, 40, 40))\n    draw.SimpleText(health .. \"%\", \"DermaDefault\", 30, 46, color_white)\nend)\n```\nReason: Cache `LocalPlayer():Health()` once per frame so the draw code avoids repeated player lookup and method calls while using the same value consistently.",
      "durationMs": 8196,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 16842,
        "completionTokens": 161,
        "totalTokens": 17003,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:31.836Z",
      "completedAt": "2026-07-10T17:39:40.034Z",
      "answerBytes": 481,
      "answerChars": 481,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FastPaintExample\", function()\n    for _, item in ipairs(items) do\n        draw.SimpleText(item.text, \"DermaDefault\", item.x, item.y, WHITE)\n    end\nend)\n```\nReason: `Color()` allocates a color table, so creating it once outside the paint loop avoids per-frame/per-item allocation work.",
      "durationMs": 7985,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 16830,
        "completionTokens": 196,
        "totalTokens": 17026,
        "reasoningTokens": 81,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:31.884Z",
      "completedAt": "2026-07-10T17:39:39.872Z",
      "answerBytes": 350,
      "answerChars": 350,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, n do\n    total = total + sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated global/table lookups inside the hot loop.",
      "durationMs": 4409,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 16832,
        "completionTokens": 89,
        "totalTokens": 16921,
        "reasoningTokens": 18,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:32.136Z",
      "completedAt": "2026-07-10T17:39:36.548Z",
      "answerBytes": 175,
      "answerChars": 175,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal localPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    localPlayer = LocalPlayer()\nend)\n\nlocal function GetLocalPlayer()\n    if not IsValid(localPlayer) then\n        localPlayer = LocalPlayer()\n    end\n\n    return localPlayer\nend\n\nhook.Add(\"Think\", \"UseCachedLocalPlayer\", function()\n    local ply = GetLocalPlayer()\n    if not IsValid(ply) then return end\n\n    -- Use ply instead of calling LocalPlayer() repeatedly here.\nend)\n```\nReason: Cache the player after it exists, then refresh only when invalid so hot paths avoid repeated global `LocalPlayer()` lookups.",
      "durationMs": 6232,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 169,
        "totalTokens": 17006,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:32.246Z",
      "completedAt": "2026-07-10T17:39:38.480Z",
      "answerBytes": 597,
      "answerChars": 597,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal FACE_DOT = -0.75 -- lower is stricter; -1 means perfectly opposite aim directions\n\nlocal function PlayersAimFacingEachOther(plyA, plyB)\n    if not IsValid(plyA) or not IsValid(plyB) then return false end\n\n    return plyA:GetAimVector():Dot(plyB:GetAimVector()) <= FACE_DOT\nend\n```\nReason: A dot product compares aim direction alignment without `math.acos`; opposite-facing aim vectors approach `-1`, so a threshold gives a cheap rough check.",
      "durationMs": 8022,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 16851,
        "completionTokens": 262,
        "totalTokens": 17113,
        "reasoningTokens": 122,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:32.515Z",
      "completedAt": "2026-07-10T17:39:40.581Z",
      "answerBytes": 454,
      "answerChars": 454,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function SomeHelper(ply)\n    -- helper body\nend\n\nSomeHelper(ply)\n```\nReason: Generally faster, because a local function call avoids the per-call method lookup/metatable path used by `ply:SomeHelper()`.",
      "durationMs": 6797,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 16843,
        "completionTokens": 176,
        "totalTokens": 17019,
        "reasoningTokens": 104,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:32.657Z",
      "completedAt": "2026-07-10T17:39:39.456Z",
      "answerBytes": 214,
      "answerChars": 214,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsg(\"debug: hot path reached\\n\")\n```\nReason: `Msg` writes directly to the console and avoids the extra formatting/newline work that `print` does.",
      "durationMs": 5514,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 16836,
        "completionTokens": 121,
        "totalTokens": 16957,
        "reasoningTokens": 63,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:33.458Z",
      "completedAt": "2026-07-10T17:39:38.973Z",
      "answerBytes": 152,
      "answerChars": 152,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #nums do\n    local value = nums[i]\n    -- use value\nend\n```\nReason: A numeric `for` loop avoids the iterator overhead of `pairs`/`ipairs` and is typically fastest for large sequential array-like tables in Garry's Mod Lua.",
      "durationMs": 4519,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 16842,
        "completionTokens": 116,
        "totalTokens": 16958,
        "reasoningTokens": 31,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:33.560Z",
      "completedAt": "2026-07-10T17:39:38.080Z",
      "answerBytes": 239,
      "answerChars": 239,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Instead of DarkRP fn.filter(fn.compose(...)) / fn.map(...), fuse the passes.\nlocal function collectAffordableGunNames(shipments, ply, maxPrice)\n    local out, n = {}, 0\n\n    for i = 1, #shipments do\n        local shipment = shipments[i]\n        local price = shipment.price or 0\n\n        if price <= maxPrice and (not shipment.allowed or table.HasValue(shipment.allowed, ply:Team())) then\n            n = n + 1\n            out[n] = shipment.name\n        end\n    end\n\n    return out\nend\n\nlocal names = collectAffordableGunNames(CustomShipments, LocalPlayer(), 5000)\n```\nReason: A single plain Lua loop avoids fn's extra closures, iterator/combinator calls, intermediate tables, and multiple passes while doing the same filter/map work.",
      "durationMs": 7517,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 16854,
        "completionTokens": 250,
        "totalTokens": 17104,
        "reasoningTokens": 43,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:33.728Z",
      "completedAt": "2026-07-10T17:39:41.246Z",
      "answerBytes": 744,
      "answerChars": 744,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\n\nlocal function RefreshPlayerCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshCachedPlayersOnJoin\", RefreshPlayerCache)\nhook.Add(\"PlayerDisconnected\", \"RefreshCachedPlayersOnLeave\", RefreshPlayerCache)\n\nRefreshPlayerCache()\n\nhook.Add(\"Think\", \"UseCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n\n        if IsValid(ply) then\n            -- Per-player tick work here.\n        end\n    end\nend)\n```\nReason: `player.GetAll()` allocates/builds a player list, so caching it and refreshing only on join/leave removes that per-tick cost while keeping the hot loop numeric and cheap.",
      "durationMs": 6428,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 16851,
        "completionTokens": 192,
        "totalTokens": 17043,
        "reasoningTokens": 0,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:34.011Z",
      "completedAt": "2026-07-10T17:39:40.442Z",
      "answerBytes": 694,
      "answerChars": 694,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal tempByPlayer = {}\n\nhook.Add(\"PlayerDisconnected\", \"ClearTempByPlayer\", function(ply)\n    tempByPlayer[ply] = nil\nend)\n\nlocal function SetTempValue(ply, value)\n    tempByPlayer[ply] = value\nend\n\nlocal function GetTempValue(ply)\n    return tempByPlayer[ply]\nend\n\n-- hot path\nhook.Add(\"Think\", \"ReadTempOften\", function()\n    for _, ply in ipairs(player.GetAll()) do\n        local value = tempByPlayer[ply]\n        if value then\n            -- use value\n        end\n    end\nend)\n```\nReason: A local upvalue table keyed by the Player object avoids repeated Entity table/metatable field lookup, so `tempByPlayer[ply]` is typically faster to read than `ply.someField`. ",
      "durationMs": 11511,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 16836,
        "completionTokens": 371,
        "totalTokens": 17207,
        "reasoningTokens": 165,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:34.204Z",
      "completedAt": "2026-07-10T17:39:45.716Z",
      "answerBytes": 676,
      "answerChars": 676,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"alpha\", \"bravo\", \"charlie\", \"delta\" }\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: Sequential number-indexed arrays are faster to iterate than string-keyed maps because numeric indexing with a fixed `for` loop avoids hash-key traversal overhead.",
      "durationMs": 9355,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 163,
        "totalTokens": 17004,
        "reasoningTokens": 63,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:34.647Z",
      "completedAt": "2026-07-10T17:39:44.004Z",
      "answerBytes": 309,
      "answerChars": 309,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal r, g, b, a = 255, 80, 40, 255\n\nhook.Add(\"HUDPaint\", \"FastDrawColorExample\", function()\n    surface.SetDrawColor(r, g, b, a)\n    surface.DrawRect(32, 32, 160, 24)\nend)\n```\nReason: Passing cached numeric channels avoids allocating or unpacking a Color object on every hot draw call.",
      "durationMs": 4537,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 111,
        "totalTokens": 16955,
        "reasoningTokens": 0,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:34.847Z",
      "completedAt": "2026-07-10T17:39:39.386Z",
      "answerBytes": 293,
      "answerChars": 293,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamID = sql.SQLStr(ply:SteamID64())\nlocal row = sql.QueryRow(\"SELECT money, xp FROM player_data WHERE steam_id = \" .. steamID .. \" LIMIT 1\")\n```\nReason: Local SQLite via GMod's `sql` library is typically lower latency because it avoids network round trips to a remote MySQL server for a single-server, no-sync setup.",
      "durationMs": 6891,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 16860,
        "completionTokens": 160,
        "totalTokens": 17020,
        "reasoningTokens": 55,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:35.004Z",
      "completedAt": "2026-07-10T17:39:41.898Z",
      "answerBytes": 331,
      "answerChars": 331,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function FastSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID ~= nil then\n        return steamID\n    end\n\n    if not IsValid(ply) then\n        return nil\n    end\n\n    steamID = ply:SteamID()\n    steamIDCache[ply] = steamID\n    return steamID\nend\n\nhook.Add(\"PlayerDisconnected\", \"ClearFastSteamIDCache\", function(ply)\n    steamIDCache[ply] = nil\nend)\n\n-- Hot path example:\n-- local steamID = FastSteamID(ply)\n```\nReason: `ply:SteamID()` is paid once per player object, then reused from a weak-key cache that does not keep disconnected players alive.",
      "durationMs": 8179,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 295,
        "totalTokens": 17130,
        "reasoningTokens": 88,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:35.438Z",
      "completedAt": "2026-07-10T17:39:43.619Z",
      "answerBytes": 635,
      "answerChars": 635,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal parts = {}\n\nfor i = 1, 10000 do\n    parts[i] = \"piece \" .. i\nend\n\nlocal result = table.concat(parts)\n```\nReason: `table.concat` builds the final string in one pass, while repeated `..` concatenation repeatedly allocates and copies growing intermediate strings.",
      "durationMs": 4444,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 111,
        "totalTokens": 16945,
        "reasoningTokens": 20,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:36.549Z",
      "completedAt": "2026-07-10T17:39:40.995Z",
      "answerBytes": 273,
      "answerChars": 273,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` skips the extra `draw.RoundedBox` wrapper/rounded-corner path, so it is slightly cheaper for plain rectangles.",
      "durationMs": 4937,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 138,
        "totalTokens": 16976,
        "reasoningTokens": 59,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:36.736Z",
      "completedAt": "2026-07-10T17:39:41.676Z",
      "answerBytes": 210,
      "answerChars": 210,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal text = \"Fast HUD text\"\nlocal font = \"DermaDefault\"\nlocal color = Color(255, 255, 255)\nlocal x, y = 32, 32\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(font)\n    surface.SetTextColor(color)\n    surface.SetTextPos(x, y)\n    surface.DrawText(text)\nend)\n```\nReason: `surface.DrawText` is the thinnest path for one already-single-line string; it avoids the extra wrapping, alignment, and outline work done by `draw.DrawText` / `SimpleTextOutlined`.",
      "durationMs": 7534,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 285,
        "totalTokens": 17124,
        "reasoningTokens": 124,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:37.205Z",
      "completedAt": "2026-07-10T17:39:44.741Z",
      "answerBytes": 486,
      "answerChars": 486,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal len = #items\n```\nReason: `#` is the preferred constant-time length operator for sequential array-like tables; `table.Count` is for counting all key/value pairs.",
      "durationMs": 5008,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 16831,
        "completionTokens": 111,
        "totalTokens": 16942,
        "reasoningTokens": 53,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:38.081Z",
      "completedAt": "2026-07-10T17:39:43.090Z",
      "answerBytes": 173,
      "answerChars": 173,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Replacing the table is generally faster because it avoids iterating over and niling every existing element, assuming no other code needs the same table reference emptied in place.",
      "durationMs": 5414,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 127,
        "totalTokens": 16965,
        "reasoningTokens": 66,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:38.225Z",
      "completedAt": "2026-07-10T17:39:43.640Z",
      "answerBytes": 205,
      "answerChars": 205,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    admin = true,\n    moderator = true,\n    trusted = true,\n}\n\nif allowed[playerRank] then\n    -- value exists in the set\nend\n```\nReason: A keyed set does an O(1) hash lookup, while table.HasValue scans the list O(n).",
      "durationMs": 4355,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 16836,
        "completionTokens": 113,
        "totalTokens": 16949,
        "reasoningTokens": 24,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:38.481Z",
      "completedAt": "2026-07-10T17:39:42.838Z",
      "answerBytes": 242,
      "answerChars": 242,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal playerInfo = {\n    name = ply:Nick(),\n    health = ply:Health(),\n    armor = ply:Armor(),\n}\n```\nReason: The table constructor fills known fields during allocation, avoiding separate hash assignments after creating an empty table.",
      "durationMs": 4494,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 103,
        "totalTokens": 16942,
        "reasoningTokens": 25,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:38.829Z",
      "completedAt": "2026-07-10T17:39:43.325Z",
      "answerBytes": 242,
      "answerChars": 242,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function RandomSequential(tbl)\n    return tbl[math.random(#tbl)]\nend\n```\nReason: For sequential arrays, direct numeric indexing avoids `table.Random`'s generic table traversal.",
      "durationMs": 6460,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 16833,
        "completionTokens": 150,
        "totalTokens": 16983,
        "reasoningTokens": 88,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:38.974Z",
      "completedAt": "2026-07-10T17:39:45.436Z",
      "answerBytes": 189,
      "answerChars": 189,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal y = x * x\n```\nReason: Multiplication avoids the exponent operator overhead and is the preferred fast form for squaring in a tight loop.",
      "durationMs": 4989,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 16830,
        "completionTokens": 98,
        "totalTokens": 16928,
        "reasoningTokens": 46,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:39.159Z",
      "completedAt": "2026-07-10T17:39:44.150Z",
      "answerBytes": 148,
      "answerChars": 148,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- ...\nend\n```\nReason: `player.Iterator()` visits connected players without allocating the table returned by `player.GetAll()`.",
      "durationMs": 8307,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 16842,
        "completionTokens": 252,
        "totalTokens": 17094,
        "reasoningTokens": 193,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:39.387Z",
      "completedAt": "2026-07-10T17:39:47.696Z",
      "answerBytes": 173,
      "answerChars": 173,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- use ent here\n    end\nend\n```\nReason: `ents.Iterator()` streams entities without allocating the full `ents.GetAll()` table, and the class check limits work to `prop_physics`.",
      "durationMs": 13820,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 604,
        "totalTokens": 17439,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:39.458Z",
      "completedAt": "2026-07-10T17:39:53.285Z",
      "answerBytes": 269,
      "answerChars": 269,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: Registers a callback on the Think hook with the identifier MyAddon.Think.",
      "durationMs": 7353,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 214,
        "totalTokens": 17055,
        "reasoningTokens": 158,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:39.673Z",
      "completedAt": "2026-07-10T17:39:47.030Z",
      "answerBytes": 143,
      "answerChars": 143,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid(ent)` safely rejects `nil`, `NULL`, and removed entities before method calls.",
      "durationMs": 6189,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 16836,
        "completionTokens": 154,
        "totalTokens": 16990,
        "reasoningTokens": 94,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:39.873Z",
      "completedAt": "2026-07-10T17:39:46.064Z",
      "answerBytes": 151,
      "answerChars": 151,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the incoming sync message here.\nend)\n```\nReason: net.Receive registers a callback that runs when the named net message is received.",
      "durationMs": 5764,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 16829,
        "completionTokens": 134,
        "totalTokens": 16963,
        "reasoningTokens": 69,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:40.035Z",
      "completedAt": "2026-07-10T17:39:45.801Z",
      "answerBytes": 199,
      "answerChars": 199,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal ZERO_ANGLE = angle_zero\n\n-- In the hot path, do not allocate with Angle() when a read-only zero angle is enough.\nlocal function useZeroAngle()\n    local ang = ZERO_ANGLE\n    -- use ang without mutating it\nend\n```\nReason: Reusing Garry's Mod's cached `angle_zero` avoids per-call `Angle()` userdata allocation; only construct a new `Angle()` when the caller will mutate or store it.",
      "durationMs": 13963,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 16833,
        "completionTokens": 634,
        "totalTokens": 17467,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:40.443Z",
      "completedAt": "2026-07-10T17:39:54.409Z",
      "answerBytes": 394,
      "answerChars": 394,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal configColor = Color(255, 80, 80)\n\nsurface.SetDrawColor(configColor)\n```\nReason: A local/upvalue read avoids repeated table indexing, while `myaddon.config.color` performs multiple table lookups each read.",
      "durationMs": 7366,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 228,
        "totalTokens": 17066,
        "reasoningTokens": 155,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:40.583Z",
      "completedAt": "2026-07-10T17:39:47.950Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP owns the job value through DarkRPVars, so `getDarkRPVar(\"job\")` uses the correct cached DarkRP API instead of raw `GetNWString(\"job\")` access.",
      "durationMs": 9618,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 409,
        "totalTokens": 17243,
        "reasoningTokens": 330,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:40.996Z",
      "completedAt": "2026-07-10T17:39:50.618Z",
      "answerBytes": 208,
      "answerChars": 208,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal maxDistance = 500\n\nif posA:DistToSqr(posB) <= maxDistance * maxDistance then\n    -- within range\nend\n```\nReason: `Vector:DistToSqr` avoids the square root used by distance checks when you only need a threshold comparison.",
      "durationMs": 13033,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 140,
        "totalTokens": 16979,
        "reasoningTokens": 58,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:41.248Z",
      "completedAt": "2026-07-10T17:39:54.282Z",
      "answerBytes": 234,
      "answerChars": 234,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 1 through 1 candidate loops.",
      "finalResponse": "```lua\nlocal function VisitEntity(ent)\n    -- Do per-entity work here.\nend\n\nif ents.Iterator then\n    for ent in ents.Iterator() do\n        VisitEntity(ent)\n    end\nelse\n    for _, ent in ipairs(ents.GetAll()) do\n        VisitEntity(ent)\n    end\nend\n```\nReason: `ents.Iterator()` avoids building the `ents.GetAll()` table for a simple full-entity scan, with `ents.GetAll()` kept as a compatibility fallback.",
      "durationMs": 21672,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 642,
        "totalTokens": 17479,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:41.334Z",
      "completedAt": "2026-07-10T17:40:03.007Z",
      "answerBytes": 407,
      "answerChars": 407,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal function ForEntitiesNearPlayer(ply, radius, fn)\n    local origin = ply:GetPos()\n    local extent = Vector(radius, radius, radius)\n    local radiusSqr = radius * radius\n\n    for _, ent in ipairs(ents.FindInBox(origin - extent, origin + extent)) do\n        if ent ~= ply and ent:GetPos():DistToSqr(origin) <= radiusSqr then\n            fn(ent)\n        end\n    end\nend\n```\nReason: `ents.FindInBox` is a fast built-in broad-phase query in common GMod benchmarks, and the squared-distance filter keeps exact radius behavior without using `FindInPVS`.",
      "durationMs": 23649,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 16856,
        "completionTokens": 680,
        "totalTokens": 17536,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:41.677Z",
      "completedAt": "2026-07-10T17:40:05.327Z",
      "answerBytes": 558,
      "answerChars": 558,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInRadius(pos, radius)\n    local radiusSqr = radius * radius\n    local players = player.GetAll()\n    local found = {}\n    local foundCount = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            foundCount = foundCount + 1\n            found[foundCount] = ply\n        end\n    end\n\n    return found\nend\n```\nReason: This scans only players and uses squared distance, avoiding the broad entity query, player filtering, and square-root distance cost from `ents.FindInSphere`. ",
      "durationMs": 21517,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 633,
        "totalTokens": 17477,
        "reasoningTokens": 465,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:41.899Z",
      "completedAt": "2026-07-10T17:40:03.420Z",
      "answerBytes": 579,
      "answerChars": 579,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- tight loop body\nend\n```\nReason: Numeric for is generally faster because Lua handles the counter, limit, and step in optimized loop bytecode instead of doing explicit while-condition and increment work in Lua.",
      "durationMs": 13255,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 168,
        "totalTokens": 17007,
        "reasoningTokens": 95,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:42.838Z",
      "completedAt": "2026-07-10T17:39:56.095Z",
      "answerBytes": 238,
      "answerChars": 238,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch per tick, listeners loop the player list if needed.\nhook.Add(\"Tick\", \"NotifyPlayersOnce\", function()\n    hook.Run(\"CustomLogicForPlayers\", player.GetAll())\nend)\n\nhook.Add(\"CustomLogicForPlayers\", \"MyCustomLogic\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- custom per-player work here\n    end\nend)\n\n-- Slower pattern: pays hook dispatch overhead once per player per tick.\n-- hook.Add(\"Tick\", \"NotifyPlayersMany\", function()\n--     local players = player.GetAll()\n--     for i = 1, #players do\n--         hook.Run(\"CustomLogicForPlayer\", players[i])\n--     end\n-- end)\n```\nReason: `hook.Run` has dispatch overhead, so calling it once per tick with the player array avoids repeating that overhead for every player.",
      "durationMs": 14898,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16847,
        "completionTokens": 285,
        "totalTokens": 17132,
        "reasoningTokens": 59,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:43.091Z",
      "completedAt": "2026-07-10T17:39:57.991Z",
      "answerBytes": 791,
      "answerChars": 791,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealthHud\", function()\n    local ply = LocalPlayer()\n    local health = ply:Health()\n\n    draw.SimpleText(\"Health: \" .. health, \"DermaDefault\", 24, 24, color_white)\n    draw.RoundedBox(4, 24, 46, math.Clamp(health, 0, 100) * 2, 12, Color(220, 60, 60))\n    draw.SimpleText(health .. \"%\", \"DermaDefault\", 24, 64, color_white)\nend)\n```\nReason: `LocalPlayer()` and `:Health()` are each resolved once per HUDPaint frame, then the cached `health` value is reused by all three draw calls.",
      "durationMs": 14918,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 281,
        "totalTokens": 17125,
        "reasoningTokens": 95,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:43.328Z",
      "completedAt": "2026-07-10T17:39:58.247Z",
      "answerBytes": 514,
      "answerChars": 514,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FastPaintLoop\", function()\n    for _, item in ipairs(items) do\n        surface.SetDrawColor(WHITE)\n        surface.DrawRect(item.x, item.y, item.w, item.h)\n    end\nend)\n```\nReason: Create the Color object once outside the paint loop, avoiding a table allocation and constructor call every iteration.",
      "durationMs": 20374,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 188,
        "totalTokens": 17022,
        "reasoningTokens": 73,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:43.620Z",
      "completedAt": "2026-07-10T17:40:03.996Z",
      "answerBytes": 364,
      "answerChars": 364,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, n do\n    values[i] = sin(i)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated global/table lookups inside the hot loop.",
      "durationMs": 13723,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 16830,
        "completionTokens": 139,
        "totalTokens": 16969,
        "reasoningTokens": 68,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:43.642Z",
      "completedAt": "2026-07-10T17:39:57.367Z",
      "answerBytes": 171,
      "answerChars": 171,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal cachedLocalPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    cachedLocalPlayer = LocalPlayer()\nend)\n\nlocal function CachedLocalPlayer()\n    if not IsValid(cachedLocalPlayer) then\n        cachedLocalPlayer = LocalPlayer()\n    end\n\n    return cachedLocalPlayer\nend\n\nhook.Add(\"Think\", \"UseCachedLocalPlayer\", function()\n    local ply = CachedLocalPlayer()\n    if not IsValid(ply) then return end\n\n    -- hot-path client code here\n    local pos = ply:GetPos()\nend)\n```\nReason: Cache the player entity in a local upvalue after it exists, then reuse that reference so hot paths avoid repeated global LocalPlayer lookups and full engine calls except when the cache is invalid.",
      "durationMs": 19369,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 401,
        "totalTokens": 17238,
        "reasoningTokens": 208,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:43.838Z",
      "completedAt": "2026-07-10T17:40:03.209Z",
      "answerBytes": 702,
      "answerChars": 702,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal LOOK_DOT = 0.75 -- about a 41 degree cone; raise for stricter checks\n\nlocal function ArePlayersRoughlyLookingAtEachOther(a, b)\n    if not IsValid(a) or not IsValid(b) then return false end\n\n    local aPos = a:EyePos()\n    local bPos = b:EyePos()\n    local toB = bPos - aPos\n\n    local distSqr = toB:LengthSqr()\n    if distSqr <= 0 then return false end\n\n    toB:Normalize()\n\n    return a:GetAimVector():Dot(toB) >= LOOK_DOT\n        and b:GetAimVector():Dot(-toB) >= LOOK_DOT\nend\n``` \nReason: Dot products compare facing direction against a threshold without `math.acos`, avoiding expensive angle conversion while still giving a tunable rough look cone.",
      "durationMs": 17479,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 16851,
        "completionTokens": 358,
        "totalTokens": 17209,
        "reasoningTokens": 142,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:44.017Z",
      "completedAt": "2026-07-10T17:40:01.509Z",
      "answerBytes": 665,
      "answerChars": 665,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function SomeHelper(ply)\n    -- helper body\nend\n\nSomeHelper(ply)\n```\nReason: Usually faster, because a local function call avoids the `ply.SomeHelper`/metatable method lookup that `ply:SomeHelper()` performs before passing `ply` as `self`.",
      "durationMs": 15374,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 210,
        "totalTokens": 17051,
        "reasoningTokens": 126,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:44.151Z",
      "completedAt": "2026-07-10T17:39:59.527Z",
      "answerBytes": 252,
      "answerChars": 252,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsg(\"[debug] hot path reached\\n\")\n```\nReason: `Msg` writes directly to the console and avoids `print`'s extra argument formatting; include the newline yourself.",
      "durationMs": 23358,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 16836,
        "completionTokens": 462,
        "totalTokens": 17298,
        "reasoningTokens": 401,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:44.743Z",
      "completedAt": "2026-07-10T17:40:08.103Z",
      "answerBytes": 167,
      "answerChars": 167,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal nums = largeSequentialTable\n\nfor i = 1, #nums do\n    local value = nums[i]\n    -- use value\nend\n```\nReason: A numeric `for` over `1, #table` avoids iterator function overhead from `pairs`/`ipairs` and is typically fastest for large sequential array-like tables.",
      "durationMs": 12738,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 155,
        "totalTokens": 16999,
        "reasoningTokens": 62,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:45.437Z",
      "completedAt": "2026-07-10T17:39:58.177Z",
      "answerBytes": 274,
      "answerChars": 274,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function getWantedCitizenNames(players)\n    local out = {}\n    local n = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n\n        if IsValid(ply) and ply:Team() == TEAM_CITIZEN and ply:isWanted() then\n            n = n + 1\n            out[n] = ply:Nick()\n        end\n    end\n\n    return out\nend\n\nlocal names = getWantedCitizenNames(player.GetAll())\n```\nReason: This fuses filter and map into one numeric loop, avoiding DarkRP fn closure dispatch, chained iterator/combinator overhead, and intermediate tables.",
      "durationMs": 19087,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 16854,
        "completionTokens": 411,
        "totalTokens": 17265,
        "reasoningTokens": 245,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:45.717Z",
      "completedAt": "2026-07-10T17:40:04.805Z",
      "answerBytes": 535,
      "answerChars": 535,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"CachePlayersOnJoin\", function(ply)\n    cachedPlayers[#cachedPlayers + 1] = ply\nend)\n\nhook.Add(\"PlayerDisconnected\", \"CachePlayersOnLeave\", function(ply)\n    for i = 1, #cachedPlayers do\n        if cachedPlayers[i] == ply then\n            cachedPlayers[i] = cachedPlayers[#cachedPlayers]\n            cachedPlayers[#cachedPlayers] = nil\n            return\n        end\n    end\nend)\n\nhook.Add(\"Tick\", \"FastCachedPlayerTick\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n\n        if IsValid(ply) then\n            -- Do per-player tick work here.\n        end\n    end\nend)\n```\nReason: `player.GetAll()` allocates/builds a table each call, so keeping one compact cached array makes the hot Tick path only iterate existing players while join/leave hooks pay the update cost.",
      "durationMs": 23478,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 16851,
        "completionTokens": 643,
        "totalTokens": 17494,
        "reasoningTokens": 396,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:45.802Z",
      "completedAt": "2026-07-10T17:40:09.282Z",
      "answerBytes": 879,
      "answerChars": 879,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal scoreByPlayer = {}\n\nlocal function SetTempScore(ply, value)\n    scoreByPlayer[ply] = value\nend\n\nlocal function GetTempScore(ply)\n    return scoreByPlayer[ply]\nend\n\nhook.Add(\"PlayerDisconnected\", \"ClearTempScore\", function(ply)\n    scoreByPlayer[ply] = nil\nend)\n```\nReason: A local Lua table keyed by the player avoids repeated entity field/metatable lookup, so hot reads are cheaper than `ply.someField`.",
      "durationMs": 22251,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 650,
        "totalTokens": 17488,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:46.072Z",
      "completedAt": "2026-07-10T17:40:08.334Z",
      "answerBytes": 417,
      "answerChars": 417,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Slower shape for frequent full iteration: hash part, string keys.\nlocal byName = {\n    idle = \"idle\",\n    walk = \"walk\",\n    run = \"run\",\n}\n\nfor name, value in pairs(byName) do\n    -- use value\nend\n\n-- Faster shape for frequent fixed-order iteration: array part, sequential number keys.\nlocal sequence = {\n    \"idle\",\n    \"walk\",\n    \"run\",\n}\n\nfor i = 1, #sequence do\n    local value = sequence[i]\n    -- use value\nend\n```\nReason: Sequential number-indexed arrays keep values in Lua's array part and allow a plain numeric loop, avoiding hash-key traversal from `pairs` over string-keyed maps.",
      "durationMs": 19615,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 463,
        "totalTokens": 17302,
        "reasoningTokens": 276,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:47.031Z",
      "completedAt": "2026-07-10T17:40:06.648Z",
      "answerBytes": 602,
      "answerChars": 602,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Hot draw path: pass channels directly, not a Color object.\nsurface.SetDrawColor(255, 64, 32, 255)\n```\nReason: Passing numeric channels avoids Color table/object handling on every draw call.",
      "durationMs": 14379,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 16842,
        "completionTokens": 197,
        "totalTokens": 17039,
        "reasoningTokens": 128,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:47.699Z",
      "completedAt": "2026-07-10T17:40:02.079Z",
      "answerBytes": 199,
      "answerChars": 199,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamID = sql.SQLStr(ply:SteamID64())\nlocal row = sql.QueryRow(\"SELECT coins, xp FROM player_data WHERE steamid64 = \" .. steamID .. \" LIMIT 1\")\n```\nReason: Local SQLite is typically lower latency because it avoids remote MySQL network round trips, which matters more than multi-server sync when one game server owns the data.",
      "durationMs": 15670,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 16860,
        "completionTokens": 283,
        "totalTokens": 17143,
        "reasoningTokens": 181,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:47.951Z",
      "completedAt": "2026-07-10T17:40:03.622Z",
      "answerBytes": 338,
      "answerChars": 338,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function CachedSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID ~= nil then\n        return steamID\n    end\n\n    steamID = ply:SteamID()\n    steamIDCache[ply] = steamID\n    return steamID\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"CacheSteamID\", function(ply)\n    steamIDCache[ply] = ply:SteamID()\nend)\n\nhook.Add(\"PlayerDisconnected\", \"DropCachedSteamID\", function(ply)\n    steamIDCache[ply] = nil\nend)\n\n-- Hot path:\nlocal steamID = CachedSteamID(ply)\n```\nReason: SteamID is stable for a connected player, so the hot path pays one table lookup instead of repeated engine method calls.",
      "durationMs": 23611,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 16833,
        "completionTokens": 687,
        "totalTokens": 17520,
        "reasoningTokens": 470,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:47.977Z",
      "completedAt": "2026-07-10T17:40:11.591Z",
      "answerBytes": 664,
      "answerChars": 664,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slower: repeated concatenation copies the growing string each time.\nlocal out = \"\"\nfor i = 1, #pieces do\n    out = out .. pieces[i]\nend\n\n-- Faster: collect pieces, then concatenate once.\nlocal buffer = {}\nfor i = 1, #pieces do\n    buffer[i] = pieces[i]\nend\n\nlocal outFast = table.concat(buffer)\n```\nReason: `table.concat` performs one final join instead of repeatedly reallocating and copying an ever-growing string.",
      "durationMs": 14464,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 183,
        "totalTokens": 17017,
        "reasoningTokens": 49,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:50.619Z",
      "completedAt": "2026-07-10T17:40:05.084Z",
      "answerBytes": 426,
      "answerChars": 426,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` avoids the extra `draw.RoundedBox` wrapper work when the corner radius is `0`.",
      "durationMs": 13191,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 16840,
        "completionTokens": 172,
        "totalTokens": 17012,
        "reasoningTokens": 98,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:53.286Z",
      "completedAt": "2026-07-10T17:40:06.478Z",
      "answerBytes": 178,
      "answerChars": 178,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal text = \"Fast HUD text\"\nlocal font = \"Trebuchet24\"\nlocal x, y = 32, 32\nlocal color = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(font)\n    surface.SetTextColor(color)\n    surface.SetTextPos(x, y)\n    surface.DrawText(text)\nend)\n```\nReason: `surface.DrawText` avoids the extra wrapping, alignment, and outline work in `draw.DrawText` / `draw.SimpleTextOutlined`, so it is the faster path for one single-line string drawn every frame.",
      "durationMs": 18353,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 439,
        "totalTokens": 17276,
        "reasoningTokens": 277,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:54.283Z",
      "completedAt": "2026-07-10T17:40:12.637Z",
      "answerBytes": 496,
      "answerChars": 496,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #items\n```\nReason: Use Lua's `#` length operator for sequential array-like tables; `table.Count` is for counting key/value pairs.",
      "durationMs": 12448,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 16833,
        "completionTokens": 128,
        "totalTokens": 16961,
        "reasoningTokens": 73,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:39:54.410Z",
      "completedAt": "2026-07-10T17:40:06.860Z",
      "answerBytes": 151,
      "answerChars": 151,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Rebinding creates a fresh empty table in constant time, while table.Empty(t) has to remove the existing entries; use table.Empty only when other references must keep seeing the same table.",
      "durationMs": 16501,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 16840,
        "completionTokens": 265,
        "totalTokens": 17105,
        "reasoningTokens": 200,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:56.096Z",
      "completedAt": "2026-07-10T17:40:12.599Z",
      "answerBytes": 214,
      "answerChars": 214,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Slower: linear scan through a list\nlocal allowedTeams = { \"citizen\", \"police\", \"medic\" }\nif table.HasValue(allowedTeams, teamName) then\n    -- allowed\nend\n\n-- Faster: use a set and check the key directly\nlocal allowedTeamsSet = {\n    citizen = true,\n    police = true,\n    medic = true,\n}\n\nif allowedTeamsSet[teamName] then\n    -- allowed\nend\n```\nReason: `table.HasValue` scans every list item, while a set lookup uses direct table indexing.",
      "durationMs": 13904,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 16840,
        "completionTokens": 219,
        "totalTokens": 17059,
        "reasoningTokens": 71,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:57.368Z",
      "completedAt": "2026-07-10T17:40:11.274Z",
      "answerBytes": 451,
      "answerChars": 451,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = {\n    x = 1,\n    y = 2,\n    z = 3,\n}\n```\nReason: The table constructor is faster because Lua creates and initializes the known fields in one operation instead of creating an empty table and performing separate field assignments.",
      "durationMs": 12841,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 135,
        "totalTokens": 16970,
        "reasoningTokens": 55,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:57.992Z",
      "completedAt": "2026-07-10T17:40:10.835Z",
      "answerBytes": 245,
      "answerChars": 245,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal items = { \"a\", \"b\", \"c\", \"d\" }\n\nlocal value = items[math.random(#items)]\n```\nReason: For a sequential table, direct numeric indexing avoids table.Random's generic table traversal/key handling.",
      "durationMs": 14154,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 152,
        "totalTokens": 16987,
        "reasoningTokens": 79,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:58.178Z",
      "completedAt": "2026-07-10T17:40:12.333Z",
      "answerBytes": 205,
      "answerChars": 205,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: Multiplication avoids the slower exponent operator and is the preferred fast form for squaring in a tight loop.",
      "durationMs": 12462,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 16828,
        "completionTokens": 129,
        "totalTokens": 16957,
        "reasoningTokens": 77,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:58.248Z",
      "completedAt": "2026-07-10T17:40:10.712Z",
      "answerBytes": 152,
      "answerChars": 152,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- ...\nend\n```\nReason: player.Iterator() visits connected players directly without building the player.GetAll() table first.",
      "durationMs": 19215,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 410,
        "totalTokens": 17254,
        "reasoningTokens": 353,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:39:59.528Z",
      "completedAt": "2026-07-10T17:40:18.745Z",
      "answerBytes": 170,
      "answerChars": 170,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- use ent here\n    end\nend\n```\nReason: `ents.Iterator()` streams entities one at a time, avoiding `ents.GetAll()` and its full-map entity table.",
      "durationMs": 20955,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 597,
        "totalTokens": 17436,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:00.001Z",
      "completedAt": "2026-07-10T17:40:20.959Z",
      "answerBytes": 235,
      "answerChars": 235,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: `hook.Add` registers the callback on the `Think` hook using `MyAddon.Think` as its unique identifier.",
      "durationMs": 20620,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 582,
        "totalTokens": 17423,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:01.510Z",
      "completedAt": "2026-07-10T17:40:22.132Z",
      "answerBytes": 171,
      "answerChars": 171,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid(ent)` safely rejects nil, NULL, or removed entity references before you call entity methods.",
      "durationMs": 14327,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 226,
        "totalTokens": 17064,
        "reasoningTokens": 165,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:02.080Z",
      "completedAt": "2026-07-10T17:40:16.412Z",
      "answerBytes": 166,
      "answerChars": 166,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Read message data here.\nend)\n```\nReason: net.Receive registers the callback for incoming MyAddon.Sync messages.",
      "durationMs": 14877,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 16829,
        "completionTokens": 259,
        "totalTokens": 17088,
        "reasoningTokens": 199,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:03.008Z",
      "completedAt": "2026-07-10T17:40:17.887Z",
      "answerBytes": 172,
      "answerChars": 172,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal ZERO_ANGLE = Angle(0, 0, 0)\n\nlocal function FreshZeroAngle()\n    return ZERO_ANGLE * 1\nend\n```\nReason: multiplying a cached zero Angle returns a fresh Angle copy and avoids the slower constructor call in the hot path.",
      "durationMs": 23948,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 596,
        "totalTokens": 17437,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:03.210Z",
      "completedAt": "2026-07-10T17:40:27.160Z",
      "answerBytes": 230,
      "answerChars": 230,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal configColor = Color(255, 80, 80)\n\nlocal color = configColor\n```\nReason: A local variable read is faster than chained table lookups like `myaddon.config.color`, especially in hot paths.",
      "durationMs": 15812,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 312,
        "totalTokens": 17156,
        "reasoningTokens": 243,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:03.421Z",
      "completedAt": "2026-07-10T17:40:19.237Z",
      "answerBytes": 197,
      "answerChars": 197,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Preferred DarkRP API\nlocal jobName = ply:getDarkRPVar(\"job\")\n\n-- Avoid for DarkRP job names\nlocal jobNameFromNW = ply:GetNWString(\"job\")\n```\nReason: DarkRP owns job state through DarkRPVars, so getDarkRPVar(\"job\") reads the correct DarkRP value instead of raw NWString data.",
      "durationMs": 20993,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 16836,
        "completionTokens": 615,
        "totalTokens": 17451,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:03.623Z",
      "completedAt": "2026-07-10T17:40:24.619Z",
      "answerBytes": 284,
      "answerChars": 284,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal maxDist = 250\n\nif posA:DistToSqr(posB) <= maxDist * maxDist then\n    -- within threshold\nend\n```\nReason: DistToSqr compares squared distance, avoiding the square root needed for actual distance.",
      "durationMs": 21110,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 591,
        "totalTokens": 17432,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:03.997Z",
      "completedAt": "2026-07-10T17:40:25.110Z",
      "answerBytes": 207,
      "answerChars": 207,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 1 through 1 candidate loops.",
      "finalResponse": "```lua\nif ents.Iterator then\n    for _, ent in ents.Iterator() do\n        -- use ent\n    end\nelse\n    for _, ent in ipairs(ents.GetAll()) do\n        -- use ent\n    end\nend\n```\nReason: ents.Iterator avoids building the ents.GetAll table when available; the fallback keeps compatibility with older Garry's Mod builds.",
      "durationMs": 20699,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 16835,
        "completionTokens": 612,
        "totalTokens": 17447,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:04.806Z",
      "completedAt": "2026-07-10T17:40:25.510Z",
      "answerBytes": 315,
      "answerChars": 315,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindNearbyEntitiesCheap(ply, radius)\n    local pos = ply:GetPos()\n    local half = Vector(radius, radius, radius)\n\n    return ents.FindInBox(pos - half, pos + half)\nend\n```\nReason: `ents.FindInBox` is a fast built-in spatial-partition query in common GMod benchmarks, and it is cheaper than doing broad Lua-side scans when an AABB around the player is good enough.",
      "durationMs": 21944,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 16858,
        "completionTokens": 633,
        "totalTokens": 17491,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:05.085Z",
      "completedAt": "2026-07-10T17:40:27.033Z",
      "answerBytes": 386,
      "answerChars": 386,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInRadius(pos, radius)\n    local radiusSqr = radius * radius\n    local found = {}\n    local count = 0\n\n    for _, ply in ipairs(player.GetAll()) do\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            count = count + 1\n            found[count] = ply\n        end\n    end\n\n    return found\nend\n```\nReason: `player.GetAll()` scans only players and `DistToSqr` avoids the square root and entity table/filter cost of `ents.FindInSphere`.",
      "durationMs": 17592,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 16848,
        "completionTokens": 416,
        "totalTokens": 17264,
        "reasoningTokens": 267,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:05.328Z",
      "completedAt": "2026-07-10T17:40:22.922Z",
      "answerBytes": 480,
      "answerChars": 480,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: Numeric `for` is generally faster for tight 1-to-n counting in Garry's Mod Lua because it uses the VM/JIT's specialized loop path instead of manual `while` condition and increment work.",
      "durationMs": 17134,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 275,
        "totalTokens": 17116,
        "reasoningTokens": 194,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:06.479Z",
      "completedAt": "2026-07-10T17:40:23.627Z",
      "answerBytes": 236,
      "answerChars": 236,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch per tick, with all players passed once.\nhook.Add(\"Think\", \"NotifyPlayerTickBatch\", function()\n    hook.Run(\"MyAddon_PlayerTickBatch\", player.GetAll())\nend)\n\nhook.Add(\"MyAddon_PlayerTickBatch\", \"CustomLogic\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- custom logic for ply\n    end\nend)\n\n-- Slower: one hook dispatch per player per tick.\n-- hook.Add(\"Think\", \"NotifyPlayerTickPerPlayer\", function()\n--     local players = player.GetAll()\n--     for i = 1, #players do\n--         hook.Run(\"MyAddon_PlayerTick\", players[i])\n--     end\n-- end)\n```\nReason: One `hook.Run` keeps the same per-player work but avoids multiplying hook lookup and dispatch overhead by player count every tick.",
      "durationMs": 21754,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 16849,
        "completionTokens": 588,
        "totalTokens": 17437,
        "reasoningTokens": 365,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:06.650Z",
      "completedAt": "2026-07-10T17:40:28.410Z",
      "answerBytes": 761,
      "answerChars": 761,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal ply = LocalPlayer()\nlocal health = ply:Health()\n\ndraw.SimpleText(health, \"DermaLarge\", 32, 32, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP)\ndraw.SimpleText(\"HP: \" .. health, \"DermaDefaultBold\", 32, 64, Color(220, 80, 80), TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP)\ndraw.RoundedBox(4, 32, 88, math.Clamp(health, 0, 100) * 2, 14, Color(220, 80, 80))\n```\nReason: LocalPlayer() and Health() are called once, then the cached value is reused for all three draw calls in the same HUDPaint frame.",
      "durationMs": 23458,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 698,
        "totalTokens": 17542,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:06.862Z",
      "completedAt": "2026-07-10T17:40:30.324Z",
      "answerBytes": 492,
      "answerChars": 492,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FastPaintExample\", function()\n    for i = 1, #items do\n        draw.SimpleText(items[i].text, \"DermaDefault\", items[i].x, items[i].y, WHITE)\n    end\nend)\n```\nReason: Create the Color table once outside the paint loop and reuse it, avoiding per-frame allocations and GC work.",
      "durationMs": 23595,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 16834,
        "completionTokens": 634,
        "totalTokens": 17468,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:08.104Z",
      "completedAt": "2026-07-10T17:40:31.701Z",
      "answerBytes": 339,
      "answerChars": 339,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, count do\n    total = total + sin(i)\nend\n```\nReason: Localizing `math.sin` once avoids repeated global/table lookups inside the hot loop.",
      "durationMs": 22120,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 585,
        "totalTokens": 17423,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:08.335Z",
      "completedAt": "2026-07-10T17:40:30.458Z",
      "answerBytes": 176,
      "answerChars": 176,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal cachedLocalPlayer\n\nlocal function GetLocalPlayer()\n    if not IsValid(cachedLocalPlayer) then\n        cachedLocalPlayer = LocalPlayer()\n    end\n\n    return cachedLocalPlayer\nend\n\nhook.Add(\"Think\", \"UseCachedLocalPlayer\", function()\n    local ply = GetLocalPlayer()\n    if not IsValid(ply) then return end\n\n    -- Use ply in hot code instead of calling LocalPlayer() repeatedly.\nend)\n```\nReason: Reusing a cached local entity avoids repeated global LocalPlayer lookups and function calls while still refreshing until the player is valid.",
      "durationMs": 23742,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 662,
        "totalTokens": 17499,
        "reasoningTokens": 511,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:09.384Z",
      "completedAt": "2026-07-10T17:40:33.233Z",
      "answerBytes": 549,
      "answerChars": 549,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal LOOK_DOT = 0.75 -- cosine threshold; higher is stricter\n\nlocal function RoughlyLookingAtEachOther(a, b, dotLimit)\n    if not IsValid(a) or not IsValid(b) then return false end\n\n    dotLimit = dotLimit or LOOK_DOT\n\n    local aToB = (b:EyePos() - a:EyePos()):GetNormalized()\n    local bToA = -aToB\n\n    return a:GetAimVector():Dot(aToB) >= dotLimit\n       and b:GetAimVector():Dot(bToA) >= dotLimit\nend\n```\nReason: Dot products compare against a cosine threshold directly, avoiding expensive `math.acos` angle conversion while still checking both aim vectors face the other player.",
      "durationMs": 23181,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 16851,
        "completionTokens": 704,
        "totalTokens": 17555,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:10.713Z",
      "completedAt": "2026-07-10T17:40:33.914Z",
      "answerBytes": 592,
      "answerChars": 592,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function SomeHelper(ply)\n    -- helper body\nend\n\nSomeHelper(ply)\n```\nReason: `SomeHelper(ply)` is generally faster for a helper you control because a local function call avoids the `:` method/metatable lookup on `ply`.",
      "durationMs": 17755,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 16845,
        "completionTokens": 441,
        "totalTokens": 17286,
        "reasoningTokens": 363,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:10.836Z",
      "completedAt": "2026-07-10T17:40:28.592Z",
      "answerBytes": 231,
      "answerChars": 231,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal DEBUG_HOT_PATH = true\n\nif DEBUG_HOT_PATH then\n    MsgN(\"[my_addon] hot path reached\")\nend\n```\nReason: `MsgN` writes directly to the console with a newline and avoids the extra work `print` does around formatting multiple values.",
      "durationMs": 20767,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 16836,
        "completionTokens": 599,
        "totalTokens": 17435,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:11.276Z",
      "completedAt": "2026-07-10T17:40:32.053Z",
      "answerBytes": 241,
      "answerChars": 241,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sum = 0\nlocal nums = numbers\n\nfor i = 1, #nums do\n    sum = sum + nums[i]\nend\n```\nReason: A numeric `for` over integer indexes avoids iterator calls and key/value traversal overhead, so it is typically fastest for large dense sequential arrays in Garry's Mod Lua.",
      "durationMs": 15066,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 16846,
        "completionTokens": 258,
        "totalTokens": 17104,
        "reasoningTokens": 167,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:11.593Z",
      "completedAt": "2026-07-10T17:40:26.661Z",
      "answerBytes": 276,
      "answerChars": 276,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function richAlivePlayerNames(players, minMoney)\n    local out, outN = {}, 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        if IsValid(ply) and ply:Alive() then\n            local money = ply:getDarkRPVar(\"money\") or 0\n            if money >= minMoney then\n                outN = outN + 1\n                out[outN] = ply:Nick()\n            end\n        end\n    end\n\n    return out\nend\n```\nReason: Fuse filter and map into one numeric `for` loop, avoiding DarkRP `fn` closure calls and intermediate tables.",
      "durationMs": 22149,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 16854,
        "completionTokens": 682,
        "totalTokens": 17536,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:12.334Z",
      "completedAt": "2026-07-10T17:40:34.485Z",
      "answerBytes": 536,
      "answerChars": 536,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif SERVER then\n    local cachedPlayers = {}\n\n    local function RefreshPlayerCache()\n        cachedPlayers = player.GetAll()\n    end\n\n    hook.Add(\"InitPostEntity\", \"MyAddon.RefreshPlayerCache\", RefreshPlayerCache)\n    hook.Add(\"PlayerInitialSpawn\", \"MyAddon.RefreshPlayerCache\", RefreshPlayerCache)\n    hook.Add(\"PlayerDisconnected\", \"MyAddon.RefreshPlayerCache\", function()\n        timer.Simple(0, RefreshPlayerCache) -- let the leaving player be removed first\n    end)\n\n    hook.Add(\"Think\", \"MyAddon.FastPlayerThink\", function()\n        for i = 1, #cachedPlayers do\n            local ply = cachedPlayers[i]\n            if IsValid(ply) then\n                -- per-player work here\n            end\n        end\n    end)\nend\n```\nReason: `player.GetAll()` allocates/builds work only on join/leave, while the hot `Think` path only walks the already-cached table with a numeric loop.",
      "durationMs": 23728,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 16855,
        "completionTokens": 754,
        "totalTokens": 17609,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:12.599Z",
      "completedAt": "2026-07-10T17:40:36.329Z",
      "answerBytes": 887,
      "answerChars": 887,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal hotData = {}\n\nlocal function SetHotValue(ply, value)\n    hotData[ply] = value\nend\n\nlocal function GetHotValue(ply)\n    return hotData[ply]\nend\n\nhook.Add(\"PlayerDisconnected\", \"ClearHotData\", function(ply)\n    hotData[ply] = nil\nend)\n```\nReason: A local side table avoids repeated Player entity field lookup/metatable work, so hot reads use a plain Lua table access.",
      "durationMs": 22063,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 642,
        "totalTokens": 17480,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:12.637Z",
      "completedAt": "2026-07-10T17:40:34.702Z",
      "answerBytes": 378,
      "answerChars": 378,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = {\n    \"first\",\n    \"second\",\n    \"third\",\n}\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: Sequential number-indexed arrays iterate faster than string-keyed maps because contiguous numeric slots avoid per-entry string-key hashing.",
      "durationMs": 20804,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 611,
        "totalTokens": 17452,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:16.414Z",
      "completedAt": "2026-07-10T17:40:37.221Z",
      "answerBytes": 289,
      "answerChars": 289,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal drawR, drawG, drawB, drawA = 40, 160, 255, 220\n\nhook.Add(\"HUDPaint\", \"HotPathDraw\", function()\n    surface.SetDrawColor(drawR, drawG, drawB, drawA)\n    surface.DrawRect(16, 16, 160, 8)\nend)\n```\nReason: Passing separate r, g, b, a numbers avoids the Color table path and is faster in hot draw code.",
      "durationMs": 22722,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 16846,
        "completionTokens": 641,
        "totalTokens": 17487,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:17.888Z",
      "completedAt": "2026-07-10T17:40:40.613Z",
      "answerBytes": 310,
      "answerChars": 310,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamID64 = ply:SteamID64()\nlocal row = sql.QueryRow((\n    \"SELECT money, xp FROM player_data WHERE steamid64 = %s LIMIT 1\"\n):format(sql.SQLStr(steamID64)))\n```\nReason: Local SQLite via Garry's Mod's `sql` library avoids network round trips, so on a single server with no sync requirement it is typically lower latency than remote MySQL.",
      "durationMs": 20636,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 16864,
        "completionTokens": 517,
        "totalTokens": 17381,
        "reasoningTokens": 403,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:18.747Z",
      "completedAt": "2026-07-10T17:40:39.422Z",
      "answerBytes": 350,
      "answerChars": 350,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function CachedSteamID(ply)\n    local steamID = steamIDCache[ply]\n    if steamID ~= nil then\n        return steamID\n    end\n\n    steamID = ply:SteamID()\n    steamIDCache[ply] = steamID\n    return steamID\nend\n\nhook.Add(\"PlayerDisconnected\", \"MyAddon.ClearSteamIDCache\", function(ply)\n    steamIDCache[ply] = nil\nend)\n\n-- Hot path:\nlocal steamID = CachedSteamID(ply)\n```\nReason: This pays the `ply:SteamID()` call once per player, then uses a fast table lookup while weak keys and disconnect cleanup avoid stale player entries.",
      "durationMs": 23580,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 707,
        "totalTokens": 17544,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:19.241Z",
      "completedAt": "2026-07-10T17:40:42.832Z",
      "answerBytes": 595,
      "answerChars": 595,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pieces = {\"alpha\", \"beta\", \"gamma\"} -- thousands of small strings\n\n-- Slower: creates a new string on every iteration.\nlocal slow = \"\"\nfor i = 1, #pieces do\n    slow = slow .. pieces[i]\nend\n\n-- Faster: collect pieces, then join once.\nlocal buffer = {}\nfor i = 1, #pieces do\n    buffer[#buffer + 1] = pieces[i]\nend\n\nlocal fast = table.concat(buffer)\n```\nReason: `table.concat` avoids thousands of intermediate string allocations from repeated `..` concatenation.",
      "durationMs": 22379,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 16840,
        "completionTokens": 670,
        "totalTokens": 17510,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:20.963Z",
      "completedAt": "2026-07-10T17:40:43.345Z",
      "answerBytes": 474,
      "answerChars": 474,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(col)\nsurface.DrawRect(x, y, w, h)\n```\nReason: surface.DrawRect draws the plain rectangle directly, avoiding draw.RoundedBox's rounded-box wrapper overhead when radius is 0.",
      "durationMs": 19358,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 16840,
        "completionTokens": 415,
        "totalTokens": 17255,
        "reasoningTokens": 347,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:22.133Z",
      "completedAt": "2026-07-10T17:40:41.493Z",
      "answerBytes": 200,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal text = \"Fast HUD text\"\nlocal font = \"DermaDefault\"\nlocal x, y = 32, 32\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(font)\n    surface.SetTextColor(255, 255, 255, 255)\n    surface.SetTextPos(x, y)\n    surface.DrawText(text)\nend)\n```\nReason: `surface.DrawText` is the lower-level fast path for one line; it avoids the extra wrapping, alignment, and outline passes done by `draw.DrawText` / `draw.SimpleTextOutlined`. ",
      "durationMs": 19708,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 16841,
        "completionTokens": 670,
        "totalTokens": 17511,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:22.924Z",
      "completedAt": "2026-07-10T17:40:42.637Z",
      "answerBytes": 458,
      "answerChars": 458,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal length = #myTable\n```\nReason: The # operator is preferred for sequential array-like tables because it gets the array length directly; table.Count is for keyed/non-sequential tables.",
      "durationMs": 15083,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 16831,
        "completionTokens": 458,
        "totalTokens": 17289,
        "reasoningTokens": 399,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:23.630Z",
      "completedAt": "2026-07-10T17:40:38.716Z",
      "answerBytes": 194,
      "answerChars": 194,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Replacing the table drops the old large array for GC instead of walking and clearing every element; use `table.Empty(t)` only when other references must keep seeing the same table.",
      "durationMs": 15281,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 16838,
        "completionTokens": 580,
        "totalTokens": 17418,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:24.629Z",
      "completedAt": "2026-07-10T17:40:39.930Z",
      "answerBytes": 206,
      "answerChars": 206,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Slow: table.HasValue scans the list every time.\n-- if table.HasValue({ \"weapon_physgun\", \"weapon_crowbar\", \"weapon_pistol\" }, class) then ... end\n\n-- Fast: use a keyed set for direct lookup.\nlocal allowedWeapons = {\n    weapon_physgun = true,\n    weapon_crowbar = true,\n    weapon_pistol = true,\n}\n\nhook.Add(\"PlayerCanPickupWeapon\", \"AllowedWeaponSetLookup\", function(ply, weapon)\n    return allowedWeapons[weapon:GetClass()] == true\nend)\n```\nReason: A keyed set lookup is O(1) average time, while table.HasValue scans the list in O(n) time for every check.",
      "durationMs": 16503,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 16840,
        "completionTokens": 693,
        "totalTokens": 17533,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:25.113Z",
      "completedAt": "2026-07-10T17:40:41.628Z",
      "answerBytes": 567,
      "answerChars": 567,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal info = {\n    steamID = steamID,\n    name = name,\n    score = score,\n}\n```\nReason: The table constructor lets Lua create the table with the known fields up front, avoiding extra field-assignment bytecode after `{}`.",
      "durationMs": 13660,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 16839,
        "completionTokens": 593,
        "totalTokens": 17432,
        "reasoningTokens": 516,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:25.514Z",
      "completedAt": "2026-07-10T17:40:39.221Z",
      "answerBytes": 227,
      "answerChars": 227,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = items[math.random(#items)]\n```\nReason: For a sequential table, direct numeric indexing avoids `table.Random` walking/counting table entries and only needs one random index lookup.",
      "durationMs": 10811,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 16837,
        "completionTokens": 243,
        "totalTokens": 17080,
        "reasoningTokens": 181,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:26.663Z",
      "completedAt": "2026-07-10T17:40:37.477Z",
      "answerBytes": 200,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal squared = x * x\n```\nReason: `x * x` avoids exponentiation overhead and is the preferred fast form for squaring in tight loops.",
      "durationMs": 7793,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 16832,
        "completionTokens": 263,
        "totalTokens": 17095,
        "reasoningTokens": 210,
        "cachedTokens": 16384
      },
      "startedAt": "2026-07-10T17:40:27.034Z",
      "completedAt": "2026-07-10T17:40:34.854Z",
      "answerBytes": 139,
      "answerChars": 139,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.5@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- ...\nend\n```\nReason: `player.Iterator()` iterates the current connected player list directly without building and walking a `player.GetAll()` table.",
      "durationMs": 14649,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 16844,
        "completionTokens": 580,
        "totalTokens": 17424,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:27.165Z",
      "completedAt": "2026-07-10T17:40:41.821Z",
      "answerBytes": 196,
      "answerChars": 196,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- do work with ent\n    end\nend\n```\nReason: `ents.Iterator()` streams entities one at a time, so it avoids materializing a table of every entity in the map first.",
      "durationMs": 5206,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 155,
        "totalTokens": 15052,
        "reasoningTokens": 71,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:28.411Z",
      "completedAt": "2026-07-10T17:40:33.619Z",
      "answerBytes": 252,
      "answerChars": 252,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: `hook.Add` registers a function on the `Think` hook using `MyAddon.Think` as the unique identifier.",
      "durationMs": 4398,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 14901,
        "completionTokens": 64,
        "totalTokens": 14965,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:28.593Z",
      "completedAt": "2026-07-10T17:40:32.993Z",
      "answerBytes": 169,
      "answerChars": 169,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid(ent)` is the standard Garry's Mod check that rejects `nil`, NULL entities, and removed invalid entities before method calls.",
      "durationMs": 3734,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 67,
        "totalTokens": 14965,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:30.325Z",
      "completedAt": "2026-07-10T17:40:34.060Z",
      "answerBytes": 198,
      "answerChars": 198,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- handle the incoming message here\nend)\n```\nReason: `net.Receive` registers a callback for the incoming `MyAddon.Sync` net message.",
      "durationMs": 4561,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 14891,
        "completionTokens": 64,
        "totalTokens": 14955,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:30.459Z",
      "completedAt": "2026-07-10T17:40:35.021Z",
      "answerBytes": 190,
      "answerChars": 190,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal ZERO_ANGLE = Angle(0, 0, 0)\n\n-- Hot path: reuse the shared zero angle instead of constructing Angle() each time.\nentity:SetAngles(ZERO_ANGLE)\n```\nReason: Reusing one prebuilt zero `Angle` avoids per-call object construction and garbage pressure in hot paths.",
      "durationMs": 4283,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 108,
        "totalTokens": 15007,
        "reasoningTokens": 19,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:31.703Z",
      "completedAt": "2026-07-10T17:40:35.987Z",
      "answerBytes": 271,
      "answerChars": 271,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal MYADDON_COLOR = \"red\"\n\nlocal color = MYADDON_COLOR\n```\nReason: A flat local is preferred because local variable reads avoid repeated table indexing and are the fastest common access path in Lua for hot settings reads.",
      "durationMs": 3298,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 14904,
        "completionTokens": 68,
        "totalTokens": 14972,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:32.054Z",
      "completedAt": "2026-07-10T17:40:35.353Z",
      "answerBytes": 230,
      "answerChars": 230,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- Preferred\nlocal jobName = team.GetName(ply:Team())\n\n-- Avoid\nlocal jobNameOld = ply:GetNWString(\"job\")\n```\nReason: `team.GetName(ply:Team())` reads the authoritative team/job state directly, while `GetNWString(\"job\")` depends on a networked string that is less direct and can be stale or overridden.",
      "durationMs": 4349,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 101,
        "totalTokens": 15001,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:32.994Z",
      "completedAt": "2026-07-10T17:40:37.345Z",
      "answerBytes": 309,
      "answerChars": 309,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif pos1:DistToSqr(pos2) <= maxDistance * maxDistance then\n    -- within range\nend\n```\nReason: `Vector:DistToSqr` avoids the square root from `Distance`, so it is the preferred faster check when you only need a threshold comparison.",
      "durationMs": 3763,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 79,
        "totalTokens": 14976,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:33.234Z",
      "completedAt": "2026-07-10T17:40:36.998Z",
      "answerBytes": 238,
      "answerChars": 238,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- use ent\nend\n```\nReason: `ents.Iterator()` visits every entity without first building the full table from `ents.GetAll()`, so it is the efficient wiki-recommended choice when you only need to iterate once.",
      "durationMs": 4419,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 14895,
        "completionTokens": 128,
        "totalTokens": 15023,
        "reasoningTokens": 52,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:33.620Z",
      "completedAt": "2026-07-10T17:40:38.040Z",
      "answerBytes": 248,
      "answerChars": 248,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal center = ply:GetPos()\nlocal radius = 512\nlocal nearby = ents.FindInSphere(center, radius)\n\nfor i = 1, #nearby do\n    local ent = nearby[i]\n    if IsValid(ent) then\n        -- use ent\n    end\nend\n```\nReason: `ents.FindInSphere` is a common fast built-in for cheap nearby-entity queries around a player without relying on PVS visibility.",
      "durationMs": 6619,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 14916,
        "completionTokens": 196,
        "totalTokens": 15112,
        "reasoningTokens": 80,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:33.915Z",
      "completedAt": "2026-07-10T17:40:40.535Z",
      "answerBytes": 348,
      "answerChars": 348,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInRadius(pos, radius)\n    local players = player.GetAll()\n    local result = {}\n    local radiusSqr = radius * radius\n\n    for i = 1, #players do\n        local ply = players[i]\n\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            result[#result + 1] = ply\n        end\n    end\n\n    return result\nend\n```\nReason: `ents.FindInSphere` checks all entities, while iterating `player.GetAll()` limits the search to players only and uses squared distance to avoid the square root cost.",
      "durationMs": 6709,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 14908,
        "completionTokens": 206,
        "totalTokens": 15114,
        "reasoningTokens": 48,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:34.061Z",
      "completedAt": "2026-07-10T17:40:40.771Z",
      "answerBytes": 526,
      "answerChars": 526,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- hot loop body\nend\n```\nReason: Numeric `for` is generally faster in Garry's Mod Lua because it uses the VM's specialized counting-loop path with less per-iteration overhead than a manual `while` counter loop.",
      "durationMs": 4551,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 95,
        "totalTokens": 14994,
        "reasoningTokens": 16,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:34.485Z",
      "completedAt": "2026-07-10T17:40:39.038Z",
      "answerBytes": 237,
      "answerChars": 237,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\nlocal players = player.GetHumans()\n\nhook.Run(\"MyPlayersTick\", players)\n\nhook.Add(\"MyPlayersTick\", \"MyLogic\", function(playersList)\n    for i = 1, #playersList do\n        local ply = playersList[i]\n        if IsValid(ply) then\n            -- per-player custom logic here\n        end\n    end\nend)\n\n-- Slower pattern:\nfor i = 1, #players do\n    hook.Run(\"MyPlayerTick\", players[i])\nend\n```\nReason: Calling `hook.Run` once avoids repeated hook dispatch overhead, argument setup, and multiple global hook traversals, so one dispatch with an internal player loop is faster than one dispatch per player.",
      "durationMs": 6605,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14911,
        "completionTokens": 199,
        "totalTokens": 15110,
        "reasoningTokens": 21,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:34.703Z",
      "completedAt": "2026-07-10T17:40:41.309Z",
      "answerBytes": 603,
      "answerChars": 603,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal hp = LocalPlayer():Health()\n\ndraw.SimpleText(hp, \"DermaLarge\", x1, y1, color_white)\ndraw.RoundedBox(4, x2, y2, math.max(hp, 0) * 2, 20, color_green)\ndraw.SimpleText(hp .. \"%\", \"Trebuchet24\", x3, y3, color_white)\n```\nReason: Cache `LocalPlayer():Health()` once per frame to avoid three repeated Lua/C++ calls for the same value.",
      "durationMs": 4887,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 157,
        "totalTokens": 15063,
        "reasoningTokens": 22,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:34.855Z",
      "completedAt": "2026-07-10T17:40:39.744Z",
      "answerBytes": 340,
      "answerChars": 340,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nfunction PANEL:Paint(w, h)\n    surface.SetDrawColor(WHITE)\n\n    for i = 1, self.ItemCount do\n        -- draw using WHITE without allocating a new Color each iteration\n    end\nend\n```\nReason: Reuse one precomputed `Color` object so the paint loop avoids repeated allocation and function-call overhead each frame.",
      "durationMs": 5224,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 14894,
        "completionTokens": 131,
        "totalTokens": 15025,
        "reasoningTokens": 20,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:35.021Z",
      "completedAt": "2026-07-10T17:40:40.246Z",
      "answerBytes": 354,
      "answerChars": 354,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, n do\n    out[i] = sin(i * step)\nend\n```\nReason: Caching `math.sin` in a local avoids repeated table lookups in the hot loop, which is slightly faster in Lua.",
      "durationMs": 3696,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 14894,
        "completionTokens": 77,
        "totalTokens": 14971,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:35.354Z",
      "completedAt": "2026-07-10T17:40:39.051Z",
      "answerBytes": 197,
      "answerChars": 197,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal localPlayer\n\nhook.Add(\"InitPostEntity\", \"CacheLocalPlayer\", function()\n    localPlayer = LocalPlayer()\nend)\n\nhook.Add(\"Think\", \"UseCachedLocalPlayer\", function()\n    local ply = localPlayer\n    if not IsValid(ply) then\n        ply = LocalPlayer()\n        if not IsValid(ply) then return end\n        localPlayer = ply\n    end\n\n    -- use ply here instead of calling LocalPlayer() repeatedly\n    if ply:Alive() then\n        -- hot-path work\n    end\nend)\n```\nReason: Cache the player entity once and reuse a local variable on hot paths, only refreshing when the cached value is invalid, which avoids repeated global function lookup and call overhead.",
      "durationMs": 6396,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 200,
        "totalTokens": 15099,
        "reasoningTokens": 18,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:35.988Z",
      "completedAt": "2026-07-10T17:40:42.386Z",
      "answerBytes": 660,
      "answerChars": 660,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal LOOK_DOT_THRESHOLD = -0.7 -- closer to -1 means more directly facing each other\n\nlocal function ArePlayersRoughlyLookingAtEachOther(plyA, plyB)\n    local aimA = plyA:GetAimVector()\n    local aimB = plyB:GetAimVector()\n\n    -- Unit vectors: dot is enough, no acos needed.\n    return aimA:Dot(aimB) <= LOOK_DOT_THRESHOLD\nend\n```\nReason: `GetAimVector()` returns normalized directions, so a single dot-product compare is the cheapest fast-path; facing each other means the vectors point in near-opposite directions, which drives the dot toward `-1` without the cost of `math.acos`. ",
      "durationMs": 5819,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 14911,
        "completionTokens": 183,
        "totalTokens": 15094,
        "reasoningTokens": 8,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:36.330Z",
      "completedAt": "2026-07-10T17:40:42.150Z",
      "answerBytes": 592,
      "answerChars": 592,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: `SomeHelper(ply)` is generally faster for a helper you control because it can be a direct local/global function call and avoids the extra table/metatable method lookup implied by `ply:SomeHelper()`.",
      "durationMs": 6105,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 14903,
        "completionTokens": 175,
        "totalTokens": 15078,
        "reasoningTokens": 103,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:36.999Z",
      "completedAt": "2026-07-10T17:40:43.105Z",
      "answerBytes": 233,
      "answerChars": 233,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug: cache hit\")\n```\nReason: `MsgN` writes directly to the console with a newline and avoids some of `print`'s extra formatting overhead, so it is the usual faster choice in a hot path.",
      "durationMs": 5039,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 151,
        "totalTokens": 15049,
        "reasoningTokens": 80,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:37.222Z",
      "completedAt": "2026-07-10T17:40:42.262Z",
      "answerBytes": 200,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #t do\n    local v = t[i]\n    -- use v\nend\n```\nReason: For a large dense array, numeric `for` is typically fastest because it avoids the extra iterator overhead of `pairs` and `ipairs` and does direct indexed access.",
      "durationMs": 3805,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 14904,
        "completionTokens": 96,
        "totalTokens": 15000,
        "reasoningTokens": 12,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:37.346Z",
      "completedAt": "2026-07-10T17:40:41.152Z",
      "answerBytes": 233,
      "answerChars": 233,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster than chaining DarkRP's fn combinators: one tight pass, no closure pipeline,\n-- no intermediate tables from filter/map steps.\nlocal players = player.GetAll()\nlocal out = {}\nlocal n = 0\n\nfor i = 1, #players do\n    local ply = players[i]\n\n    if IsValid(ply) and ply:Alive() and ply:isCP() then\n        n = n + 1\n        out[n] = {\n            steamID = ply:SteamID(),\n            money = ply:getDarkRPVar(\"money\") or 0,\n        }\n    end\nend\n\nreturn out\n```\nReason: A single fused `for` loop avoids the extra closures, function-call overhead, and intermediate table allocations that DarkRP's `fn` filter/map chain creates.",
      "durationMs": 6751,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 14916,
        "completionTokens": 237,
        "totalTokens": 15153,
        "reasoningTokens": 39,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:37.479Z",
      "completedAt": "2026-07-10T17:40:44.231Z",
      "answerBytes": 637,
      "answerChars": 637,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\n\nlocal function refreshPlayers()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshCachedPlayers\", refreshPlayers)\nhook.Add(\"PlayerDisconnected\", \"RefreshCachedPlayers\", refreshPlayers)\nhook.Add(\"InitPostEntity\", \"RefreshCachedPlayersOnStart\", refreshPlayers)\n\nhook.Add(\"Tick\", \"UseCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- per-player work here\n        end\n    end\nend)\n```\nReason: `player.GetAll()` allocates/builds a fresh player array every tick, so caching it and only refreshing on join/leave removes repeated table creation and iteration setup from the hot path.",
      "durationMs": 6598,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 14917,
        "completionTokens": 208,
        "totalTokens": 15125,
        "reasoningTokens": 12,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:38.041Z",
      "completedAt": "2026-07-10T17:40:44.639Z",
      "answerBytes": 729,
      "answerChars": 729,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal hpByPlayer = setmetatable({}, { __mode = \"k\" })\n\nlocal function SetTempHP(ply, value)\n    hpByPlayer[ply] = value\nend\n\nlocal function GetTempHP(ply)\n    return hpByPlayer[ply]\nend\n```\nReason: A side table avoids adding dynamic fields to the player entity userdata/table, so repeated lookups stay on a plain Lua table path and are typically faster for hot reads.",
      "durationMs": 4999,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 141,
        "totalTokens": 15041,
        "reasoningTokens": 20,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:38.717Z",
      "completedAt": "2026-07-10T17:40:43.718Z",
      "answerBytes": 374,
      "answerChars": 374,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"alpha\", \"beta\", \"gamma\", \"delta\" }\nfor i = 1, #values do\n    local v = values[i]\n    -- use v\nend\n```\nReason: Sequential number-indexed arrays are faster to iterate in Garry's Mod Lua because dense numeric indexing avoids string-hash lookups and works with the VM's optimized array-style traversal path.",
      "durationMs": 5132,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 14901,
        "completionTokens": 117,
        "totalTokens": 15018,
        "reasoningTokens": 13,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:39.039Z",
      "completedAt": "2026-07-10T17:40:44.173Z",
      "answerBytes": 328,
      "answerChars": 328,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 0, 0, 255)\n```\nReason: Passing raw numeric channels is faster in a hot draw path because it avoids the extra Color table/object handling overhead.",
      "durationMs": 5170,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 102,
        "totalTokens": 15008,
        "reasoningTokens": 39,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:39.052Z",
      "completedAt": "2026-07-10T17:40:44.223Z",
      "answerBytes": 179,
      "answerChars": 179,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal result = sql.Query(\"SELECT money FROM players WHERE steamid = \" .. sql.SQLStr(steamid))\n```\nReason: For one Garry's Mod server with no cross-server sync, local SQLite via `sql` is typically lower latency because it avoids network round trips to a remote MySQL server.",
      "durationMs": 4576,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 14922,
        "completionTokens": 97,
        "totalTokens": 15019,
        "reasoningTokens": 12,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:39.222Z",
      "completedAt": "2026-07-10T17:40:43.799Z",
      "answerBytes": 280,
      "answerChars": 280,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIdCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function getSteamID(ply)\n    local steamId = steamIdCache[ply]\n    if steamId ~= nil then\n        return steamId\n    end\n\n    steamId = ply:SteamID()\n    steamIdCache[ply] = steamId\n    return steamId\nend\n\nhook.Add(\"EntityRemoved\", \"ClearSteamIDCache\", function(ent)\n    steamIdCache[ent] = nil\nend)\n\n-- hot path\nfor i = 1, #players do\n    local ply = players[i]\n    local steamId = getSteamID(ply)\n    -- use steamId\nend\n```\nReason: It avoids repeated method calls on the same player in the hot path, computes the SteamID once per live player, and uses weak keys so cache entries can disappear when player entities do.",
      "durationMs": 6113,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 14895,
        "completionTokens": 218,
        "totalTokens": 15113,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:39.423Z",
      "completedAt": "2026-07-10T17:40:45.537Z",
      "answerBytes": 689,
      "answerChars": 689,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal parts = {}\n\nfor i = 1, 10000 do\n    parts[i] = \"piece\" .. i\nend\n\nlocal big = table.concat(parts)\n\n-- slower:\n-- local big = \"\"\n-- for i = 1, 10000 do\n--     big = big .. \"piece\" .. i\n-- end\n```\nReason: `table.concat` avoids reallocating and copying the growing string on every loop iteration, so it is much faster for thousands of pieces.",
      "durationMs": 5038,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 142,
        "totalTokens": 15040,
        "reasoningTokens": 13,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:39.745Z",
      "completedAt": "2026-07-10T17:40:44.784Z",
      "answerBytes": 351,
      "answerChars": 351,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `draw.RoundedBox(0, ...)` adds wrapper overhead, while `surface.DrawRect` is the direct non-rounded rectangle draw path and is slightly faster in tight per-frame loops.",
      "durationMs": 4470,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 100,
        "totalTokens": 15000,
        "reasoningTokens": 13,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:39.931Z",
      "completedAt": "2026-07-10T17:40:44.403Z",
      "answerBytes": 249,
      "answerChars": 249,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal text = \"FPS: 144\"\nlocal x, y = 24, 24\nlocal r, g, b, a = 255, 255, 255, 255\n\nsurface.CreateFont(\"BenchText\", {\n    font = \"Tahoma\",\n    size = 24,\n    weight = 500,\n    antialias = true,\n})\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(\"BenchText\")\n    surface.SetTextColor(r, g, b, a)\n    surface.SetTextPos(x, y)\n    surface.DrawText(text)\nend)\n```\nReason: `surface.SetFont` + `surface.SetTextColor` + `surface.SetTextPos` + `surface.DrawText` is the leanest path for single-line text; `draw.DrawText` and especially `draw.SimpleTextOutlined` add wrapper work such as alignment, color/state setup, and outline passes.",
      "durationMs": 7641,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 14901,
        "completionTokens": 284,
        "totalTokens": 15185,
        "reasoningTokens": 53,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:40.247Z",
      "completedAt": "2026-07-10T17:40:47.890Z",
      "answerBytes": 661,
      "answerChars": 661,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal len = #t\n```\nReason: `#` is the idiomatic and fastest way to get the length of a proper sequential array-like table in Garry's Mod Lua.",
      "durationMs": 4841,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 14893,
        "completionTokens": 56,
        "totalTokens": 14949,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:40.536Z",
      "completedAt": "2026-07-10T17:40:45.379Z",
      "answerBytes": 148,
      "answerChars": 148,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = {}\n```\nReason: Rebinding with `t = {}` is generally faster because it avoids walking and niling every element the way `table.Empty(t)` does; use `table.Empty(t)` only when other references must keep the same table object.",
      "durationMs": 4295,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 14902,
        "completionTokens": 88,
        "totalTokens": 14990,
        "reasoningTokens": 13,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:40.614Z",
      "completedAt": "2026-07-10T17:40:44.911Z",
      "answerBytes": 238,
      "answerChars": 238,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    pistol = true,\n    shotgun = true,\n    smg1 = true,\n}\n\nif allowed[weaponClass] then\n    -- value exists in the set\nend\n\n-- slower on a list:\n-- table.HasValue({\"pistol\", \"shotgun\", \"smg1\"}, weaponClass)\n```\nReason: Hash lookup in a key->true set is O(1) on average, while `table.HasValue` scans the list linearly at O(n).",
      "durationMs": 5416,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 14902,
        "completionTokens": 140,
        "totalTokens": 15042,
        "reasoningTokens": 8,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:40.772Z",
      "completedAt": "2026-07-10T17:40:46.190Z",
      "answerBytes": 350,
      "answerChars": 350,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t1 = {}\nt1.x = 1\nt1.y = 2\nt1.z = 3\n\nlocal t2 = { x = 1, y = 2, z = 3 }\n```\nReason: `local t2 = { x = 1, y = 2, z = 3 }` is generally faster for a small table with known fields because Lua can create and populate it in one constructor step instead of doing separate field assignments after allocation.",
      "durationMs": 5223,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 145,
        "totalTokens": 15042,
        "reasoningTokens": 21,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:41.153Z",
      "completedAt": "2026-07-10T17:40:46.377Z",
      "answerBytes": 313,
      "answerChars": 313,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = {\"a\", \"b\", \"c\", \"d\"}\nlocal value = t[math.random(#t)]\n```\nReason: For a sequential array, direct indexing with `math.random(#t)` avoids the extra work `table.Random` does to handle non-sequential tables.",
      "durationMs": 4790,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 14893,
        "completionTokens": 94,
        "totalTokens": 14987,
        "reasoningTokens": 10,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:41.310Z",
      "completedAt": "2026-07-10T17:40:46.101Z",
      "answerBytes": 220,
      "answerChars": 220,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal x2 = x * x\n```\nReason: `x * x` avoids function-call overhead and is the straightforward fast form for squaring in a tight loop.",
      "durationMs": 4577,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 14894,
        "completionTokens": 75,
        "totalTokens": 14969,
        "reasoningTokens": 20,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:41.494Z",
      "completedAt": "2026-07-10T17:40:46.073Z",
      "answerBytes": 140,
      "answerChars": 140,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- ...\nend\n```\nReason: `player.Iterator()` iterates connected players directly without allocating the table from `player.GetAll()`. ",
      "durationMs": 4065,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 68,
        "totalTokens": 14974,
        "reasoningTokens": 8,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:41.629Z",
      "completedAt": "2026-07-10T17:40:45.697Z",
      "answerBytes": 178,
      "answerChars": 178,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- use ent here\n    end\nend\n```\nReason: `ents.Iterator()` streams entities directly instead of allocating a full table like `ents.GetAll()`.",
      "durationMs": 5852,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 164,
        "totalTokens": 15061,
        "reasoningTokens": 87,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:41.822Z",
      "completedAt": "2026-07-10T17:40:47.676Z",
      "answerBytes": 230,
      "answerChars": 230,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- per-frame logic\nend)\n```\nReason: `hook.Add` registers a callback on the `Think` hook, and `MyAddon.Think` is the unique identifier for that registration.",
      "durationMs": 4606,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 14903,
        "completionTokens": 103,
        "totalTokens": 15006,
        "reasoningTokens": 27,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:42.151Z",
      "completedAt": "2026-07-10T17:40:46.758Z",
      "answerBytes": 213,
      "answerChars": 213,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid(ent)` is the standard Garry's Mod check that the entity reference is non-`nil` and not a removed/invalid entity before you call methods on it.",
      "durationMs": 5238,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 14896,
        "completionTokens": 93,
        "totalTokens": 14989,
        "reasoningTokens": 16,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:42.263Z",
      "completedAt": "2026-07-10T17:40:47.504Z",
      "answerBytes": 216,
      "answerChars": 216,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Read the payload here with net.Read* functions.\nend)\n```\nReason: `net.Receive` registers the callback that runs when the `MyAddon.Sync` net message arrives.",
      "durationMs": 4746,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 14891,
        "completionTokens": 71,
        "totalTokens": 14962,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:42.386Z",
      "completedAt": "2026-07-10T17:40:47.134Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal scratchAng = Angle(0, 0, 0)\n\n-- Hot path: reuse and reset instead of allocating Angle() every time.\nlocal function GetZeroedScratchAngle()\n    scratchAng:SetUnpacked(0, 0, 0)\n    return scratchAng\nend\n\n-- Slower:\n-- local ang = Angle()\n\n-- Faster:\nlocal ang = GetZeroedScratchAngle()\n```\nReason: Reusing one scratch `Angle` avoids per-call allocation and garbage collection; resetting it with `SetUnpacked(0, 0, 0)` is cheaper than constructing `Angle()` in a hot path.",
      "durationMs": 9134,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 333,
        "totalTokens": 15230,
        "reasoningTokens": 174,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:42.638Z",
      "completedAt": "2026-07-10T17:40:51.774Z",
      "answerBytes": 482,
      "answerChars": 482,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal MYADDON_COLOR = Color(255, 255, 255)\nlocal color = MYADDON_COLOR\n```\nReason: A flat local is faster for frequent reads because Lua avoids repeated table lookups like `myaddon.config.color` and accesses locals through cheaper direct slots.",
      "durationMs": 4545,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 14904,
        "completionTokens": 98,
        "totalTokens": 15002,
        "reasoningTokens": 19,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:42.833Z",
      "completedAt": "2026-07-10T17:40:47.381Z",
      "answerBytes": 251,
      "answerChars": 251,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: `job` is a DarkRP-managed variable, so `ply:getDarkRPVar(\"job\")` is the correct API; `GetNWString(\"job\")` bypasses DarkRP's intended access layer and is less reliable across implementations.",
      "durationMs": 5890,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 14896,
        "completionTokens": 106,
        "totalTokens": 15002,
        "reasoningTokens": 19,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:43.107Z",
      "completedAt": "2026-07-10T17:40:48.999Z",
      "answerBytes": 249,
      "answerChars": 249,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif pos1:DistToSqr(pos2) <= (maxDistance * maxDistance) then\n    -- within maxDistance\nend\n```\nReason: `Vector:DistToSqr` avoids the square root in `Distance`, so it is the preferred method for threshold comparisons.",
      "durationMs": 5334,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 109,
        "totalTokens": 15008,
        "reasoningTokens": 30,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:43.346Z",
      "completedAt": "2026-07-10T17:40:48.682Z",
      "answerBytes": 222,
      "answerChars": 222,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal iter = ents.Iterator and ents.Iterator() or ipairs(ents.GetAll())\n\nfor _, ent in iter do\n    -- use ent\nend\n```\nReason: `ents.Iterator()` avoids materializing a full entity table and is the wiki-recommended efficient choice; the fallback keeps the loop working where it is unavailable.",
      "durationMs": 13794,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 14893,
        "completionTokens": 146,
        "totalTokens": 15039,
        "reasoningTokens": 58,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:43.719Z",
      "completedAt": "2026-07-10T17:40:57.515Z",
      "answerBytes": 298,
      "answerChars": 298,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal origin = ply:GetPos()\nlocal radius = 512\nlocal nearby = ents.FindInSphere(origin, radius)\n\nfor i = 1, #nearby do\n    local ent = nearby[i]\n    if IsValid(ent) and ent ~= ply then\n        -- use ent\n    end\nend\n```\nReason: `ents.FindInSphere` is a common fast built-in for nearby-entity queries because it uses the engine's spatial partition directly and avoids scanning all entities.",
      "durationMs": 6039,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 14916,
        "completionTokens": 206,
        "totalTokens": 15122,
        "reasoningTokens": 82,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:43.800Z",
      "completedAt": "2026-07-10T17:40:49.840Z",
      "answerBytes": 396,
      "answerChars": 396,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInRadius(pos, radius)\n    local radiusSqr = radius * radius\n    local out = {}\n\n    for _, ply in ipairs(player.GetAll()) do\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            out[#out + 1] = ply\n        end\n    end\n\n    return out\nend\n```\nReason: `ents.FindInSphere` walks all entities first; looping `player.GetAll()` only checks players and uses squared distance to avoid the square root cost.",
      "durationMs": 6437,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 224,
        "totalTokens": 15130,
        "reasoningTokens": 87,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:44.173Z",
      "completedAt": "2026-07-10T17:40:50.612Z",
      "answerBytes": 447,
      "answerChars": 447,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- body\nend\n```\nReason: Numeric `for` is generally faster in Garry's Mod Lua because the VM has a specialized counted-loop path, while `while` needs manual increment and extra condition work each iteration.",
      "durationMs": 12497,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 139,
        "totalTokens": 15038,
        "reasoningTokens": 63,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:44.224Z",
      "completedAt": "2026-07-10T17:40:56.723Z",
      "answerBytes": 233,
      "answerChars": 233,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal players = player.GetHumans()\nhook.Run(\"MyPerTickPlayers\", players)\n\nhook.Add(\"MyPerTickPlayers\", \"MyLogic\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- custom per-player logic here\n    end\nend)\n\n-- Slower pattern:\n-- for i = 1, #players do\n--     hook.Run(\"MyPerTickPlayer\", players[i])\n-- end\n```\nReason: Calling `hook.Run` once avoids repeated hook dispatch overhead, repeated vararg setup, and repeated listener lookup on every player each tick.",
      "durationMs": 13818,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14911,
        "completionTokens": 194,
        "totalTokens": 15105,
        "reasoningTokens": 37,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:44.232Z",
      "completedAt": "2026-07-10T17:40:58.051Z",
      "answerBytes": 504,
      "answerChars": 504,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealth\", function()\n    local ply = LocalPlayer()\n    local health = ply:Health()\n\n    draw.SimpleText(health, \"DermaLarge\", 32, 32, color_white)\n    draw.RoundedBox(4, 32, 72, health * 2, 20, Color(200, 50, 50))\n    draw.SimpleText(\"HP: \" .. health, \"Trebuchet24\", 32, 100, color_white)\nend)\n```\nReason: It computes `LocalPlayer()` and `Health()` once per frame, avoiding repeated client Lua calls in the same `HUDPaint` pass.",
      "durationMs": 14270,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 203,
        "totalTokens": 15109,
        "reasoningTokens": 34,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:44.404Z",
      "completedAt": "2026-07-10T17:40:58.675Z",
      "answerBytes": 460,
      "answerChars": 460,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FastPaintExample\", function()\n    for i = 1, 1000 do\n        surface.SetDrawColor(WHITE)\n        -- draw work here\n    end\nend)\n```\nReason: Cache the `Color` once outside the paint loop so the hot path reuses one object instead of allocating a new color every iteration.",
      "durationMs": 11815,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 14892,
        "completionTokens": 133,
        "totalTokens": 15025,
        "reasoningTokens": 20,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:44.640Z",
      "completedAt": "2026-07-10T17:40:56.456Z",
      "answerBytes": 335,
      "answerChars": 335,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 1000000 do\n    local y = sin(i)\n    -- hot loop work\nend\n```\nReason: Caching `math.sin` in a local avoids repeated table lookups on `math` inside the hot loop, which is slightly faster in Lua.",
      "durationMs": 12376,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 14894,
        "completionTokens": 110,
        "totalTokens": 15004,
        "reasoningTokens": 21,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:44.785Z",
      "completedAt": "2026-07-10T17:40:57.162Z",
      "answerBytes": 232,
      "answerChars": 232,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal LocalPlayer = LocalPlayer\n\nhook.Add(\"Think\", \"ExampleFastLocalPlayerUse\", function()\n    local ply = LocalPlayer()\n    if not IsValid(ply) then return end\n\n    local pos = ply:GetPos()\n    local vel = ply:GetVelocity()\n\n    -- use pos / vel / ply here\nend)\n```\nReason: Caching the global `LocalPlayer` function in a local and calling it once per scope avoids repeated global lookups and repeated player retrieval work.",
      "durationMs": 12387,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 149,
        "totalTokens": 15046,
        "reasoningTokens": 20,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:44.912Z",
      "completedAt": "2026-07-10T17:40:57.300Z",
      "answerBytes": 431,
      "answerChars": 431,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal FACE_DOT_THRESHOLD = -0.85 -- closer to -1 means more directly facing each other\n\nlocal function ArePlayersRoughlyLookingAtEachOther(plyA, plyB)\n    local aimA = plyA:GetAimVector()\n    local aimB = plyB:GetAimVector()\n\n    return aimA:Dot(aimB) <= FACE_DOT_THRESHOLD\nend\n```\nReason: A dot product is the cheap cosine check you want here; opposite aim directions produce values near `-1`, so this avoids expensive angle conversion and `math.acos`. ",
      "durationMs": 13186,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 14915,
        "completionTokens": 208,
        "totalTokens": 15123,
        "reasoningTokens": 65,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:45.380Z",
      "completedAt": "2026-07-10T17:40:58.570Z",
      "answerBytes": 461,
      "answerChars": 461,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function SomeHelper(ply)\n    -- helper body\nend\n\nSomeHelper(ply)\n```\nReason: `SomeHelper(ply)` is generally a bit faster for a helper you control because it avoids the method-style lookup/dispatch path of `ply:SomeHelper()` and keeps the helper as a direct local function call.",
      "durationMs": 12370,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 14907,
        "completionTokens": 152,
        "totalTokens": 15059,
        "reasoningTokens": 62,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:45.538Z",
      "completedAt": "2026-07-10T17:40:57.909Z",
      "answerBytes": 290,
      "answerChars": 290,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"hot path debug:\", someValue)\n```\nReason: `MsgN` avoids the extra formatting and vararg handling overhead of `print`, so it is the cheaper built-in choice for frequent debug console output in Garry's Mod Lua.",
      "durationMs": 12595,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 122,
        "totalTokens": 15022,
        "reasoningTokens": 49,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:45.697Z",
      "completedAt": "2026-07-10T17:40:58.294Z",
      "answerBytes": 220,
      "answerChars": 220,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #t do\n    local v = t[i]\n    -- use v\nend\n```\nReason: `numeric for` is typically fastest for a large sequential array because it avoids the extra iterator overhead of `pairs` and `ipairs` and does direct indexed access.",
      "durationMs": 12773,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 14904,
        "completionTokens": 129,
        "totalTokens": 15033,
        "reasoningTokens": 46,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:46.074Z",
      "completedAt": "2026-07-10T17:40:58.849Z",
      "answerBytes": 237,
      "answerChars": 237,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal function collectRichWantedNames(players, minMoney)\n    local out = {}\n    local n = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        if ply.wanted and ply.money >= minMoney then\n            n = n + 1\n            out[n] = ply:Nick()\n        end\n    end\n\n    return out\nend\n\n-- Faster than chaining fn.Filter + fn.Map because it does the same work in one pass.\nlocal names = collectRichWantedNames(player.GetAll(), 10000)\n```\nReason: A hand-written single-pass loop avoids fn’s extra closures, function-call overhead, and intermediate tables, so the same filter+map pipeline runs with less allocation and lower per-item cost.",
      "durationMs": 14487,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 14916,
        "completionTokens": 246,
        "totalTokens": 15162,
        "reasoningTokens": 59,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:46.103Z",
      "completedAt": "2026-07-10T17:41:00.591Z",
      "answerBytes": 658,
      "answerChars": 656,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\n\nlocal function refreshPlayerCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshPlayerCache\", refreshPlayerCache)\nhook.Add(\"PlayerDisconnected\", \"RefreshPlayerCache\", refreshPlayerCache)\nhook.Add(\"InitPostEntity\", \"RefreshPlayerCacheOnStartup\", refreshPlayerCache)\n\nhook.Add(\"Think\", \"UseCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- hot-path per-player work here\n        end\n    end\nend)\n```\nReason: `player.GetAll()` allocates/builds a fresh player array, so caching it and only rebuilding on join/leave removes per-tick table creation and iteration setup from the hot path.",
      "durationMs": 13797,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 14917,
        "completionTokens": 214,
        "totalTokens": 15131,
        "reasoningTokens": 12,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:46.191Z",
      "completedAt": "2026-07-10T17:40:59.998Z",
      "answerBytes": 740,
      "answerChars": 740,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal staminaByEntIndex = {}\n\nlocal function SetStamina(ply, value)\n    staminaByEntIndex[ply:EntIndex()] = value\nend\n\nlocal function GetStamina(ply)\n    return staminaByEntIndex[ply:EntIndex()]\nend\n\nhook.Add(\"EntityRemoved\", \"ClearStaminaCache\", function(ent)\n    if ent:IsPlayer() then\n        staminaByEntIndex[ent:EntIndex()] = nil\n    end\nend)\n```\nReason: A plain Lua side table keyed by `EntIndex()` avoids repeated userdata field/hash lookup on `ply`, so hot reads are cheaper and still O(1).",
      "durationMs": 14009,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 224,
        "totalTokens": 15124,
        "reasoningTokens": 61,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:46.378Z",
      "completedAt": "2026-07-10T17:41:00.388Z",
      "answerBytes": 506,
      "answerChars": 506,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = { \"alpha\", \"beta\", \"gamma\", \"delta\" }\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: Sequential number-indexed arrays are faster to iterate than string-keyed maps because they avoid hash lookup and use Lua's optimized array part with cache-friendly numeric access.",
      "durationMs": 14316,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 14903,
        "completionTokens": 120,
        "totalTokens": 15023,
        "reasoningTokens": 20,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:46.759Z",
      "completedAt": "2026-07-10T17:41:01.078Z",
      "answerBytes": 323,
      "answerChars": 323,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing raw `r, g, b, a` numbers avoids the extra `Color` object/table path, so it is the faster call style in a hot draw loop.",
      "durationMs": 11920,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 106,
        "totalTokens": 15012,
        "reasoningTokens": 30,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:47.135Z",
      "completedAt": "2026-07-10T17:40:59.057Z",
      "answerBytes": 187,
      "answerChars": 187,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal rows = sql.Query(\"SELECT money FROM players WHERE steamid = \" .. sql.SQLStr(steamID))\n```\nReason: Local SQLite via Garry's Mod's `sql` library is typically lower latency on a single server because it avoids network round trips and remote database overhead.",
      "durationMs": 11931,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 14924,
        "completionTokens": 123,
        "totalTokens": 15047,
        "reasoningTokens": 43,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:47.384Z",
      "completedAt": "2026-07-10T17:40:59.316Z",
      "answerBytes": 269,
      "answerChars": 269,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIdCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function GetSteamIDCached(ply)\n    local steamId = steamIdCache[ply]\n    if steamId ~= nil then\n        return steamId\n    end\n\n    steamId = ply:SteamID()\n    steamIdCache[ply] = steamId\n    return steamId\nend\n\nhook.Add(\"EntityRemoved\", \"ClearSteamIDCache\", function(ent)\n    steamIdCache[ent] = nil\nend)\n\n-- Hot path\nfor i = 1, #players do\n    local ply = players[i]\n    local steamId = GetSteamIDCached(ply)\n    -- use steamId\nend\n```\nReason: This avoids repeated Lua->engine method calls on the hot path by memoizing each player's SteamID once and reusing it until the player entity is gone.",
      "durationMs": 14086,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 253,
        "totalTokens": 15150,
        "reasoningTokens": 37,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:47.506Z",
      "completedAt": "2026-07-10T17:41:01.594Z",
      "answerBytes": 665,
      "answerChars": 665,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pieces = {}\nfor i = 1, 10000 do\n    pieces[i] = \"part_\" .. i\nend\n\n-- Slower: repeated string reallocation/copying\nlocal slow = \"\"\nfor i = 1, #pieces do\n    slow = slow .. pieces[i]\nend\n\n-- Faster: collect pieces, then join once\nlocal fastParts = {}\nfor i = 1, #pieces do\n    fastParts[i] = pieces[i]\nend\nlocal fast = table.concat(fastParts, \"\")\n```\nReason: `table.concat` is faster because it builds the final string in one pass instead of creating and copying a new string on every `..` iteration.",
      "durationMs": 13562,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 14896,
        "completionTokens": 209,
        "totalTokens": 15105,
        "reasoningTokens": 33,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:47.677Z",
      "completedAt": "2026-07-10T17:41:01.241Z",
      "answerBytes": 511,
      "answerChars": 511,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 255, 255, 255)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` avoids the extra Lua-side work inside `draw.RoundedBox(0, ...)` and is the cheaper direct path for plain, non-rounded rectangles.",
      "durationMs": 12319,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 140,
        "totalTokens": 15040,
        "reasoningTokens": 52,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:47.891Z",
      "completedAt": "2026-07-10T17:41:00.218Z",
      "answerBytes": 237,
      "answerChars": 237,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal font = \"BenchFont\"\nlocal text = \"FPS: 144\"\nlocal x, y = 32, 32\nlocal r, g, b, a = 255, 255, 255, 255\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(font)\n    surface.SetTextColor(r, g, b, a)\n    surface.SetTextPos(x, y)\n    surface.DrawText(text)\nend)\n```\nReason: `surface.SetFont` + `surface.SetTextPos` + `surface.DrawText` is the leanest common path for single-line text; `draw.DrawText` adds wrapping/alignment work, `draw.SimpleTextOutlined` draws multiple passes for the outline, and both wrapper APIs add avoidable per-frame overhead.",
      "durationMs": 15473,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 14901,
        "completionTokens": 273,
        "totalTokens": 15174,
        "reasoningTokens": 78,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:48.682Z",
      "completedAt": "2026-07-10T17:41:04.156Z",
      "answerBytes": 582,
      "answerChars": 582,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal len = #tbl\n```\nReason: `#` is the idiomatic and fastest way to get the length of a contiguous sequential array-like table in Garry's Mod Lua.",
      "durationMs": 10723,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 14891,
        "completionTokens": 56,
        "totalTokens": 14947,
        "reasoningTokens": 0,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:49.000Z",
      "completedAt": "2026-07-10T17:40:59.724Z",
      "answerBytes": 154,
      "answerChars": 154,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster in general when you can replace the table reference.\nt = {}\n```\nReason: `t = {}` is usually faster because it avoids clearing every existing element one by one; it just points `t` at a new table and leaves the old one for garbage collection, while `table.Empty(t)` does O(n) work.",
      "durationMs": 13206,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 14902,
        "completionTokens": 186,
        "totalTokens": 15088,
        "reasoningTokens": 96,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:49.841Z",
      "completedAt": "2026-07-10T17:41:03.049Z",
      "answerBytes": 297,
      "answerChars": 297,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    apple = true,\n    banana = true,\n    orange = true,\n}\n\nif allowed[value] then\n    print(\"value exists\")\nend\n```\nReason: `table.HasValue` scans the whole list linearly, while a set-style table lookup by key is constant-time on average and is much faster for repeated membership checks.",
      "durationMs": 12155,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 133,
        "totalTokens": 15033,
        "reasoningTokens": 33,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:50.613Z",
      "completedAt": "2026-07-10T17:41:02.770Z",
      "answerBytes": 313,
      "answerChars": 313,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for a small table with known fields\nlocal t = {\n    x = 1,\n    y = 2,\n    z = 3,\n}\n\n-- Slower\nlocal t2 = {}\nt2.x = 1\nt2.y = 2\nt2.z = 3\n```\nReason: Putting known fields directly in the table constructor is faster because it creates and fills the table in one step, avoiding separate field assignment operations.",
      "durationMs": 12228,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 156,
        "totalTokens": 15055,
        "reasoningTokens": 36,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:51.775Z",
      "completedAt": "2026-07-10T17:41:04.004Z",
      "answerBytes": 327,
      "answerChars": 327,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal value = list[math.random(#list)]\n```\nReason: For a sequential array, direct indexing with a random integer avoids `table.Random`'s extra generic-table work and is faster.",
      "durationMs": 11544,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 14895,
        "completionTokens": 104,
        "totalTokens": 14999,
        "reasoningTokens": 42,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:56.457Z",
      "completedAt": "2026-07-10T17:41:08.003Z",
      "answerBytes": 183,
      "answerChars": 183,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal x2 = x * x\n```\nReason: `x * x` is the direct arithmetic operation and avoids the extra overhead of generic power helpers like `math.pow` or `x ^ 2` in a hot loop.",
      "durationMs": 12225,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 14896,
        "completionTokens": 81,
        "totalTokens": 14977,
        "reasoningTokens": 13,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:56.724Z",
      "completedAt": "2026-07-10T17:41:08.951Z",
      "answerBytes": 175,
      "answerChars": 175,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- use ply\nend\n```\nReason: `player.Iterator()` iterates connected players directly without creating the temporary table that `player.GetAll()` returns.",
      "durationMs": 13038,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 179,
        "totalTokens": 15085,
        "reasoningTokens": 117,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:57.163Z",
      "completedAt": "2026-07-10T17:41:10.203Z",
      "answerBytes": 197,
      "answerChars": 197,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- use ent here\n    end\nend\n```\nReason: `ents.Iterator()` walks the entity list directly, so it avoids building a full table of all map entities first.",
      "durationMs": 22817,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 344,
        "totalTokens": 15243,
        "reasoningTokens": 264,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:57.301Z",
      "completedAt": "2026-07-10T17:41:20.119Z",
      "answerBytes": 241,
      "answerChars": 241,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Think callback\nend)\n```\nReason: `hook.Add` registers a function on Garry's Mod's `Think` hook, and `MyAddon.Think` is the unique identifier for that callback.",
      "durationMs": 14983,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 14903,
        "completionTokens": 140,
        "totalTokens": 15043,
        "reasoningTokens": 61,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:57.515Z",
      "completedAt": "2026-07-10T17:41:12.500Z",
      "answerBytes": 218,
      "answerChars": 218,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: `IsValid(ent)` is the standard Garry's Mod check that the reference exists and the entity has not been removed, so calling methods on it is safe.",
      "durationMs": 12944,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 164,
        "totalTokens": 15062,
        "reasoningTokens": 91,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:40:57.911Z",
      "completedAt": "2026-07-10T17:41:10.856Z",
      "answerBytes": 210,
      "answerChars": 210,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- handle the incoming message here\nend)\n```\nReason: `net.Receive` registers the callback that runs when the `MyAddon.Sync` net message arrives.",
      "durationMs": 12506,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 14889,
        "completionTokens": 128,
        "totalTokens": 15017,
        "reasoningTokens": 60,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:58.052Z",
      "completedAt": "2026-07-10T17:41:10.560Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- Slow in a hot path: allocates a new Angle every call.\n-- local ang = Angle()\n\nlocal scratchAng = Angle()\n\nlocal function HotPath()\n    scratchAng.p = 0\n    scratchAng.y = 0\n    scratchAng.r = 0\n\n    -- use scratchAng immediately here\n    -- do not keep or return it if later code needs a unique Angle\nend\n```\nReason: Reusing one preallocated `Angle` and resetting its fields avoids repeated allocation and garbage collection, which is faster than calling `Angle()` every time.",
      "durationMs": 20844,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 572,
        "totalTokens": 15469,
        "reasoningTokens": 429,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:58.295Z",
      "completedAt": "2026-07-10T17:41:19.141Z",
      "answerBytes": 486,
      "answerChars": 486,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal MYADDON_COLOR = Color(255, 200, 0)\n\nlocal color = MYADDON_COLOR\n```\nReason: A local variable is fastest to read in Garry's Mod Lua; nested table access like `myaddon.config.color` adds one or more table lookups, and globals are also slower than locals.",
      "durationMs": 14348,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 14902,
        "completionTokens": 236,
        "totalTokens": 15138,
        "reasoningTokens": 146,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:58.571Z",
      "completedAt": "2026-07-10T17:41:12.920Z",
      "answerBytes": 265,
      "answerChars": 265,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- Preferred over ply:GetNWString(\"job\")\nlocal jobName = team.GetName(ply:Team())\n\n-- Not preferred\nlocal oldJobName = ply:GetNWString(\"job\")\n```\nReason: DarkRP jobs are teams, so `team.GetName(ply:Team())` uses the canonical server-side source instead of a fragile raw networked string.",
      "durationMs": 20754,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 617,
        "totalTokens": 15515,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:58.676Z",
      "completedAt": "2026-07-10T17:41:19.432Z",
      "answerBytes": 294,
      "answerChars": 294,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif pos1:DistToSqr(pos2) <= (maxDistance * maxDistance) then\n    -- within range\nend\n```\nReason: `Vector:DistToSqr` avoids the square root that `Distance` does, so it is the preferred fast threshold check in Garry's Mod Lua.",
      "durationMs": 12838,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 166,
        "totalTokens": 15065,
        "reasoningTokens": 81,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:58.850Z",
      "completedAt": "2026-07-10T17:41:11.690Z",
      "answerBytes": 230,
      "answerChars": 230,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    -- do something with ent\nend\n```\nReason: `ents.Iterator()` is the Garry's Mod wiki-recommended way to visit every entity when available because it avoids creating the full table from `ents.GetAll()` and is more efficient.",
      "durationMs": 14200,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 14893,
        "completionTokens": 204,
        "totalTokens": 15097,
        "reasoningTokens": 124,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:59.058Z",
      "completedAt": "2026-07-10T17:41:13.259Z",
      "answerBytes": 265,
      "answerChars": 265,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pos = ply:GetPos()\nlocal radius = 512\nlocal extents = Vector(radius, radius, radius)\n\nfor _, ent in ipairs(ents.FindInBox(pos - extents, pos + extents)) do\n    if ent ~= ply then\n        -- handle nearby entity\n    end\nend\n```\nReason: `ents.FindInBox` is a common fast pick for cheap nearby-entity queries because the engine only does an axis-aligned bounds test, which is typically cheaper than sphere distance checks and avoids relying on PVS visibility semantics.",
      "durationMs": 17654,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 14916,
        "completionTokens": 424,
        "totalTokens": 15340,
        "reasoningTokens": 287,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:59.317Z",
      "completedAt": "2026-07-10T17:41:16.975Z",
      "answerBytes": 479,
      "answerChars": 479,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal player_GetAll = player.GetAll\n\nlocal function FindPlayersNear(pos, radius, out)\n    out = out or {}\n\n    local radiusSqr = radius * radius\n    local count = 0\n\n    for _, ply in ipairs(player_GetAll()) do\n        if pos:DistToSqr(ply:GetPos()) <= radiusSqr then\n            count = count + 1\n            out[count] = ply\n        end\n    end\n\n    for i = count + 1, #out do\n        out[i] = nil\n    end\n\n    return out\nend\n```\nReason: This only scans players and uses squared distance checks, so it avoids `ents.FindInSphere` walking all entities and avoids the extra player-filter pass.",
      "durationMs": 21154,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 14908,
        "completionTokens": 619,
        "totalTokens": 15527,
        "reasoningTokens": 434,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:59.727Z",
      "completedAt": "2026-07-10T17:41:20.889Z",
      "answerBytes": 599,
      "answerChars": 599,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- work\nend\n```\nReason: Numeric `for` is generally faster in Garry's Mod Lua because the VM handles the counter, limit, and step in a specialized loop path with less per-iteration overhead than a manual `while` counter update.",
      "durationMs": 12356,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 14903,
        "completionTokens": 159,
        "totalTokens": 15062,
        "reasoningTokens": 76,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:40:59.999Z",
      "completedAt": "2026-07-10T17:41:12.356Z",
      "answerBytes": 253,
      "answerChars": 253,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch, then loop inside the hook listener.\nlocal players = player.GetAll()\nhook.Run(\"MyTickAllPlayers\", players)\n\nhook.Add(\"MyTickAllPlayers\", \"MyCustomLogic\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- per-player logic here\n    end\nend)\n\n-- Slower: repeated hook dispatch per player.\nlocal players = player.GetAll()\nfor i = 1, #players do\n    hook.Run(\"MyTickPlayer\", players[i])\nend\n``` \nReason: Calling `hook.Run` once avoids repeated hook dispatch, lookup, and vararg/call overhead each tick; the per-player loop is cheaper when done inside one hook handler.",
      "durationMs": 14687,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14909,
        "completionTokens": 254,
        "totalTokens": 15163,
        "reasoningTokens": 66,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:00.219Z",
      "completedAt": "2026-07-10T17:41:14.907Z",
      "answerBytes": 636,
      "answerChars": 636,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"MyHealthHUD\", function()\n    local lp = LocalPlayer()\n    if not IsValid(lp) then return end\n\n    local health = lp:Health()\n\n    draw.SimpleText(health, \"Trebuchet24\", 32, 32, color_white)\n    draw.RoundedBox(0, 32, 64, health * 2, 20, Color(200, 60, 60))\n    draw.SimpleText(health .. \"%\", \"Trebuchet18\", 32, 90, Color(255, 200, 200))\nend)\n```\nReason: It does `LocalPlayer()` and `:Health()` once per frame, then reuses the cached value across all three draw calls instead of repeating the lookup 3 times.",
      "durationMs": 17043,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 420,
        "totalTokens": 15326,
        "reasoningTokens": 224,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:00.389Z",
      "completedAt": "2026-07-10T17:41:17.436Z",
      "answerBytes": 536,
      "answerChars": 536,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nfunction PANEL:Paint(w, h)\n    for i = 1, 1000 do\n        surface.SetDrawColor(WHITE)\n        surface.DrawRect(i, 0, 1, h)\n    end\nend\n```\nReason: `Color()` allocates a new table each iteration; caching one immutable color and reusing it avoids per-frame allocations and GC pressure.",
      "durationMs": 14167,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 14896,
        "completionTokens": 260,
        "totalTokens": 15156,
        "reasoningTokens": 144,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:00.592Z",
      "completedAt": "2026-07-10T17:41:14.760Z",
      "answerBytes": 326,
      "answerChars": 326,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 100000 do\n    local y = sin(i)\n    -- hot loop work\nend\n```\nReason: Caching `math.sin` in a local avoids repeated table lookups on `math` inside the hot loop.",
      "durationMs": 12334,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 14896,
        "completionTokens": 127,
        "totalTokens": 15023,
        "reasoningTokens": 46,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:01.078Z",
      "completedAt": "2026-07-10T17:41:13.414Z",
      "answerBytes": 198,
      "answerChars": 198,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal localPlayer = NULL\n\nlocal function GetLocalPlayerCached()\n    if not IsValid(localPlayer) then\n        localPlayer = LocalPlayer()\n    end\n\n    return localPlayer\nend\n\nhook.Add(\"Think\", \"Example_UseCachedLocalPlayer\", function()\n    local ply = GetLocalPlayerCached()\n    if not IsValid(ply) then return end\n\n    local pos = ply:GetPos()\n    local vel = ply:GetVelocity()\nend)\n```\nReason: Caching the entity in a local upvalue avoids repeated global `LocalPlayer()` lookups, while the validity check refreshes it safely when the client player entity is not ready or gets recreated.",
      "durationMs": 14556,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 14895,
        "completionTokens": 263,
        "totalTokens": 15158,
        "reasoningTokens": 95,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:01.243Z",
      "completedAt": "2026-07-10T17:41:15.802Z",
      "answerBytes": 594,
      "answerChars": 594,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal FACE_DOT = -0.85 -- lower means closer to directly facing each other (-1 = exact opposite)\n\nlocal function AreRoughlyLookingAtEachOther(plyA, plyB)\n    return plyA:GetAimVector():Dot(plyB:GetAimVector()) <= FACE_DOT\nend\n```\nReason: `GetAimVector()` gives normalized direction vectors, so a dot-product threshold is much cheaper than computing an angle with `math.acos`, and “looking at each other” means the two aim vectors are roughly opposite (dot near `-1`).",
      "durationMs": 18617,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 14911,
        "completionTokens": 476,
        "totalTokens": 15387,
        "reasoningTokens": 335,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:01.595Z",
      "completedAt": "2026-07-10T17:41:20.213Z",
      "answerBytes": 478,
      "answerChars": 474,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: `SomeHelper(ply)` is generally a bit faster for a helper you control, especially if `SomeHelper` is local, because `ply:SomeHelper()` implies a field lookup plus implicit `self` passing.",
      "durationMs": 16817,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 14903,
        "completionTokens": 383,
        "totalTokens": 15286,
        "reasoningTokens": 309,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:02.771Z",
      "completedAt": "2026-07-10T17:41:19.589Z",
      "answerBytes": 221,
      "answerChars": 221,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal MsgN = MsgN\n\nMsgN(\"[debug] hot path reached\")\n```\nReason: `MsgN` is a lighter console write than `print`, and caching it in a local avoids repeated global lookups in a hot path.",
      "durationMs": 14958,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 298,
        "totalTokens": 15198,
        "reasoningTokens": 225,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:03.049Z",
      "completedAt": "2026-07-10T17:41:18.009Z",
      "answerBytes": 190,
      "answerChars": 190,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sum = 0\nfor i = 1, #numbers do\n    sum = sum + numbers[i]\nend\n```\nReason: `numeric for` over `1 .. #numbers` is typically fastest for a large dense array in Garry's Mod Lua because it avoids the iterator overhead of `pairs` and `ipairs` and uses direct indexed access.",
      "durationMs": 13197,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 14904,
        "completionTokens": 205,
        "totalTokens": 15109,
        "reasoningTokens": 108,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:04.005Z",
      "completedAt": "2026-07-10T17:41:17.204Z",
      "answerBytes": 281,
      "answerChars": 281,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function filterMap(list, keep, project)\n    local out = {}\n    local n = 0\n\n    for i = 1, #list do\n        local v = list[i]\n        if keep(v) then\n            n = n + 1\n            out[n] = project(v)\n        end\n    end\n\n    return out\nend\n\n-- Equivalent to a fn-style filter -> map pipeline, but faster in GMod hot paths.\nlocal richCitizenNames = filterMap(player.GetAll(),\n    function(ply)\n        return IsValid(ply)\n            and ply:Alive()\n            and ply:Team() == TEAM_CITIZEN\n            and (ply:getDarkRPVar(\"money\") or 0) >= 10000\n    end,\n    function(ply)\n        return ply:Nick()\n    end\n)\n```\nReason: One indexed loop does the filter and map in a single pass, avoiding fn’s extra function-call overhead and intermediate tables.",
      "durationMs": 31525,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 14916,
        "completionTokens": 1206,
        "totalTokens": 16122,
        "reasoningTokens": 967,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:04.157Z",
      "completedAt": "2026-07-10T17:41:35.683Z",
      "answerBytes": 770,
      "answerChars": 768,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\nlocal cachedIndex = {}\n\nfor i = 1, #cachedPlayers do\n    cachedIndex[cachedPlayers[i]] = i\nend\n\nlocal function addCachedPlayer(ply)\n    if cachedIndex[ply] then return end\n\n    local i = #cachedPlayers + 1\n    cachedPlayers[i] = ply\n    cachedIndex[ply] = i\nend\n\nlocal function removeCachedPlayer(ply)\n    local i = cachedIndex[ply]\n    if not i then return end\n\n    local last = #cachedPlayers\n    local swapped = cachedPlayers[last]\n\n    cachedPlayers[i] = swapped\n    cachedPlayers[last] = nil\n    cachedIndex[ply] = nil\n\n    if swapped ~= ply then\n        cachedIndex[swapped] = i\n    end\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"MyPlayerCacheAdd\", addCachedPlayer)\nhook.Add(\"PlayerDisconnected\", \"MyPlayerCacheRemove\", removeCachedPlayer)\n\nhook.Add(\"Tick\", \"MyHotTick\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n\n        -- hot per-player work here\n        -- if IsValid(ply) then ... end\n    end\nend)\n```\nReason: This removes the `player.GetAll()` table rebuild from every tick and only updates the cached array on join/leave, cutting repeated allocation and per-tick traversal overhead on the hot path.",
      "durationMs": 25319,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 14919,
        "completionTokens": 863,
        "totalTokens": 15782,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:08.004Z",
      "completedAt": "2026-07-10T17:41:33.324Z",
      "answerBytes": 1189,
      "answerChars": 1189,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal someFieldByPlayer = {}\n\nlocal function SetSomeField(ply, value)\n    someFieldByPlayer[ply] = value\nend\n\nlocal function GetSomeField(ply)\n    return someFieldByPlayer[ply]\nend\n\nhook.Add(\"PlayerDisconnected\", \"ClearSomeFieldCache\", function(ply)\n    someFieldByPlayer[ply] = nil\nend)\n\n-- hot read path\nlocal value = someFieldByPlayer[ply]\nif value then\n    -- use value\nend\n```\nReason: A local side table keyed by `ply` is a plain Lua table lookup; `ply.someField` on Garry's Mod player/entity objects goes through a slower userdata/entity field access path.",
      "durationMs": 20805,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 592,
        "totalTokens": 15492,
        "reasoningTokens": 414,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:08.951Z",
      "completedAt": "2026-07-10T17:41:29.758Z",
      "answerBytes": 569,
      "answerChars": 569,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = {\n    \"alpha\",\n    \"beta\",\n    \"gamma\",\n    \"delta\",\n}\n\nfor i = 1, #values do\n    local v = values[i]\n    -- use v\nend\n```\nReason: Sequential number-indexed arrays are faster to iterate than string-keyed maps in Garry's Mod Lua because they use the table's array part and avoid per-entry hash lookups.",
      "durationMs": 20820,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 14901,
        "completionTokens": 359,
        "totalTokens": 15260,
        "reasoningTokens": 246,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:10.204Z",
      "completedAt": "2026-07-10T17:41:31.025Z",
      "answerBytes": 323,
      "answerChars": 323,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 120, 40, 255)\n```\nReason: Passing raw numbers is faster on a hot draw path because it avoids Color table/object handling and the extra type/field work that comes with the Color overload.",
      "durationMs": 14659,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 263,
        "totalTokens": 15169,
        "reasoningTokens": 191,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:10.561Z",
      "completedAt": "2026-07-10T17:41:25.221Z",
      "answerBytes": 219,
      "answerChars": 219,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamId = SQLStr(ply:SteamID())\nlocal row = sql.QueryRow(\"SELECT money FROM players WHERE steamid = \" .. steamId)\n```\nReason: Local SQLite via Garry's Mod `sql` is typically lower latency on a single server because it avoids network round trips and remote database overhead.",
      "durationMs": 13879,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 14922,
        "completionTokens": 225,
        "totalTokens": 15147,
        "reasoningTokens": 137,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:10.857Z",
      "completedAt": "2026-07-10T17:41:24.737Z",
      "answerBytes": 287,
      "answerChars": 287,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIdCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function GetCachedSteamID(ply)\n    local sid = steamIdCache[ply]\n    if sid ~= nil then\n        return sid\n    end\n\n    sid = ply:SteamID()\n    steamIdCache[ply] = sid\n    return sid\nend\n\n-- Hot path\nlocal function DoWork(players)\n    for i = 1, #players do\n        local ply = players[i]\n        local sid = GetCachedSteamID(ply)\n\n        -- use sid multiple times here without calling ply:SteamID() again\n        SomeLookup(sid)\n        SomeOtherLookup(sid)\n    end\nend\n```\nReason: It turns repeated method calls into one lookup per player, and the weak-key cache avoids keeping disconnected player objects alive.",
      "durationMs": 18699,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 14895,
        "completionTokens": 437,
        "totalTokens": 15332,
        "reasoningTokens": 229,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:11.691Z",
      "completedAt": "2026-07-10T17:41:30.391Z",
      "answerBytes": 685,
      "answerChars": 685,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal parts = {}\n\nfor i = 1, 10000 do\n    parts[i] = \"piece\" .. i\nend\n\nlocal big = table.concat(parts)\n```\nReason: `table.concat` builds the final string in one pass, avoiding the repeated reallocations and copying caused by `big = big .. piece` in a large loop.",
      "durationMs": 13956,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 178,
        "totalTokens": 15076,
        "reasoningTokens": 82,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:12.357Z",
      "completedAt": "2026-07-10T17:41:26.314Z",
      "answerBytes": 269,
      "answerChars": 269,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `draw.RoundedBox(0, ...)` adds wrapper overhead, while `surface.DrawRect` is the direct plain-rectangle draw path for non-rounded boxes.",
      "durationMs": 13960,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 14902,
        "completionTokens": 168,
        "totalTokens": 15070,
        "reasoningTokens": 86,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:12.501Z",
      "completedAt": "2026-07-10T17:41:26.462Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal FONT = \"Trebuchet24\"\nlocal TEXT = \"FPS: 144\"\nlocal X, Y = 24, 24\nlocal R, G, B, A = 255, 255, 255, 255\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(FONT)\n    surface.SetTextColor(R, G, B, A)\n    surface.SetTextPos(X, Y)\n    surface.DrawText(TEXT)\nend)\n```\nReason: `surface.SetFont` + `surface.SetTextPos` + `surface.DrawText` is the lean single-line path; `draw.DrawText` adds wrapper/alignment/multiline work, and `draw.SimpleTextOutlined` is slower still because it draws the text multiple times for the outline.",
      "durationMs": 22586,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 710,
        "totalTokens": 15607,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:12.921Z",
      "completedAt": "2026-07-10T17:41:35.509Z",
      "answerBytes": 557,
      "answerChars": 557,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal len = #myArray\n```\nReason: `#` is the preferred way to get the length of a sequential array-like table; it is simpler and avoids the extra work of counting all keys.",
      "durationMs": 13339,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 14889,
        "completionTokens": 200,
        "totalTokens": 15089,
        "reasoningTokens": 138,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:13.260Z",
      "completedAt": "2026-07-10T17:41:26.601Z",
      "answerBytes": 178,
      "answerChars": 178,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: `t = {}` is generally faster for large sequential tables because it replaces the reference in O(1) instead of walking and niling every element like `table.Empty(t)`; use `table.Empty(t)` only when other code must keep the same table object.",
      "durationMs": 14334,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 255,
        "totalTokens": 15155,
        "reasoningTokens": 173,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:13.415Z",
      "completedAt": "2026-07-10T17:41:27.750Z",
      "answerBytes": 266,
      "answerChars": 266,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    foo = true,\n    bar = true,\n    baz = true,\n}\n\nif allowed[value] then\n    -- value exists in the set\nend\n```\nReason: `table.HasValue` scans a list linearly, while keyed lookup in a set-style table is constant-time on average.",
      "durationMs": 13335,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 14902,
        "completionTokens": 230,
        "totalTokens": 15132,
        "reasoningTokens": 139,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:14.761Z",
      "completedAt": "2026-07-10T17:41:28.098Z",
      "answerBytes": 254,
      "answerChars": 254,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster\nlocal t = {\n    x = 1,\n    y = 2,\n    z = 3,\n}\n\n-- Slower\nlocal t2 = {}\nt2.x = 1\nt2.y = 2\nt2.z = 3\n```\nReason: For a small table with known fields, the table constructor is faster because Lua can allocate and fill the table in one construction path instead of creating `{}` first and then doing separate field assignments.",
      "durationMs": 17124,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 296,
        "totalTokens": 15195,
        "reasoningTokens": 172,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:14.908Z",
      "completedAt": "2026-07-10T17:41:32.033Z",
      "answerBytes": 339,
      "answerChars": 339,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = { \"a\", \"b\", \"c\", \"d\" }\nlocal value = t[math.random(#t)]\n```\nReason: For a sequential array, direct index lookup with `math.random(#t)` avoids `table.Random`'s extra generic-table handling and is faster.",
      "durationMs": 12629,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 14895,
        "completionTokens": 162,
        "totalTokens": 15057,
        "reasoningTokens": 78,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:15.803Z",
      "completedAt": "2026-07-10T17:41:28.433Z",
      "answerBytes": 219,
      "answerChars": 219,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal y = x * x\n```\nReason: `x * x` avoids exponentiation overhead and is the usual fastest form in tight Lua loops.",
      "durationMs": 12270,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 14892,
        "completionTokens": 113,
        "totalTokens": 15005,
        "reasoningTokens": 62,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:16.976Z",
      "completedAt": "2026-07-10T17:41:29.247Z",
      "answerBytes": 123,
      "answerChars": 123,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- use ply here\nend\n```\nReason: `player.Iterator()` visits connected players directly without creating the temporary table that `player.GetAll()` returns.",
      "durationMs": 18160,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 14904,
        "completionTokens": 485,
        "totalTokens": 15389,
        "reasoningTokens": 423,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:17.205Z",
      "completedAt": "2026-07-10T17:41:35.366Z",
      "answerBytes": 200,
      "answerChars": 200,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- use ent here\n    end\nend\n```\nReason: `ents.Iterator()` walks entities lazily, so it avoids allocating a full table of every entity like `ents.GetAll()` would.",
      "durationMs": 31828,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 527,
        "totalTokens": 15426,
        "reasoningTokens": 442,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:17.436Z",
      "completedAt": "2026-07-10T17:41:49.266Z",
      "answerBytes": 254,
      "answerChars": 254,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- per-frame logic here\nend)\n```\nReason: `hook.Add` registers a callback on Garry's Mod's `Think` hook, and `MyAddon.Think` is the unique identifier for that registration.",
      "durationMs": 13566,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 14903,
        "completionTokens": 194,
        "totalTokens": 15097,
        "reasoningTokens": 113,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:18.009Z",
      "completedAt": "2026-07-10T17:41:31.577Z",
      "answerBytes": 228,
      "answerChars": 228,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif not IsValid(ent) then return end\nent:SomeMethod()\n```\nReason: `IsValid(ent)` filters out `nil`, `NULL`, and deleted/invalid entities before you call methods on them.",
      "durationMs": 15067,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 14902,
        "completionTokens": 286,
        "totalTokens": 15188,
        "reasoningTokens": 221,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:19.142Z",
      "completedAt": "2026-07-10T17:41:34.210Z",
      "answerBytes": 175,
      "answerChars": 175,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the incoming message here.\nend)\n```\nReason: `net.Receive` is the Garry's Mod API for registering a callback that runs when the `MyAddon.Sync` net message arrives.",
      "durationMs": 18124,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 14893,
        "completionTokens": 457,
        "totalTokens": 15350,
        "reasoningTokens": 380,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:19.433Z",
      "completedAt": "2026-07-10T17:41:37.559Z",
      "answerBytes": 230,
      "answerChars": 230,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal scratchAng = Angle(0, 0, 0)\n\nlocal function getZeroedAngle()\n    scratchAng:SetUnpacked(0, 0, 0)\n    return scratchAng\nend\n\n-- slower in a hot path:\n-- local ang = Angle(0, 0, 0)\n```\nReason: Reusing one `Angle` and resetting its components avoids repeated allocation and constructor overhead, which is faster in hot code.",
      "durationMs": 21190,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 14901,
        "completionTokens": 635,
        "totalTokens": 15536,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:19.590Z",
      "completedAt": "2026-07-10T17:41:40.782Z",
      "answerBytes": 334,
      "answerChars": 334,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal addonColor = myaddon.config.color\nlocal color = addonColor\n```\nReason: A local is fastest because it avoids repeated table/environment lookups; `myaddon.config.color` does multiple indexed lookups on every read.",
      "durationMs": 21634,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 14904,
        "completionTokens": 583,
        "totalTokens": 15487,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:20.120Z",
      "completedAt": "2026-07-10T17:41:41.756Z",
      "answerBytes": 224,
      "answerChars": 224,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Avoid: ply:GetNWString(\"job\")\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: `getDarkRPVar(\"job\")` is DarkRP's supported accessor for the job value, so it avoids relying on a hardcoded raw NWString key.",
      "durationMs": 43914,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 1908,
        "totalTokens": 16806,
        "reasoningTokens": 1825,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:20.214Z",
      "completedAt": "2026-07-10T17:42:04.130Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal maxDist = 200\nif pos1:DistToSqr(pos2) <= (maxDist * maxDist) then\n    -- within range\nend\n```\nReason: `Vector:DistToSqr` avoids the square root from `Distance`, so it is faster for threshold-only comparisons.",
      "durationMs": 12573,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 14901,
        "completionTokens": 187,
        "totalTokens": 15088,
        "reasoningTokens": 103,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:20.889Z",
      "completedAt": "2026-07-10T17:41:33.465Z",
      "answerBytes": 221,
      "answerChars": 221,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 1 through 1 candidate loops.",
      "finalResponse": "```lua\nif ents.Iterator then\n    for _, ent in ents.Iterator() do\n        -- visit every entity here\n    end\nelse\n    for _, ent in ipairs(ents.GetAll()) do\n        -- fallback for environments without the iterator\n    end\nend\n```\nReason: `ents.Iterator()` avoids building a full entity table and is the efficient wiki-recommended choice for simple iteration, while `ents.GetAll()` is a safe fallback when that iterator is unavailable.",
      "durationMs": 15873,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 632,
        "totalTokens": 15531,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:24.738Z",
      "completedAt": "2026-07-10T17:41:40.612Z",
      "answerBytes": 435,
      "answerChars": 435,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal radius = 512\nlocal nearby = ents.FindInSphere(ply:GetPos(), radius)\n```\nReason: `ents.FindInSphere` is a common fast built-in for nearby-entity queries, matches the \"near a player\" shape directly, and avoids using `FindInPVS` as the default choice.",
      "durationMs": 14241,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 14918,
        "completionTokens": 603,
        "totalTokens": 15521,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:25.222Z",
      "completedAt": "2026-07-10T17:41:39.464Z",
      "answerBytes": 261,
      "answerChars": 261,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersNear(pos, radius, out)\n    out = out or {}\n\n    local count = 0\n    local radiusSqr = radius * radius\n    local players = player.GetAll()\n\n    for i = 1, #players do\n        local ply = players[i]\n        if pos:DistToSqr(ply:GetPos()) <= radiusSqr then\n            count = count + 1\n            out[count] = ply\n        end\n    end\n\n    for i = count + 1, #out do\n        out[i] = nil\n    end\n\n    return out\nend\n\n-- usage\nlocal nearbyPlayers = FindPlayersNear(targetPos, 512)\n```\nReason: It scans only players and uses squared distance, so it avoids `ents.FindInSphere` doing a broader entity query plus per-entity player filtering.",
      "durationMs": 25187,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 14908,
        "completionTokens": 1236,
        "totalTokens": 16144,
        "reasoningTokens": 1027,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:26.315Z",
      "completedAt": "2026-07-10T17:41:51.503Z",
      "answerBytes": 667,
      "answerChars": 667,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- hot loop body\nend\n```\nReason: `for` is generally faster for 1..n counting in Garry's Mod Lua because numeric `for` loops use a specialized VM loop path with less per-iteration overhead than a manual `while` counter update/check.",
      "durationMs": 6663,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 14903,
        "completionTokens": 238,
        "totalTokens": 15141,
        "reasoningTokens": 151,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:26.463Z",
      "completedAt": "2026-07-10T17:41:33.127Z",
      "answerBytes": 258,
      "answerChars": 258,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Faster: dispatch one hook per tick with the full player list.\nhook.Add(\"Tick\", \"NotifyAllPlayersFast\", function()\n    hook.Run(\"MyPlayersTick\", player.GetAll())\nend)\n\nhook.Add(\"MyPlayersTick\", \"CustomLogic\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- per-player logic here\n    end\nend)\n\n-- Slower: dispatching the hook once per player every tick.\nhook.Add(\"Tick\", \"NotifyAllPlayersSlow\", function()\n    local players = player.GetAll()\n    for i = 1, #players do\n        hook.Run(\"MyPlayerTick\", players[i])\n    end\nend)\n```\nReason: Calling `hook.Run` once avoids paying hook dispatch, lookup, and function-call overhead for every player each tick.",
      "durationMs": 15343,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14913,
        "completionTokens": 726,
        "totalTokens": 15639,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:26.602Z",
      "completedAt": "2026-07-10T17:41:41.947Z",
      "answerBytes": 701,
      "answerChars": 701,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"MyHealthHUD\", function()\n    local hp = LocalPlayer():Health()\n\n    draw.SimpleText(hp, \"DermaLarge\", 32, 32, color_white)\n    draw.RoundedBox(4, 32, 72, hp * 2, 20, Color(200, 60, 60))\n    draw.SimpleText(\"HP: \" .. hp, \"DermaDefault\", 32, 98, color_white)\nend)\n```\nReason: It caches `LocalPlayer():Health()` once per frame, avoiding three repeated Lua-to-engine calls inside `HUDPaint`.",
      "durationMs": 13345,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 626,
        "totalTokens": 15532,
        "reasoningTokens": 467,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:27.751Z",
      "completedAt": "2026-07-10T17:41:41.098Z",
      "answerBytes": 416,
      "answerChars": 416,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nfunction PANEL:Paint(w, h)\n    surface.SetDrawColor(WHITE)\n\n    for i = 1, self.BarCount do\n        surface.DrawRect(0, (i - 1) * 2, w, 1)\n    end\nend\n```\nReason: `Color(255,255,255)` allocates work every iteration; caching the `Color` once and reusing it removes repeated allocation and setup from the hot paint path.",
      "durationMs": 14364,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 650,
        "totalTokens": 15548,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:28.099Z",
      "completedAt": "2026-07-10T17:41:42.464Z",
      "answerBytes": 361,
      "answerChars": 361,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 1000000 do\n    local y = sin(i)\n    -- hot loop work\nend\n```\nReason: Caching `math.sin` in a local avoids repeated table/global lookup inside the hot loop, which is slightly faster in Lua.",
      "durationMs": 5333,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 187,
        "totalTokens": 15085,
        "reasoningTokens": 102,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:28.434Z",
      "completedAt": "2026-07-10T17:41:33.768Z",
      "answerBytes": 228,
      "answerChars": 228,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal _LocalPlayer = LocalPlayer\nlocal lp\n\nlocal function LP()\n    if not IsValid(lp) then\n        lp = _LocalPlayer()\n    end\n    return lp\nend\n\nhook.Add(\"Think\", \"ExampleUse\", function()\n    local ply = LP()\n    if not IsValid(ply) then return end\n\n    local hp = ply:Health()\n    local armor = ply:Armor()\n    local pos = ply:GetPos()\n\n    -- use ply repeatedly here instead of calling LocalPlayer() each time\nend)\n```\nReason: It caches both the global function lookup and the player entity, so repeated code uses a local upvalue instead of redoing a global lookup and function call every time.",
      "durationMs": 16073,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 695,
        "totalTokens": 15594,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:29.248Z",
      "completedAt": "2026-07-10T17:41:45.323Z",
      "answerBytes": 604,
      "answerChars": 604,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal FACE_EACH_OTHER_DOT = -0.85 -- ~= 148 degrees apart; closer to -1 means more directly facing each other\n\nlocal function AreRoughlyLookingAtEachOther(plyA, plyB)\n    return plyA:GetAimVector():Dot(plyB:GetAimVector()) <= FACE_EACH_OTHER_DOT\nend\n```\nReason: `GetAimVector()` returns normalized vectors, so a single dot-product compare is enough; it avoids `math.acos`, extra angle conversion, and is the cheap way to test whether their aim directions are roughly opposite.",
      "durationMs": 13995,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 14917,
        "completionTokens": 659,
        "totalTokens": 15576,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:29.759Z",
      "completedAt": "2026-07-10T17:41:43.755Z",
      "answerBytes": 483,
      "answerChars": 483,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function SomeHelper(ply)\n    -- helper body\nend\n\nSomeHelper(ply)\n```\nReason: `SomeHelper(ply)` is generally faster for helpers you control because a direct local function call avoids the table/metatable method lookup behind `ply:SomeHelper()`. ",
      "durationMs": 11119,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 14907,
        "completionTokens": 445,
        "totalTokens": 15352,
        "reasoningTokens": 365,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:30.392Z",
      "completedAt": "2026-07-10T17:41:41.512Z",
      "answerBytes": 257,
      "answerChars": 257,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"[debug] hot path hit\")\n```\nReason: `MsgN` is typically faster than `print` in Garry's Mod because it writes directly to the console with less argument-formatting overhead and already includes the newline.",
      "durationMs": 8786,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 333,
        "totalTokens": 15231,
        "reasoningTokens": 262,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:31.026Z",
      "completedAt": "2026-07-10T17:41:39.814Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #nums do\n    local v = nums[i]\n    -- use v\nend\n```\nReason: `numeric for` is typically fastest for a large dense array because it avoids the iterator overhead of `ipairs` and the hash-style traversal of `pairs`, while doing direct indexed access.",
      "durationMs": 10619,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 476,
        "totalTokens": 15382,
        "reasoningTokens": 389,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:31.577Z",
      "completedAt": "2026-07-10T17:41:42.198Z",
      "answerBytes": 264,
      "answerChars": 264,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal IsValid = IsValid\n\n-- Same work as a small filter/map pipeline:\n-- keep alive players with enough money, then collect their names.\nlocal function getRichAlivePlayerNames(players, minMoney)\n    local out = {}\n    local n = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        if IsValid(ply) and ply:Alive() then\n            local money = ply:getDarkRPVar(\"money\") or 0\n            if money >= minMoney then\n                n = n + 1\n                out[n] = ply:Nick()\n            end\n        end\n    end\n\n    return out\nend\n\nlocal names = getRichAlivePlayerNames(player.GetAll(), 10000)\n```\nReason: one tight numeric loop fuses filter and map into a single pass, avoids fn combinator closure/call overhead, and avoids intermediate tables.",
      "durationMs": 49147,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 14916,
        "completionTokens": 2488,
        "totalTokens": 17404,
        "reasoningTokens": 2267,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:32.034Z",
      "completedAt": "2026-07-10T17:42:21.183Z",
      "answerBytes": 768,
      "answerChars": 768,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"MyAddon_PlayerCacheAdd\", function(ply)\n    cachedPlayers[#cachedPlayers + 1] = ply\nend)\n\nhook.Add(\"PlayerDisconnected\", \"MyAddon_PlayerCacheRemove\", function(ply)\n    for i = 1, #cachedPlayers do\n        if cachedPlayers[i] == ply then\n            cachedPlayers[i] = cachedPlayers[#cachedPlayers]\n            cachedPlayers[#cachedPlayers] = nil\n            break\n        end\n    end\nend)\n\nhook.Add(\"Tick\", \"MyAddon_FastPlayerLoop\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        -- per-player tick work here\n    end\nend)\n```\nReason: This removes the per-tick `player.GetAll()` allocation and traversal, so the hot path only iterates a stable cached array and updates it when players join or leave.",
      "durationMs": 45917,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 14915,
        "completionTokens": 2444,
        "totalTokens": 17359,
        "reasoningTokens": 2212,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:33.128Z",
      "completedAt": "2026-07-10T17:42:19.046Z",
      "answerBytes": 817,
      "answerChars": 817,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal tempByPly = {}\n\nlocal function SetTempValue(ply, value)\n    tempByPly[ply] = value\nend\n\nlocal function GetTempValue(ply)\n    return tempByPly[ply]\nend\n\nhook.Add(\"PlayerDisconnected\", \"ClearTempValue\", function(ply)\n    tempByPly[ply] = nil\nend)\n```\nReason: A plain Lua side table keyed by `ply` avoids the player userdata/metatable field lookup path of `ply.someField`, so repeated reads are typically faster.",
      "durationMs": 13995,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 658,
        "totalTokens": 15558,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:33.325Z",
      "completedAt": "2026-07-10T17:41:47.321Z",
      "answerBytes": 422,
      "answerChars": 422,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = {\n    \"crowbar\",\n    \"pistol\",\n    \"smg1\",\n    \"shotgun\",\n}\n\nfor i = 1, #values do\n    local value = values[i]\n    -- use value\nend\n```\nReason: Sequential number-indexed arrays iterate faster because Lua stores them in the table's array part, so a numeric `for` loop avoids the hash lookup and `pairs` overhead of string-keyed maps.",
      "durationMs": 12021,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 14905,
        "completionTokens": 532,
        "totalTokens": 15437,
        "reasoningTokens": 410,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:33.465Z",
      "completedAt": "2026-07-10T17:41:45.488Z",
      "answerBytes": 354,
      "answerChars": 354,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 128, 64, 255)\n```\nReason: Passing raw numbers avoids `Color` table construction and field lookups, so it is the lower-overhead call style in a hot draw path.",
      "durationMs": 9472,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 14906,
        "completionTokens": 389,
        "totalTokens": 15295,
        "reasoningTokens": 319,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:33.769Z",
      "completedAt": "2026-07-10T17:41:43.242Z",
      "answerBytes": 190,
      "answerChars": 190,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal coins = sql.QueryValue(\"SELECT coins FROM player_data WHERE steamid64 = \" .. sql.SQLStr(ply:SteamID64()))\n```\nReason: Local SQLite via Garry's Mod's `sql` library is typically lower latency on a single server because it avoids remote network round trips and query transport overhead.",
      "durationMs": 12995,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 14926,
        "completionTokens": 587,
        "totalTokens": 15513,
        "reasoningTokens": 500,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:34.211Z",
      "completedAt": "2026-07-10T17:41:47.207Z",
      "answerBytes": 296,
      "answerChars": 296,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function SteamIDCached(ply)\n    local sid = steamIDCache[ply]\n    if sid ~= nil then\n        return sid\n    end\n\n    sid = ply:SteamID()\n    steamIDCache[ply] = sid\n    return sid\nend\n\nhook.Add(\"PlayerDisconnected\", \"ClearSteamIDCache\", function(ply)\n    steamIDCache[ply] = nil\nend)\n\n-- hot path\nfor i = 1, #players do\n    local ply = players[i]\n    local sid = SteamIDCached(ply)\n\n    if sid == \"STEAM_0:1:12345\" then\n        -- fast repeated use of sid here\n    end\nend\n```\nReason: `SteamID()` is stable per connected player, so caching replaces repeated method calls on the hot path with a single call plus cheap Lua table reads; weak keys keep the cache from growing forever.",
      "durationMs": 26541,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 756,
        "totalTokens": 15655,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:35.366Z",
      "completedAt": "2026-07-10T17:42:01.908Z",
      "answerBytes": 750,
      "answerChars": 750,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slow:\n-- local s = \"\"\n-- for i = 1, 10000 do\n--     s = s .. getPiece(i)\n-- end\n\n-- Fast:\nlocal parts = {}\nfor i = 1, 10000 do\n    parts[i] = getPiece(i)\nend\n\nlocal s = table.concat(parts)\n```\nReason: Repeated `..` builds a new string on every loop and recopies old content, while `table.concat` joins all pieces once with far less allocation and copying.",
      "durationMs": 13305,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 571,
        "totalTokens": 15469,
        "reasoningTokens": 434,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:35.509Z",
      "completedAt": "2026-07-10T17:41:48.816Z",
      "answerBytes": 365,
      "answerChars": 365,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(col.r, col.g, col.b, col.a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` is the direct non-rounded rectangle path, so it avoids `draw.RoundedBox(0, ...)` wrapper overhead and extra corner logic.",
      "durationMs": 12008,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 14902,
        "completionTokens": 536,
        "totalTokens": 15438,
        "reasoningTokens": 450,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:35.684Z",
      "completedAt": "2026-07-10T17:41:47.693Z",
      "answerBytes": 237,
      "answerChars": 237,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal text = \"Hello\"\nlocal font = \"Trebuchet24\"\nlocal col = Color(255, 255, 255)\nlocal x, y = 32, 32\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(font)\n    surface.SetTextColor(col)\n    surface.SetTextPos(x, y)\n    surface.DrawText(text)\nend)\n```\nReason: `surface.SetFont` + `surface.SetTextPos` + `surface.DrawText` is the lower-overhead path for single-line text; `draw.DrawText` does extra wrapper work for formatting/alignment and `draw.SimpleTextOutlined` is slower because it draws the text multiple times for the outline.",
      "durationMs": 14914,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 14903,
        "completionTokens": 695,
        "totalTokens": 15598,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:37.559Z",
      "completedAt": "2026-07-10T17:41:52.475Z",
      "answerBytes": 565,
      "answerChars": 565,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal len = #myTable\n```\nReason: For a contiguous 1-based array-like table, `#` is the idiomatic and preferred way to get its length; `table.Count` is for general keyed tables and has to iterate.",
      "durationMs": 7129,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 14895,
        "completionTokens": 274,
        "totalTokens": 15169,
        "reasoningTokens": 204,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:39.464Z",
      "completedAt": "2026-07-10T17:41:46.595Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster when you do not need to preserve existing references.\nt = {}\n```\nReason: `t = {}` is generally faster for large sequential tables because it only rebinds the variable, while `table.Empty(t)` must iterate the existing table and clear entries in place; use `table.Empty(t)` only if the same table reference must stay valid.",
      "durationMs": 13057,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 14898,
        "completionTokens": 560,
        "totalTokens": 15458,
        "reasoningTokens": 466,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:39.817Z",
      "completedAt": "2026-07-10T17:41:52.875Z",
      "answerBytes": 338,
      "answerChars": 338,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal allowedWeapons = {\n    pistol = true,\n    shotgun = true,\n    crowbar = true,\n}\n\n-- Faster than table.HasValue({\"pistol\", \"shotgun\", \"crowbar\"}, weaponClass)\nif allowedWeapons[weaponClass] then\n    -- value exists\nend\n```\nReason: `table.HasValue` scans the whole list linearly, while a set-style table does a direct key lookup with average O(1) membership checks.",
      "durationMs": 13654,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 14900,
        "completionTokens": 639,
        "totalTokens": 15539,
        "reasoningTokens": 516,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:40.613Z",
      "completedAt": "2026-07-10T17:41:54.269Z",
      "answerBytes": 376,
      "answerChars": 376,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster for a small table with known fields:\nlocal t = {\n    a = 1,\n    b = 2,\n    c = 3,\n}\n\n-- Slower:\n-- local t = {}\n-- t.a = 1\n-- t.b = 2\n-- t.c = 3\n```\nReason: Putting known fields in the table constructor is faster because Lua can allocate and initialize the table in one step instead of doing separate field stores after creating `{}`.",
      "durationMs": 11036,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 14899,
        "completionTokens": 469,
        "totalTokens": 15368,
        "reasoningTokens": 342,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:40.783Z",
      "completedAt": "2026-07-10T17:41:51.820Z",
      "answerBytes": 351,
      "answerChars": 351,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal function randomSequential(t)\n    local n = #t\n    if n == 0 then return nil end\n    return t[math.random(n)]\nend\n```\nReason: For a sequential table, direct array indexing with `t[math.random(#t)]` is O(1) and avoids the generic key handling overhead in `table.Random`. ",
      "durationMs": 9789,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 14897,
        "completionTokens": 420,
        "totalTokens": 15317,
        "reasoningTokens": 324,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:41.099Z",
      "completedAt": "2026-07-10T17:41:50.889Z",
      "answerBytes": 282,
      "answerChars": 282,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal x2 = x * x\n```\nReason: `x * x` is the preferred fast form in a tight loop because plain multiplication is cheaper than exponentiation like `x ^ 2`. ",
      "durationMs": 5984,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 14892,
        "completionTokens": 197,
        "totalTokens": 15089,
        "reasoningTokens": 136,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:41.522Z",
      "completedAt": "2026-07-10T17:41:47.508Z",
      "answerBytes": 161,
      "answerChars": 161,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses player.Iterator() (wiki-recommended Lua-cached iterator).",
      "finalResponse": "```lua\nfor _, ply in player.Iterator() do\n    -- use ply here\nend\n```\nReason: `player.Iterator()` visits connected players directly without creating the intermediate table that `player.GetAll()` returns.",
      "durationMs": 11214,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 14908,
        "completionTokens": 470,
        "totalTokens": 15378,
        "reasoningTokens": 408,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:41:41.756Z",
      "completedAt": "2026-07-10T17:41:52.972Z",
      "answerBytes": 203,
      "answerChars": 203,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ipairs(ents.FindByClass(\"prop_physics\")) do\n    -- visit ent here\nend\n```\nReason: `ents.FindByClass` already returns only entities of that class, so this loops them directly without building a full entity list first.",
      "durationMs": 3217,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 85,
        "totalTokens": 14632,
        "reasoningTokens": 8,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:41.948Z",
      "completedAt": "2026-07-10T17:41:45.167Z",
      "answerBytes": 237,
      "answerChars": 237,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: This registers a function on Garry's Mod's `Think` hook under the identifier `MyAddon.Think`.",
      "durationMs": 3062,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 14555,
        "completionTokens": 73,
        "totalTokens": 14628,
        "reasoningTokens": 8,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:42.198Z",
      "completedAt": "2026-07-10T17:41:45.262Z",
      "answerBytes": 163,
      "answerChars": 163,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    -- safe to call methods on ent\nend\n```\nReason: `IsValid` is the standard Garry's Mod check for an entity reference that still exists and can be used safely.",
      "durationMs": 3177,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 75,
        "totalTokens": 14623,
        "reasoningTokens": 8,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:42.465Z",
      "completedAt": "2026-07-10T17:41:45.644Z",
      "answerBytes": 188,
      "answerChars": 188,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- handle incoming message here\nend)\n```\nReason: `net.Receive` registers the client or server callback for an incoming Garry's Mod net message by name.",
      "durationMs": 3168,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 14541,
        "completionTokens": 77,
        "totalTokens": 14618,
        "reasoningTokens": 8,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:43.244Z",
      "completedAt": "2026-07-10T17:41:46.414Z",
      "answerBytes": 209,
      "answerChars": 209,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\n-- Reuse the built-in zero Angle instead of allocating a new one each call.\nlocal a = angle_zero\n\n-- Example hot path use:\n-- pos = pos + forward * 10\n-- ang = angle_zero\n``` \nReason: `angle_zero` is a shared prebuilt zero `Angle`, so it avoids repeated `Angle()` allocations in a hot path.",
      "durationMs": 5430,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 239,
        "totalTokens": 14788,
        "reasoningTokens": 141,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:43.756Z",
      "completedAt": "2026-07-10T17:41:49.187Z",
      "answerBytes": 297,
      "answerChars": 297,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal addon_color = Color(255, 255, 255)\nlocal c = addon_color\n```\nReason: a flat local is faster to read than repeated nested table lookups because it avoids multiple table index operations and global access is slower still.",
      "durationMs": 3785,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 14552,
        "completionTokens": 92,
        "totalTokens": 14644,
        "reasoningTokens": 20,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:45.168Z",
      "completedAt": "2026-07-10T17:41:48.955Z",
      "answerBytes": 232,
      "answerChars": 232,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n-- fallback if needed:\n-- local jobName = team.GetName(ply:Team())\n```\nReason: `getDarkRPVar(\"job\")` reads DarkRP's job data directly; `GetNWString(\"job\")` is the lower-level networked-value path and is not the preferred DarkRP API.",
      "durationMs": 4740,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 14546,
        "completionTokens": 158,
        "totalTokens": 14704,
        "reasoningTokens": 57,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:45.263Z",
      "completedAt": "2026-07-10T17:41:50.004Z",
      "answerBytes": 279,
      "answerChars": 279,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif vec1:DistToSqr(vec2) <= threshold * threshold then\n    -- within range\nend\n```\nReason: `DistToSqr` avoids the square root cost of `Distance()` and is the preferred way to do a threshold comparison.",
      "durationMs": 3255,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 82,
        "totalTokens": 14631,
        "reasoningTokens": 8,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:45.324Z",
      "completedAt": "2026-07-10T17:41:48.580Z",
      "answerBytes": 207,
      "answerChars": 207,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    -- visit every entity here\nend\n```\nReason: `ents.Iterator()` is the efficient entity iterator, so it avoids building a full table like `ents.GetAll()` when iterating all entities.",
      "durationMs": 4832,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 14545,
        "completionTokens": 179,
        "totalTokens": 14724,
        "reasoningTokens": 108,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:45.489Z",
      "completedAt": "2026-07-10T17:41:50.324Z",
      "answerBytes": 223,
      "answerChars": 223,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal ply = self:GetOwner()\nif not IsValid(ply) then return end\n\nlocal origin = ply:GetPos()\nlocal radiusSqr = 400 * 400\nlocal nearby = {}\n\nfor _, ent in ipairs(ents.FindInSphere(origin, 400)) do\n    if IsValid(ent) and ent ~= ply and ent:GetPos():DistToSqr(origin) <= radiusSqr then\n        nearby[#nearby + 1] = ent\n    end\nend\n```\nReason: `ents.FindInSphere` is one of the faster built-in broadphase queries for nearby entities, and the squared-distance filter keeps the final check cheap without using `FindInPVS`.",
      "durationMs": 6194,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 14566,
        "completionTokens": 250,
        "totalTokens": 14816,
        "reasoningTokens": 81,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:45.644Z",
      "completedAt": "2026-07-10T17:41:51.840Z",
      "answerBytes": 525,
      "answerChars": 525,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal radiusSqr = radius * radius\nlocal out = {}\nlocal n = 0\n\nfor _, ply in ipairs(player.GetAll()) do\n    if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n        n = n + 1\n        out[n] = ply\n    end\nend\n\nreturn out\n```\nReason: `player.GetAll()` only iterates players, so it avoids `ents.FindInSphere` building a mixed entity list and then discarding non-player entities.",
      "durationMs": 5272,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 14554,
        "completionTokens": 138,
        "totalTokens": 14692,
        "reasoningTokens": 8,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:46.416Z",
      "completedAt": "2026-07-10T17:41:51.690Z",
      "answerBytes": 381,
      "answerChars": 381,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- tight loop body\nend\n```\nReason: In Garry's Mod Lua, the numeric `for` loop is generally faster than a `while` loop for simple counted iteration because the iteration machinery is optimized by the Lua VM.",
      "durationMs": 3748,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 117,
        "totalTokens": 14668,
        "reasoningTokens": 39,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:46.596Z",
      "completedAt": "2026-07-10T17:41:50.345Z",
      "answerBytes": 233,
      "answerChars": 233,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook call per tick, pass the whole player list.\nhook.Run(\"MyTickHook\", player.GetAll())\n\n-- Slower: one hook call per player.\nfor _, ply in ipairs(player.GetAll()) do\n    hook.Run(\"MyTickHook\", ply)\nend\n```\nReason: `hook.Run` has nontrivial dispatch overhead, so calling it once per tick avoids repeating that cost for every player.",
      "durationMs": 4571,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14561,
        "completionTokens": 138,
        "totalTokens": 14699,
        "reasoningTokens": 24,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:47.208Z",
      "completedAt": "2026-07-10T17:41:51.781Z",
      "answerBytes": 354,
      "answerChars": 354,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal hp = LocalPlayer():Health()\n\n-- use hp for all three draw calls\n```\nReason: Caches the player health once per frame instead of calling `LocalPlayer():Health()` three times.",
      "durationMs": 8430,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 14552,
        "completionTokens": 85,
        "totalTokens": 14637,
        "reasoningTokens": 22,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:47.322Z",
      "completedAt": "2026-07-10T17:41:55.754Z",
      "answerBytes": 185,
      "answerChars": 185,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nfor i = 1, #items do\n    surface.SetDrawColor(WHITE)\n    -- paint item\nend\n``` \nReason: Hoist the invariant `Color(255,255,255)` allocation out of the loop so the loop reuses one cached color instead of creating a new table every iteration.",
      "durationMs": 4206,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 14540,
        "completionTokens": 108,
        "totalTokens": 14648,
        "reasoningTokens": 8,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:47.509Z",
      "completedAt": "2026-07-10T17:41:51.716Z",
      "answerBytes": 283,
      "answerChars": 283,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, n do\n    local y = sin(x[i])\n    -- use y\nend\n``` \nReason: Caching `math.sin` in a local avoids repeated table lookups inside the hot loop.",
      "durationMs": 3981,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 14544,
        "completionTokens": 85,
        "totalTokens": 14629,
        "reasoningTokens": 9,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:47.697Z",
      "completedAt": "2026-07-10T17:41:51.689Z",
      "answerBytes": 179,
      "answerChars": 179,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal LocalPlayer = LocalPlayer\nlocal cachedLP = nil\nlocal cachedFrame = -1\n\nlocal function GetLocalPlayerFast()\n    local frame = FrameNumber()\n    if frame ~= cachedFrame then\n        cachedFrame = frame\n        cachedLP = LocalPlayer()\n    end\n\n    return cachedLP\nend\n\n-- use GetLocalPlayerFast() instead of calling LocalPlayer() repeatedly\n``` \nReason: `LocalPlayer()` is cached once per frame, so repeated calls in the same frame reuse the same player entity instead of doing the lookup every time.",
      "durationMs": 5064,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 196,
        "totalTokens": 14745,
        "reasoningTokens": 56,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:48.581Z",
      "completedAt": "2026-07-10T17:41:53.646Z",
      "answerBytes": 511,
      "answerChars": 511,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- Returns true when each player's aim is generally pointing toward the other.\n-- Tune the threshold: 0.7 ~= within about 45 degrees, 0.5 ~= about 60 degrees.\nlocal function PlayersRoughlyLookingAtEachOther(plyA, plyB, threshold)\n    threshold = threshold or 0.7\n\n    local posA = plyA:EyePos()\n    local posB = plyB:EyePos()\n\n    local aimA = plyA:EyeAngles():Forward()\n    local aimB = plyB:EyeAngles():Forward()\n\n    local toB = (posB - posA):GetNormalized()\n    local toA = -toB\n\n    -- Dot product is cheap: 1 = same direction, 0 = perpendicular, -1 = opposite.\n    return aimA:Dot(toB) >= threshold and aimB:Dot(toA) >= threshold\nend\n```\nReason: Dot products compare direction similarity directly, so this avoids expensive angle math like `math.acos` while staying fast and easy to tune.",
      "durationMs": 5955,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 14563,
        "completionTokens": 262,
        "totalTokens": 14825,
        "reasoningTokens": 10,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:48.816Z",
      "completedAt": "2026-07-10T17:41:54.773Z",
      "answerBytes": 800,
      "answerChars": 800,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: For a helper you control, the plain function call is generally a bit faster and easier to optimize than a method-call syntax, because `ply:SomeHelper()` adds a `self` lookup and colon-call sugar that are unnecessary when the helper is not an object method.",
      "durationMs": 3784,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 104,
        "totalTokens": 14655,
        "reasoningTokens": 20,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:48.956Z",
      "completedAt": "2026-07-10T17:41:52.742Z",
      "answerBytes": 291,
      "answerChars": 291,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug: value=\" .. tostring(value))\n```\nReason: `MsgN` writes straight to the console path without `print`'s extra formatting and vararg overhead, so it is the cheaper hot-path choice.",
      "durationMs": 5584,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 14546,
        "completionTokens": 95,
        "totalTokens": 14641,
        "reasoningTokens": 26,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:49.190Z",
      "completedAt": "2026-07-10T17:41:54.775Z",
      "answerBytes": 196,
      "answerChars": 196,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fastest typical choice for a dense array-like table of numbers in Garry's Mod Lua\nfor i = 1, #t do\n    local v = t[i]\n    -- use i and v\nend\n```\nReason: A numeric `for` avoids iterator function overhead and hash traversal, so it is typically faster than `pairs` or `ipairs` on a large sequential array.",
      "durationMs": 5272,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 14556,
        "completionTokens": 126,
        "totalTokens": 14682,
        "reasoningTokens": 22,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:49.270Z",
      "completedAt": "2026-07-10T17:41:54.567Z",
      "answerBytes": 312,
      "answerChars": 312,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fused filter/map pipeline: one pass, one output table, no combinator chain.\nlocal function transform_list(input, predicate, mapper)\n    local out = {}\n    local n = 0\n\n    for i = 1, #input do\n        local v = input[i]\n        if predicate(v, i) then\n            n = n + 1\n            out[n] = mapper(v, i)\n        end\n    end\n\n    return out\nend\n\n-- Example usage:\n-- keep players with a job, map to their DarkRP name\nlocal result = transform_list(players.GetAll(), function(ply)\n    return IsValid(ply) and ply:Team() ~= TEAM_UNASSIGNED\nend, function(ply)\n    return ply:Nick()\nend)\n``` \nReason: This is faster because it does the filter and map in a single numeric `for` loop with no intermediate closures or chained combinator calls, so it cuts per-item call overhead and table churn.",
      "durationMs": 7994,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 14568,
        "completionTokens": 287,
        "totalTokens": 14855,
        "reasoningTokens": 50,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:50.005Z",
      "completedAt": "2026-07-10T17:41:58.000Z",
      "answerBytes": 799,
      "answerChars": 799,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\n\nlocal function RefreshPlayers()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshCachedPlayersOnJoin\", RefreshPlayers)\nhook.Add(\"PlayerDisconnected\", \"RefreshCachedPlayersOnLeave\", RefreshPlayers)\n\nhook.Add(\"Think\", \"UseCachedPlayersInThink\", function()\n    for _, ply in ipairs(cachedPlayers) do\n        if IsValid(ply) then\n            -- per-player work here\n        end\n    end\nend)\n``` \nReason: `player.GetAll()` is moved out of the hot Tick/Think path and only recomputed on join/leave, so the hook iterates a cached table each frame instead of rebuilding it every tick.",
      "durationMs": 5173,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 14565,
        "completionTokens": 190,
        "totalTokens": 14755,
        "reasoningTokens": 12,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:50.325Z",
      "completedAt": "2026-07-10T17:41:55.500Z",
      "answerBytes": 640,
      "answerChars": 640,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain exactly one fenced code block followed by a reason.",
      "finalResponse": "local TempPlayerData = setmetatable({}, { __mode = \"k\" })\n\n-- write\nTempPlayerData[ply] = value\n\n-- read\nlocal value = TempPlayerData[ply]\n",
      "durationMs": 7096,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 334,
        "totalTokens": 14882,
        "reasoningTokens": 272,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:50.346Z",
      "completedAt": "2026-07-10T17:41:57.444Z",
      "answerBytes": 139,
      "answerChars": 139,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Faster for iteration: sequential number-indexed array\nlocal values = { \"a\", \"b\", \"c\" }\nfor i = 1, #values do\n    local v = values[i]\nend\n\n-- Slower for iteration: string-keyed map\nlocal map = { a = 1, b = 2, c = 3 }\nfor k, v in pairs(map) do\nend\n``` \nReason: Sequential arrays are typically faster to iterate in Garry's Mod Lua because the numeric array part is optimized for ordered traversal, while string-keyed maps use hash lookups.",
      "durationMs": 11901,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 170,
        "totalTokens": 14719,
        "reasoningTokens": 22,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:50.890Z",
      "completedAt": "2026-07-10T17:42:02.793Z",
      "answerBytes": 446,
      "answerChars": 446,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 128, 64, 255)\n``` \nReason: Passing separate `r, g, b, a` numbers avoids the extra `Color` object path and is the faster choice for a hot draw loop.",
      "durationMs": 11436,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 14554,
        "completionTokens": 116,
        "totalTokens": 14670,
        "reasoningTokens": 44,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:51.504Z",
      "completedAt": "2026-07-10T17:42:02.942Z",
      "answerBytes": 180,
      "answerChars": 180,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsql.Query(\"SELECT * FROM players WHERE steamid = '\" .. sql.SQLStr(steamID) .. \"'\")\n```\nReason: For a single Garry's Mod server with no sync requirement, local SQLite is typically lower latency than remote MySQL because it avoids network round trips and external connection overhead.",
      "durationMs": 10917,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 14576,
        "completionTokens": 95,
        "totalTokens": 14671,
        "reasoningTokens": 10,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:51.690Z",
      "completedAt": "2026-07-10T17:42:02.608Z",
      "answerBytes": 289,
      "answerChars": 289,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamid_cache = setmetatable({}, {\n    __mode = \"k\" -- auto-drop entries when the player entity is gone\n})\n\nlocal function GetSteamIDCached(ply)\n    local steamid = steamid_cache[ply]\n    if steamid == nil then\n        steamid = ply:SteamID()\n        steamid_cache[ply] = steamid\n    end\n    return steamid\nend\n\n-- hot path usage\nfor i = 1, #players do\n    local ply = players[i]\n    local steamid = GetSteamIDCached(ply)\n    -- use steamid here\nend\n``` \nReason: Cache the per-player SteamID once and reuse it, avoiding repeated `ply:SteamID()` calls and letting weak keys drop dead players automatically.",
      "durationMs": 13010,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 14545,
        "completionTokens": 205,
        "totalTokens": 14750,
        "reasoningTokens": 12,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:51.691Z",
      "completedAt": "2026-07-10T17:42:04.707Z",
      "answerBytes": 618,
      "answerChars": 618,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slow: repeated .. builds a new string every time.\nlocal out = \"\"\nfor i = 1, 10000 do\n    out = out .. \"piece\" .. i\nend\n\n-- Faster: collect parts, join once.\nlocal parts = {}\nfor i = 1, 10000 do\n    parts[#parts + 1] = \"piece\"\n    parts[#parts + 1] = i\nend\nlocal out2 = table.concat(parts)\n``` \nReason: `table.concat` joins once at the end, while repeated `..` reallocates and copies the whole string many times.",
      "durationMs": 13046,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 193,
        "totalTokens": 14741,
        "reasoningTokens": 39,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:51.717Z",
      "completedAt": "2026-07-10T17:42:04.765Z",
      "answerBytes": 421,
      "answerChars": 421,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` skips the rounded-box path and is the direct filled-rectangle primitive for plain rectangles.",
      "durationMs": 11974,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 14550,
        "completionTokens": 162,
        "totalTokens": 14712,
        "reasoningTokens": 91,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:51.783Z",
      "completedAt": "2026-07-10T17:42:03.759Z",
      "answerBytes": 193,
      "answerChars": 193,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetFont(\"Trebuchet24\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(x, y)\nsurface.DrawText(text)\n```\nReason: `surface.SetFont` + `surface.SetTextPos` + `surface.DrawText` is the leanest per-frame path here; it avoids the extra wrapper work in `draw.DrawText`, and `SimpleTextOutlined` adds more overhead for outlining and extra passes.",
      "durationMs": 13398,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 215,
        "totalTokens": 14766,
        "reasoningTokens": 94,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:51.821Z",
      "completedAt": "2026-07-10T17:42:05.222Z",
      "answerBytes": 365,
      "answerChars": 365,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal n = #tbl\n-- or, for a sequential array-like table, use the length operator above\n```\nReason: In Garry's Mod Lua, the preferred way to get the length of a sequential array-like table is the `#` length operator.",
      "durationMs": 15206,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 14543,
        "completionTokens": 82,
        "totalTokens": 14625,
        "reasoningTokens": 8,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:51.841Z",
      "completedAt": "2026-07-10T17:42:07.048Z",
      "answerBytes": 222,
      "answerChars": 222,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fastest when you do not need to keep the same table object:\nt = {}\n``` \nReason: `t = {}` is usually faster because it just creates a new empty table, while `table.Empty(t)` walks the existing table and clears it in place; use `table.Empty(t)` only when other references must see the table emptied.",
      "durationMs": 19700,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 14550,
        "completionTokens": 359,
        "totalTokens": 14909,
        "reasoningTokens": 267,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:52.510Z",
      "completedAt": "2026-07-10T17:42:12.382Z",
      "answerBytes": 307,
      "answerChars": 307,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Fast membership check: use a keyed set table, not table.HasValue on an array\nlocal allowed = {\n  [\"weapon_pistol\"] = true,\n  [\"weapon_smg1\"] = true,\n  [\"weapon_shotgun\"] = true,\n}\n\nif allowed[value] then\n  -- value exists in the set\nend\n\n-- For comparison, table.HasValue scans the whole list linearly:\n-- if table.HasValue(list, value) then ... end\n```\nReason: keyed lookup is O(1) average, while table.HasValue on a list does a linear scan.",
      "durationMs": 11752,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 14550,
        "completionTokens": 160,
        "totalTokens": 14710,
        "reasoningTokens": 8,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:52.746Z",
      "completedAt": "2026-07-10T17:42:04.510Z",
      "answerBytes": 452,
      "answerChars": 452,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = { a = 1, b = 2, c = 3 }\n```\nReason: The table constructor is faster for known fields because it creates the table and fills the fields in one step, while assigning after `{}` does extra writes.",
      "durationMs": 10818,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 14545,
        "completionTokens": 94,
        "totalTokens": 14639,
        "reasoningTokens": 20,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:52.877Z",
      "completedAt": "2026-07-10T17:42:03.699Z",
      "answerBytes": 210,
      "answerChars": 210,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FastRandomSequential(t)\n    return t[math.random(#t)]\nend\n``` \nReason: `table.Random` works on generic tables and pays extra overhead; for a sequential array, `#t` plus direct indexing is faster and simpler.",
      "durationMs": 11292,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 14545,
        "completionTokens": 83,
        "totalTokens": 14628,
        "reasoningTokens": 8,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:52.973Z",
      "completedAt": "2026-07-10T17:42:04.266Z",
      "answerBytes": 229,
      "answerChars": 229,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal y = x * x\n```\nReason: `x * x` is the fastest clear form in tight Lua loops, with no function call overhead or extra arithmetic.",
      "durationMs": 11321,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 14542,
        "completionTokens": 63,
        "totalTokens": 14605,
        "reasoningTokens": 8,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:53.647Z",
      "completedAt": "2026-07-10T17:42:04.972Z",
      "answerBytes": 140,
      "answerChars": 140,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- your code here\nend\n```\nReason: `player.GetAll()` returns the currently connected players, and `ipairs` iterates that array-style list in order.",
      "durationMs": 18403,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 14554,
        "completionTokens": 135,
        "totalTokens": 14689,
        "reasoningTokens": 67,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:54.270Z",
      "completedAt": "2026-07-10T17:42:12.675Z",
      "answerBytes": 198,
      "answerChars": 198,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- visit ent here\n    end\nend\n```\nReason: `ents.Iterator()` streams entities one at a time, so you can filter `prop_physics` without allocating a full `ents.GetAll()` table.",
      "durationMs": 14778,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 371,
        "totalTokens": 14918,
        "reasoningTokens": 283,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:54.568Z",
      "completedAt": "2026-07-10T17:42:09.348Z",
      "answerBytes": 263,
      "answerChars": 263,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: `hook.Add` registers a Think callback under the `MyAddon.Think` identifier.",
      "durationMs": 11133,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 119,
        "totalTokens": 14670,
        "reasoningTokens": 60,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:54.774Z",
      "completedAt": "2026-07-10T17:42:05.908Z",
      "answerBytes": 145,
      "answerChars": 145,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    -- safe to call entity methods here\nend\n```\nReason: `IsValid(ent)` is the standard Garry's Mod check for a live entity reference before using it.",
      "durationMs": 12095,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 14546,
        "completionTokens": 177,
        "totalTokens": 14723,
        "reasoningTokens": 113,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:54.781Z",
      "completedAt": "2026-07-10T17:42:06.878Z",
      "answerBytes": 177,
      "answerChars": 177,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len)\n    -- handle the incoming message here\nend)\n```\nReason: `net.Receive` registers the callback that runs when the incoming `MyAddon.Sync` message arrives.",
      "durationMs": 11230,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 14541,
        "completionTokens": 163,
        "totalTokens": 14704,
        "reasoningTokens": 97,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:55.501Z",
      "completedAt": "2026-07-10T17:42:06.733Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal ZERO_ANGLE = angle_zero\n\n-- hot path: reuse the shared zero Angle instead of allocating a new one\nlocal ang = ZERO_ANGLE\n``` \nReason: `angle_zero` is already a zeroed Angle, so reusing it avoids constructing a new `Angle()` object every time.",
      "durationMs": 23833,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 1039,
        "totalTokens": 15586,
        "reasoningTokens": 957,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:55.755Z",
      "completedAt": "2026-07-10T17:42:19.590Z",
      "answerBytes": 255,
      "answerChars": 255,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal myaddon_color = Color(255, 128, 0)\n\nprint(myaddon_color.r)\n```\nReason: a local upvalue/variable is faster to read than repeatedly indexing nested tables because it avoids extra table lookups.",
      "durationMs": 13198,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 14552,
        "completionTokens": 130,
        "totalTokens": 14682,
        "reasoningTokens": 59,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:41:57.445Z",
      "completedAt": "2026-07-10T17:42:10.645Z",
      "answerBytes": 204,
      "answerChars": 204,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\") -- preferred DarkRP accessor\n``` \nReason: `ply:getDarkRPVar(\"job\")` is the DarkRP API for the job label; `ply:GetNWString(\"job\")` reads the underlying networked value directly.",
      "durationMs": 18903,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 14546,
        "completionTokens": 595,
        "totalTokens": 15141,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:41:58.001Z",
      "completedAt": "2026-07-10T17:42:16.905Z",
      "answerBytes": 223,
      "answerChars": 223,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif vec1:DistToSqr(vec2) < (threshold * threshold) then\n    -- within range\nend\n```\nReason: `DistToSqr` avoids the square root used by `DistTo`, so it is the preferred way to do a distance threshold check.",
      "durationMs": 11780,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 154,
        "totalTokens": 14703,
        "reasoningTokens": 75,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:01.909Z",
      "completedAt": "2026-07-10T17:42:13.690Z",
      "answerBytes": 211,
      "answerChars": 211,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- process each entity here\nend\n```\nReason: `ents.Iterator()` is the efficient entity iterator, so it avoids building a full table like `ents.GetAll()` when you only need to visit each entity once.",
      "durationMs": 13647,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 14545,
        "completionTokens": 285,
        "totalTokens": 14830,
        "reasoningTokens": 211,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:02.609Z",
      "completedAt": "2026-07-10T17:42:16.258Z",
      "answerBytes": 238,
      "answerChars": 238,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal pos = ply:GetPos()\nlocal radius = 512\nlocal mins = pos - Vector(radius, radius, radius)\nlocal maxs = pos + Vector(radius, radius, radius)\n\nfor _, ent in ipairs(ents.FindInBox(mins, maxs)) do\n    if IsValid(ent) and ent ~= ply then\n        -- nearby entity\n    end\nend\n``` \nReason: `ents.FindInBox` is a fast built-in broadphase query in common GMod benchmarks, and it gives a cheap near-player candidate set without relying on `FindInPVS`.",
      "durationMs": 17466,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 14566,
        "completionTokens": 552,
        "totalTokens": 15118,
        "reasoningTokens": 407,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:02.794Z",
      "completedAt": "2026-07-10T17:42:20.262Z",
      "answerBytes": 452,
      "answerChars": 452,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function PlayersInSphere(pos, radius)\n    local radiusSqr = radius * radius\n    local found = {}\n    local n = 0\n\n    for _, ply in ipairs(player.GetAll()) do\n        if IsValid(ply) and ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            n = n + 1\n            found[n] = ply\n        end\n    end\n\n    return found, n\nend\n``` \nReason: `player.GetAll()` iterates only players, and `DistToSqr` avoids the square root, so it is cheaper than scanning every entity with `ents.FindInSphere` and then filtering.",
      "durationMs": 14275,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 14558,
        "completionTokens": 321,
        "totalTokens": 14879,
        "reasoningTokens": 156,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:02.943Z",
      "completedAt": "2026-07-10T17:42:17.220Z",
      "answerBytes": 522,
      "answerChars": 522,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- tight counting loop\nend\n```\nReason: In Garry's Mod Lua, the numeric `for` loop is generally faster than `while` for a simple 1-to-n counter because the VM handles the loop control more efficiently.",
      "durationMs": 11464,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 141,
        "totalTokens": 14692,
        "reasoningTokens": 62,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:03.699Z",
      "completedAt": "2026-07-10T17:42:15.165Z",
      "answerBytes": 227,
      "answerChars": 227,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one dispatch, pass the whole player list to the hook.\nlocal players = player.GetAll()\nhook.Run(\"MyCustomTick\", players)\n\n-- Slower: one dispatch per player.\nfor i = 1, #players do\n    hook.Run(\"MyCustomTick\", players[i])\nend\n``` \nReason: One `hook.Run` amortizes hook lookup and dispatch overhead across all players, while the per-player loop repeats that cost every tick.",
      "durationMs": 13314,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14561,
        "completionTokens": 213,
        "totalTokens": 14774,
        "reasoningTokens": 92,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:03.759Z",
      "completedAt": "2026-07-10T17:42:17.075Z",
      "answerBytes": 390,
      "answerChars": 390,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"MyHUD\", function()\n    local lp = LocalPlayer()\n    if not IsValid(lp) then return end\n\n    local health = lp:Health()\n\n    draw.SimpleText(\"HP: \" .. health, \"Trebuchet24\", 50, 50, color_white)\n    draw.SimpleText(\"Health: \" .. health .. \"%\", \"Trebuchet24\", 50, 70, color_white)\n    draw.RoundedBox(4, 50, 90, math.Clamp(health, 0, 100) * 2, 16, color_red)\nend)\n``` \nReason: Caches `LocalPlayer()` and `Health()` once per frame, so the three draw calls reuse the same value instead of repeating the lookup.",
      "durationMs": 15417,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 14554,
        "completionTokens": 433,
        "totalTokens": 14987,
        "reasoningTokens": 242,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:04.131Z",
      "completedAt": "2026-07-10T17:42:19.550Z",
      "answerBytes": 535,
      "answerChars": 535,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"MyPaintLoop\", function()\n    surface.SetDrawColor(WHITE)\n    -- draw loop here, reuse WHITE instead of allocating a new Color each iteration\nend)\n``` \nReason: `Color(255, 255, 255)` allocates a new color table each time; hoisting one shared `WHITE` color avoids repeated allocations in the paint loop.",
      "durationMs": 12550,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 14546,
        "completionTokens": 198,
        "totalTokens": 14744,
        "reasoningTokens": 80,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:04.267Z",
      "completedAt": "2026-07-10T17:42:16.819Z",
      "answerBytes": 366,
      "answerChars": 366,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, n do\n    local y = sin(x[i])\n    -- use y\nend\n``` \nReason: `math.sin` is a global table lookup; caching it in a local avoids repeating that lookup in a hot loop.",
      "durationMs": 12872,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 124,
        "totalTokens": 14672,
        "reasoningTokens": 43,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:04.511Z",
      "completedAt": "2026-07-10T17:42:17.385Z",
      "answerBytes": 201,
      "answerChars": 201,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal lp = LocalPlayer()\n\nhook.Add(\"Think\", \"CacheLocalPlayer\", function()\n    if not IsValid(lp) then\n        lp = LocalPlayer()\n    end\nend)\n\n-- use lp instead of calling LocalPlayer() every time\nif IsValid(lp) then\n    print(lp:Nick())\nend\n``` \nReason: `LocalPlayer()` is a function call; caching the entity in a local and refreshing it only when needed avoids repeated lookup and call overhead.",
      "durationMs": 19252,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 641,
        "totalTokens": 15188,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:04.708Z",
      "completedAt": "2026-07-10T17:42:23.962Z",
      "answerBytes": 405,
      "answerChars": 405,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function RoughlyLookingAtEachOther(ply1, ply2, dotThreshold)\n    dotThreshold = dotThreshold or 0.7 -- higher = tighter cone\n\n    local eye1 = ply1:EyePos()\n    local eye2 = ply2:EyePos()\n\n    local dir12 = (eye2 - eye1):GetNormalized()\n    local dir21 = -dir12\n\n    local aim1 = ply1:GetAimVector()\n    local aim2 = ply2:GetAimVector()\n\n    return aim1:Dot(dir12) >= dotThreshold and aim2:Dot(dir21) >= dotThreshold\nend\n``` \nReason: Dot products give a cheap cone check and avoid the expensive `math.acos` angle conversion.",
      "durationMs": 18796,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 14561,
        "completionTokens": 591,
        "totalTokens": 15152,
        "reasoningTokens": 409,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:04.766Z",
      "completedAt": "2026-07-10T17:42:23.564Z",
      "answerBytes": 537,
      "answerChars": 537,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: `SomeHelper(ply)` is generally faster because `ply:SomeHelper()` is just sugar for a method lookup plus an extra implicit `self` argument.",
      "durationMs": 13273,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 14555,
        "completionTokens": 222,
        "totalTokens": 14777,
        "reasoningTokens": 160,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:04.974Z",
      "completedAt": "2026-07-10T17:42:18.269Z",
      "answerBytes": 173,
      "answerChars": 173,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"debug: \", tostring(value))\n```\nReason: `MsgN` writes directly to the console with less formatting overhead than `print`, which makes it a better choice in a hot path.",
      "durationMs": 13242,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 245,
        "totalTokens": 14793,
        "reasoningTokens": 181,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:05.254Z",
      "completedAt": "2026-07-10T17:42:18.503Z",
      "answerBytes": 179,
      "answerChars": 179,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, #t do\n    local v = t[i]\n    -- use v\nend\n```\nReason: A numeric `for` over `1..#t` is typically fastest for a dense sequential array-like table in Garry's Mod Lua because it avoids iterator overhead and direct indexing is cheaper than `pairs` or `ipairs`.",
      "durationMs": 11931,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 14556,
        "completionTokens": 168,
        "totalTokens": 14724,
        "reasoningTokens": 71,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:05.910Z",
      "completedAt": "2026-07-10T17:42:17.856Z",
      "answerBytes": 273,
      "answerChars": 273,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function transformPlayers(players)\n    local out = {}\n    local n = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        if ply:IsValid() and ply:Alive() and ply:Team() == TEAM_CITIZEN then\n            n = n + 1\n            out[n] = ply:Nick()\n        end\n    end\n\n    return out\nend\n``` \nReason: One tight loop does filter and map in place, so it avoids the extra closures, iterator layers, and intermediate tables that DarkRP's fn combinators create.",
      "durationMs": 12657,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 14568,
        "completionTokens": 251,
        "totalTokens": 14819,
        "reasoningTokens": 100,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:06.733Z",
      "completedAt": "2026-07-10T17:42:19.391Z",
      "answerBytes": 481,
      "answerChars": 481,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = cachedPlayers or player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshPlayerCacheOnJoin\", function()\n    cachedPlayers = player.GetAll()\nend)\n\nhook.Add(\"PlayerDisconnected\", \"RefreshPlayerCacheOnLeave\", function()\n    cachedPlayers = player.GetAll()\nend)\n\nhook.Add(\"Think\", \"UseCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- work with ply\n        end\n    end\nend)\n``` \nReason: Reuses one cached player list during Tick/Think and rebuilds it only on join/leave, avoiding `player.GetAll()` every frame.",
      "durationMs": 13126,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 14565,
        "completionTokens": 300,
        "totalTokens": 14865,
        "reasoningTokens": 117,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:06.879Z",
      "completedAt": "2026-07-10T17:42:20.007Z",
      "answerBytes": 626,
      "answerChars": 626,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal tempByPlayer = setmetatable({}, { __mode = \"k\" })\n\n-- write\ntempByPlayer[ply] = value\n\n-- read\nlocal value = tempByPlayer[ply]\n``` \nReason: a local side table keeps reads to one plain table lookup and avoids entity-field access on the player object.",
      "durationMs": 31084,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 14546,
        "completionTokens": 1489,
        "totalTokens": 16035,
        "reasoningTokens": 1398,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:07.049Z",
      "completedAt": "2026-07-10T17:42:38.134Z",
      "answerBytes": 262,
      "answerChars": 262,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = {\n  \"alpha\",\n  \"beta\",\n  \"gamma\",\n}\n\nfor i = 1, #values do\n  local v = values[i]\n  -- iterate sequentially\nend\n``` \nReason: Sequential number-indexed arrays are faster to iterate than string-keyed maps because Lua can traverse them with a simple numeric loop and contiguous storage patterns, while string-keyed lookup adds hash overhead.",
      "durationMs": 12748,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 14553,
        "completionTokens": 253,
        "totalTokens": 14806,
        "reasoningTokens": 142,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:09.348Z",
      "completedAt": "2026-07-10T17:42:22.098Z",
      "answerBytes": 359,
      "answerChars": 359,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 128, 64, 255)\n```\nReason: Passing raw `r, g, b, a` numbers avoids a `Color` object lookup/conversion in a hot draw path.",
      "durationMs": 12359,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 14556,
        "completionTokens": 159,
        "totalTokens": 14715,
        "reasoningTokens": 91,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:10.646Z",
      "completedAt": "2026-07-10T17:42:23.008Z",
      "answerBytes": 153,
      "answerChars": 153,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal rows = sql.Query(\"SELECT * FROM player_data WHERE steamid = \" .. sql.SQLStr(steamid) .. \";\")\n```\nReason: For a single Garry's Mod server with no cross-server sync, local SQLite is typically lower latency because it avoids network round trips and remote connection overhead.",
      "durationMs": 12115,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 14576,
        "completionTokens": 172,
        "totalTokens": 14748,
        "reasoningTokens": 87,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:12.383Z",
      "completedAt": "2026-07-10T17:42:24.500Z",
      "answerBytes": 286,
      "answerChars": 286,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamid_cache = setmetatable({}, { __mode = \"k\" }) -- weak keys so disconnected players can fall out\n\nlocal function GetSteamIDFast(ply)\n    local sid = steamid_cache[ply]\n    if sid == nil then\n        sid = ply:SteamID()\n        steamid_cache[ply] = sid\n    end\n    return sid\nend\n\n-- hot path: call once, reuse the cached string\nfor _, ply in ipairs(player.GetAll()) do\n    local sid = GetSteamIDFast(ply)\n    if sid == \"STEAM_0:1:12345\" then\n        -- ...\n    end\n    if sid == \"STEAM_0:1:12345\" then\n        -- reuse sid again instead of ply:SteamID()\n    end\nend\n``` \nReason: Memoizing `ply:SteamID()` per player removes repeated method calls in the hot path, and a weak-key cache avoids holding disconnected players alive.",
      "durationMs": 19633,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 747,
        "totalTokens": 15294,
        "reasoningTokens": 513,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:12.676Z",
      "completedAt": "2026-07-10T17:42:32.311Z",
      "answerBytes": 743,
      "answerChars": 743,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slow: repeated .. creates many intermediate strings\nlocal out = \"\"\nfor i = 1, 10000 do\n    out = out .. \"piece\" .. i .. \",\"\nend\n\n-- Fast: collect parts, concatenate once\nlocal parts = {}\nfor i = 1, 10000 do\n    parts[#parts + 1] = \"piece\"\n    parts[#parts + 1] = i\n    parts[#parts + 1] = \",\"\nend\nlocal out_fast = table.concat(parts)\n```\nReason: `table.concat` builds the final string in one pass, avoiding the repeated intermediate allocations and copies caused by `..` in a loop.",
      "durationMs": 14730,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 14550,
        "completionTokens": 321,
        "totalTokens": 14871,
        "reasoningTokens": 151,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:13.691Z",
      "completedAt": "2026-07-10T17:42:28.423Z",
      "answerBytes": 491,
      "answerChars": 491,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `draw.RoundedBox(0, ...)` does extra rounded-box handling; `surface.DrawRect` is the direct non-rounded rectangle primitive and is slightly faster for lots of per-frame rectangles.",
      "durationMs": 28888,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 14552,
        "completionTokens": 239,
        "totalTokens": 14791,
        "reasoningTokens": 151,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:15.165Z",
      "completedAt": "2026-07-10T17:42:44.055Z",
      "answerBytes": 261,
      "answerChars": 261,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.CreateFont(\"HUDTextFast\", {\n    font = \"Roboto\",\n    size = 24,\n    weight = 500,\n    antialias = true,\n})\n\nlocal text = \"Hello, world\"\n\nhook.Add(\"HUDPaint\", \"DrawFastText\", function()\n    surface.SetFont(\"HUDTextFast\")\n    surface.SetTextColor(255, 255, 255, 255)\n    surface.SetTextPos(100, 100)\n    surface.DrawText(text)\nend)\n``` \nReason: `surface.SetFont` + `surface.SetTextPos` + `surface.DrawText` is the leanest path for a single-line string; it avoids the extra positioning, alignment, and outline work done by `draw.DrawText` and `draw.SimpleTextOutlined`.",
      "durationMs": 18744,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 640,
        "totalTokens": 15189,
        "reasoningTokens": 443,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:16.259Z",
      "completedAt": "2026-07-10T17:42:35.005Z",
      "answerBytes": 581,
      "answerChars": 581,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal len = #tbl\n```\nReason: `#tbl` is the standard Lua length operator for sequential array-like tables; `table.Count` is for counting all keys in a table, not just array length.",
      "durationMs": 11410,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 14543,
        "completionTokens": 131,
        "totalTokens": 14674,
        "reasoningTokens": 67,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:16.819Z",
      "completedAt": "2026-07-10T17:42:28.231Z",
      "answerBytes": 186,
      "answerChars": 186,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: Rebinding to a new table is generally faster than clearing a large existing table with `table.Empty(t)`, because `table.Empty` must walk and remove the old entries.",
      "durationMs": 13513,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 220,
        "totalTokens": 14768,
        "reasoningTokens": 157,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:16.906Z",
      "completedAt": "2026-07-10T17:42:30.420Z",
      "answerBytes": 190,
      "answerChars": 190,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Build once\nlocal allowed = {\n    [\"apple\"] = true,\n    [\"banana\"] = true,\n    [\"cherry\"] = true,\n}\n\n-- O(1) lookup instead of scanning a list\nif allowed[someValue] then\n    print(\"found\")\nend\n```\nReason: A keyed table acts like a set, so membership checks are direct hash lookups instead of `table.HasValue`'s linear scan.",
      "durationMs": 13181,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 14550,
        "completionTokens": 214,
        "totalTokens": 14764,
        "reasoningTokens": 93,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:17.076Z",
      "completedAt": "2026-07-10T17:42:30.258Z",
      "answerBytes": 332,
      "answerChars": 332,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = {\n    a = 1,\n    b = 2,\n    c = 3,\n}\n```\nReason: The constructor is usually faster for a small table with known fields because it builds the table and fills the fields in one step, instead of creating an empty table and doing extra writes afterward.",
      "durationMs": 12634,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 14545,
        "completionTokens": 185,
        "totalTokens": 14730,
        "reasoningTokens": 96,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:17.221Z",
      "completedAt": "2026-07-10T17:42:29.858Z",
      "answerBytes": 266,
      "answerChars": 266,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function RandomSequential(t)\n    return t[math.random(#t)]\nend\n```\nReason: `table.Random` does extra work to handle non-sequential tables; for an array-like table, direct length plus indexed access is simpler and faster.",
      "durationMs": 11954,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 14543,
        "completionTokens": 132,
        "totalTokens": 14675,
        "reasoningTokens": 58,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:17.388Z",
      "completedAt": "2026-07-10T17:42:29.345Z",
      "answerBytes": 233,
      "answerChars": 233,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nx * x\n```\nReason: `x * x` is the direct, fastest readable way to square a number in Lua; it avoids function calls and extra overhead.",
      "durationMs": 13423,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 14544,
        "completionTokens": 182,
        "totalTokens": 14726,
        "reasoningTokens": 127,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:17.857Z",
      "completedAt": "2026-07-10T17:42:31.293Z",
      "answerBytes": 140,
      "answerChars": 140,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- visit each connected player here\nend\n```\nReason: `player.GetAll()` returns the current player list as an array, so `ipairs` is the direct loop for every connected player.",
      "durationMs": 11377,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 14556,
        "completionTokens": 137,
        "totalTokens": 14693,
        "reasoningTokens": 64,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:18.270Z",
      "completedAt": "2026-07-10T17:42:29.648Z",
      "answerBytes": 225,
      "answerChars": 225,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- process ent here\n    end\nend\n```\nReason: `ents.Iterator()` walks entities lazily, so this filters `prop_physics` without building a full entity table first.",
      "durationMs": 16142,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 455,
        "totalTokens": 15002,
        "reasoningTokens": 373,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:18.504Z",
      "completedAt": "2026-07-10T17:42:34.647Z",
      "answerBytes": 249,
      "answerChars": 249,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: `hook.Add` registers a function for the `Think` hook, and `MyAddon.Think` is the unique callback identifier.",
      "durationMs": 13017,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 14553,
        "completionTokens": 177,
        "totalTokens": 14730,
        "reasoningTokens": 109,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:19.048Z",
      "completedAt": "2026-07-10T17:42:32.067Z",
      "answerBytes": 178,
      "answerChars": 178,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif not IsValid(ent) then return end\n```\nReason: `IsValid` returns false for `nil`, removed, or invalid entities, so this guard prevents method calls on a dead reference.",
      "durationMs": 12767,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 14546,
        "completionTokens": 196,
        "totalTokens": 14742,
        "reasoningTokens": 135,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:19.392Z",
      "completedAt": "2026-07-10T17:42:32.161Z",
      "answerBytes": 176,
      "answerChars": 176,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- handle the incoming net message here\nend)\n```\nReason: `net.Receive` registers the incoming message handler for the named Garry's Mod net message.",
      "durationMs": 14168,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 14537,
        "completionTokens": 338,
        "totalTokens": 14875,
        "reasoningTokens": 270,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:19.551Z",
      "completedAt": "2026-07-10T17:42:33.721Z",
      "answerBytes": 206,
      "answerChars": 206,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal ZERO_ANGLE = Angle(0, 0, 0)\n\n-- Hot path: reuse the same zero angle if the caller treats it as read-only.\nlocal ang = ZERO_ANGLE\n``` \nReason: this avoids allocating a new Angle object on every call; if you need a mutable instance, reuse one scratch Angle and reset its fields instead of constructing a new one.",
      "durationMs": 32790,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 1652,
        "totalTokens": 16201,
        "reasoningTokens": 1552,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:19.590Z",
      "completedAt": "2026-07-10T17:42:52.382Z",
      "answerBytes": 323,
      "answerChars": 323,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal addon_color = myaddon.config.color\n\nlocal function DrawSomething()\n    local color = addon_color\nend\n```\nReason: A local/upvalue is faster to read than repeated table indexing like `myaddon.config.color`, so cache frequently read settings locally.",
      "durationMs": 12984,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 14554,
        "completionTokens": 205,
        "totalTokens": 14759,
        "reasoningTokens": 130,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:42:20.008Z",
      "completedAt": "2026-07-10T17:42:32.993Z",
      "answerBytes": 260,
      "answerChars": 260,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP stores job data in its own variable system, so `getDarkRPVar(\"job\")` is the intended API instead of reading the networked string directly.",
      "durationMs": 13700,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 14546,
        "completionTokens": 283,
        "totalTokens": 14829,
        "reasoningTokens": 211,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:20.262Z",
      "completedAt": "2026-07-10T17:42:33.965Z",
      "answerBytes": 204,
      "answerChars": 204,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif pos1:DistToSqr(pos2) <= threshold * threshold then\n    -- within range\nend\n```\nReason: `DistToSqr` avoids the expensive square root when you only need a threshold check.",
      "durationMs": 11262,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 118,
        "totalTokens": 14665,
        "reasoningTokens": 51,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:21.184Z",
      "completedAt": "2026-07-10T17:42:32.447Z",
      "answerBytes": 179,
      "answerChars": 179,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    -- visit each entity\nend\n```\nReason: `ents.Iterator()` avoids building the full `ents.GetAll()` table first, so it is the efficient wiki-recommended way to visit every entity once.",
      "durationMs": 13806,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 14543,
        "completionTokens": 321,
        "totalTokens": 14864,
        "reasoningTokens": 250,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:22.099Z",
      "completedAt": "2026-07-10T17:42:35.907Z",
      "answerBytes": 221,
      "answerChars": 221,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal ply = player.GetHumans()[1]\nif not IsValid(ply) then return end\n\nlocal pos = ply:GetPos()\nlocal radius = 512\nlocal nearby = ents.FindInSphere(pos, radius)\n\nfor i = 1, #nearby do\n    local ent = nearby[i]\n    if IsValid(ent) and ent ~= ply then\n        -- cheap per-entity work here\n    end\nend\n``` \nReason: `ents.FindInSphere` is one of the faster built-in broad-phase queries for “nearby entities” in common GMod benchmarks, and it matches the player-radius use case without relying on `FindInPVS`.",
      "durationMs": 15531,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 14566,
        "completionTokens": 681,
        "totalTokens": 15247,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:23.008Z",
      "completedAt": "2026-07-10T17:42:38.541Z",
      "answerBytes": 516,
      "answerChars": 512,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInSphere(pos, radius)\n    local radiusSqr = radius * radius\n    local found = {}\n    local players = player.GetAll()\n\n    for i = 1, #players do\n        local ply = players[i]\n        if IsValid(ply) and ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            found[#found + 1] = ply\n        end\n    end\n\n    return found\nend\n``` \nReason: `player.GetAll()` scans only players, and `DistToSqr` avoids a square root, so it is cheaper than `ents.FindInSphere` plus filtering entities.",
      "durationMs": 12072,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 14558,
        "completionTokens": 412,
        "totalTokens": 14970,
        "reasoningTokens": 248,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:23.564Z",
      "completedAt": "2026-07-10T17:42:35.639Z",
      "answerBytes": 516,
      "answerChars": 516,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sum = 0\nfor i = 1, n do\n    sum = sum + i\nend\n```\nReason: In Lua and Garry's Mod Lua, a numeric `for` loop is generally faster than an equivalent `while` loop because it uses a more optimized VM path and avoids repeated manual counter updates and comparisons.",
      "durationMs": 8589,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 284,
        "totalTokens": 14835,
        "reasoningTokens": 194,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:23.965Z",
      "completedAt": "2026-07-10T17:42:32.563Z",
      "answerBytes": 272,
      "answerChars": 272,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch for all players\nlocal players = player.GetAll()\nhook.Run(\"MyTickPlayers\", players)\n\n-- Slower: one hook dispatch per player\n-- for _, ply in ipairs(player.GetAll()) do\n--     hook.Run(\"MyTickPlayer\", ply)\n-- end\n``` \nReason: one hook.Run call avoids repeated hook lookup and Lua/C boundary overhead for every player.",
      "durationMs": 13474,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14561,
        "completionTokens": 615,
        "totalTokens": 15176,
        "reasoningTokens": 508,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:24.501Z",
      "completedAt": "2026-07-10T17:42:37.976Z",
      "answerBytes": 352,
      "answerChars": 352,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"DrawHealthStuff\", function()\n    local lp = LocalPlayer()\n    local health = lp:Health()\n\n    draw.SimpleText(health, \"DermaDefault\", 20, 20, color_white)\n    draw.SimpleText(\"HP: \" .. health, \"DermaDefault\", 20, 40, color_white)\n    surface.DrawRect(20, 60, health, 10)\nend)\n```\nReason: Cache `LocalPlayer():Health()` once per frame and reuse the local value, so the hook avoids repeating the same lookup three times.",
      "durationMs": 6735,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 14552,
        "completionTokens": 267,
        "totalTokens": 14819,
        "reasoningTokens": 117,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:42:28.231Z",
      "completedAt": "2026-07-10T17:42:34.969Z",
      "answerBytes": 447,
      "answerChars": 447,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"MyPaintLoop\", function()\n    for i = 1, 100 do\n        surface.SetDrawColor(WHITE)\n        surface.DrawRect(i, i, 10, 10)\n    end\nend)\n```\nReason: Hoisting the `Color(255, 255, 255)` allocation out of the loop avoids creating a new color object every iteration.",
      "durationMs": 6898,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 14542,
        "completionTokens": 290,
        "totalTokens": 14832,
        "reasoningTokens": 168,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:28.424Z",
      "completedAt": "2026-07-10T17:42:35.324Z",
      "answerBytes": 326,
      "answerChars": 326,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, n do\n    total = total + sin(values[i])\nend\n```\nReason: `math.sin` is copied into a local once, so the hot loop uses a faster local lookup instead of repeated table indexing.",
      "durationMs": 4162,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 14544,
        "completionTokens": 150,
        "totalTokens": 14694,
        "reasoningTokens": 71,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:29.346Z",
      "completedAt": "2026-07-10T17:42:33.509Z",
      "answerBytes": 214,
      "answerChars": 214,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal cachedLP\nlocal function LP()\n    if not IsValid(cachedLP) then\n        cachedLP = LocalPlayer()\n    end\n    return cachedLP\nend\n\n-- hot path\nlocal ply = LP()\nif IsValid(ply) then\n    -- use ply\nend\n``` \nReason: it caches the player entity and only calls `LocalPlayer()` again when the cached value is invalid, so repeated hot-path access avoids a fresh lookup each time.",
      "durationMs": 14841,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 636,
        "totalTokens": 15185,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:29.649Z",
      "completedAt": "2026-07-10T17:42:44.491Z",
      "answerBytes": 383,
      "answerChars": 383,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- Returns true when each player is aiming roughly toward the other.\n-- threshold is cosine-based: 1.0 = exact, 0.95 ~= within 18 degrees.\nlocal function ArePlayersRoughlyLookingAtEachOther(ply1, ply2, threshold)\n    threshold = threshold or 0.95\n\n    local pos1 = ply1:EyePos()\n    local pos2 = ply2:EyePos()\n    local dir12 = (pos2 - pos1)\n    local lenSqr = dir12:LengthSqr()\n    if lenSqr == 0 then return false end\n\n    dir12:Normalize()\n\n    local aim1 = ply1:GetAimVector()\n    local aim2 = ply2:GetAimVector()\n\n    return aim1:Dot(dir12) >= threshold and aim2:Dot(-dir12) >= threshold\nend\n``` \nReason: Dot products give the same directional check without the cost of `math.acos`, so this stays cheap and branch-light.",
      "durationMs": 11312,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 14561,
        "completionTokens": 602,
        "totalTokens": 15163,
        "reasoningTokens": 361,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:29.859Z",
      "completedAt": "2026-07-10T17:42:41.172Z",
      "answerBytes": 732,
      "answerChars": 732,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: `ply:SomeHelper()` is sugar for `ply.SomeHelper(ply)` and does a lookup on `ply`, so a direct helper call is generally a bit faster for code you control.",
      "durationMs": 10534,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 14557,
        "completionTokens": 572,
        "totalTokens": 15129,
        "reasoningTokens": 503,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:30.259Z",
      "completedAt": "2026-07-10T17:42:40.794Z",
      "answerBytes": 188,
      "answerChars": 188,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"Think debug: \", value)\n```\nReason: `MsgN` writes directly to the console with less formatting overhead than `print`, so it is cheaper in hot paths.",
      "durationMs": 10836,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 575,
        "totalTokens": 15123,
        "reasoningTokens": 515,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:30.421Z",
      "completedAt": "2026-07-10T17:42:41.258Z",
      "answerBytes": 160,
      "answerChars": 160,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal n = #nums\nfor i = 1, n do\n    local v = nums[i]\n    -- use v\nend\n```\nReason: For a dense sequential array-like table, a numeric `for` is typically fastest because it avoids iterator overhead from `pairs`/`ipairs` and uses direct indexed access.",
      "durationMs": 8328,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 14556,
        "completionTokens": 267,
        "totalTokens": 14823,
        "reasoningTokens": 177,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:31.294Z",
      "completedAt": "2026-07-10T17:42:39.624Z",
      "answerBytes": 257,
      "answerChars": 257,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster than chaining DarkRP fn combinators: one pass, no intermediate arrays.\nlocal function filter_map(src, keep, map)\n    local out, n = {}, 0\n    for i = 1, #src do\n        local v = src[i]\n        if keep(v) then\n            n = n + 1\n            out[n] = map(v)\n        end\n    end\n    return out\nend\n\n-- Example: keep alive players, map to SteamID.\nlocal ids = filter_map(players, function(p) return IsValid(p) and p:Alive() end, function(p) return p:SteamID() end)\n``` \nReason: One loop, one output table, and no chained combinator/closure overhead or intermediate list allocations.",
      "durationMs": 13036,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 14564,
        "completionTokens": 657,
        "totalTokens": 15221,
        "reasoningTokens": 471,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:32.068Z",
      "completedAt": "2026-07-10T17:42:45.106Z",
      "answerBytes": 599,
      "answerChars": 599,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = player.GetAll()\n\nlocal function RefreshPlayerCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"MyPlayerCacheRefresh\", RefreshPlayerCache)\nhook.Add(\"PlayerDisconnected\", \"MyPlayerCacheRefresh\", RefreshPlayerCache)\n\nhook.Add(\"Tick\", \"MyCachedPlayerLoop\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        -- fast per-player work here\n    end\nend)\n``` \nReason: `player.GetAll()` allocates a fresh table every call; caching it and refreshing only on join/leave removes that per-tick work.",
      "durationMs": 14052,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 14565,
        "completionTokens": 561,
        "totalTokens": 15126,
        "reasoningTokens": 394,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:32.163Z",
      "completedAt": "2026-07-10T17:42:46.218Z",
      "answerBytes": 583,
      "answerChars": 583,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal tempByPly = setmetatable({}, { __mode = \"k\" })\n\nlocal function SetTemp(ply, value)\n    tempByPly[ply] = value\nend\n\nlocal function GetTemp(ply)\n    return tempByPly[ply]\nend\n``` \nReason: `tempByPly[ply]` is a plain upvalue table lookup; it avoids storing on the entity object itself and is the better hot-read path for temporary per-player data.",
      "durationMs": 31266,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 14552,
        "completionTokens": 2071,
        "totalTokens": 16623,
        "reasoningTokens": 1944,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:32.311Z",
      "completedAt": "2026-07-10T17:43:03.578Z",
      "answerBytes": 357,
      "answerChars": 357,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal items = {\n  \"apple\",\n  \"banana\",\n  \"cherry\",\n}\n\nfor i = 1, #items do\n  local value = items[i]\n  -- process value\nend\n```\nReason: Sequential integer-indexed arrays are faster to iterate than string-keyed maps because Lua can use dense array storage and cheap numeric indexing, while maps require hash lookups per key.",
      "durationMs": 9578,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 513,
        "totalTokens": 15064,
        "reasoningTokens": 405,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:32.448Z",
      "completedAt": "2026-07-10T17:42:42.029Z",
      "answerBytes": 329,
      "answerChars": 329,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 80, 40, 255)\n```\nReason: Passing raw RGBA numbers avoids Color table handling in a hot draw path.",
      "durationMs": 5737,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 14558,
        "completionTokens": 158,
        "totalTokens": 14716,
        "reasoningTokens": 102,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:32.564Z",
      "completedAt": "2026-07-10T17:42:38.302Z",
      "answerBytes": 130,
      "answerChars": 130,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamid = 'STEAM_0:1:12345'\nlocal rows = sql.Query(\"SELECT points FROM player_data WHERE steamid = \" .. sql.SQLStr(steamid))\n```\nReason: For a single GMod server with no sync requirement, local SQLite is typically lower latency because it avoids network round trips and remote DB connection overhead.",
      "durationMs": 8759,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 14574,
        "completionTokens": 398,
        "totalTokens": 14972,
        "reasoningTokens": 303,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:32.994Z",
      "completedAt": "2026-07-10T17:42:41.755Z",
      "answerBytes": 313,
      "answerChars": 313,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal SteamIDCache = setmetatable({}, { __mode = \"k\" }) -- weak keys: players fall out automatically\n\nlocal function CachedSteamID(ply)\n    local steamid = SteamIDCache[ply]\n    if steamid == nil then\n        steamid = ply:SteamID()\n        SteamIDCache[ply] = steamid\n    end\n    return steamid\nend\n\n-- Hot path use:\n-- local sid = CachedSteamID(ply)\n``` \nReason: This memoizes the C++ `ply:SteamID()` call per player entity, so repeated lookups hit a Lua table instead of crossing the Lua/C boundary every time.",
      "durationMs": 13022,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 424,
        "totalTokens": 14973,
        "reasoningTokens": 260,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:33.511Z",
      "completedAt": "2026-07-10T17:42:46.536Z",
      "answerBytes": 520,
      "answerChars": 520,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slow:\n-- local out = \"\"\n-- for i = 1, #pieces do\n--   out = out .. pieces[i]\n-- end\n\n-- Fast:\nlocal function build_string(pieces)\n  local out = {}\n  for i = 1, #pieces do\n    out[i] = pieces[i]\n  end\n  return table.concat(out)\nend\n\nlocal pieces = {}\nfor i = 1, 10000 do\n  pieces[i] = tostring(i)\nend\n\nlocal result = build_string(pieces)\n```\nReason: `table.concat` builds the final string in one pass, while repeated `..` creates many intermediate strings and copies.",
      "durationMs": 9600,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 326,
        "totalTokens": 14874,
        "reasoningTokens": 154,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:33.721Z",
      "completedAt": "2026-07-10T17:42:43.323Z",
      "answerBytes": 476,
      "answerChars": 476,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(col)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` is the direct solid-rectangle primitive, so it skips the extra rounded-box path and is a bit cheaper for plain non-rounded fills.",
      "durationMs": 10962,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 14554,
        "completionTokens": 469,
        "totalTokens": 15023,
        "reasoningTokens": 394,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:33.965Z",
      "completedAt": "2026-07-10T17:42:44.929Z",
      "answerBytes": 222,
      "answerChars": 222,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal font = \"HUD_FastLine\"\n\nsurface.CreateFont(font, {\n    font = \"Roboto\",\n    size = 24,\n    weight = 500,\n    antialias = true,\n    extended = true,\n})\n\nlocal function DrawFastLine(text, x, y, col)\n    surface.SetFont(font)\n    surface.SetTextColor(col.r, col.g, col.b, col.a or 255)\n    surface.SetTextPos(x, y)\n    surface.DrawText(text)\nend\n\nhook.Add(\"HUDPaint\", \"DrawFastLineExample\", function()\n    DrawFastLine(\"Single-line text\", 100, 100, color_white)\nend)\n``` \nReason: `surface.DrawText` with a cached font is the lightest path here; `draw.DrawText` adds extra layout work, and `draw.SimpleTextOutlined` is slower because it draws the text multiple times for the outline.",
      "durationMs": 12487,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 720,
        "totalTokens": 15271,
        "reasoningTokens": 494,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:34.648Z",
      "completedAt": "2026-07-10T17:42:47.136Z",
      "answerBytes": 691,
      "answerChars": 691,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal n = #t\n```\nReason: `#` is the standard Lua length operator for sequential array-like tables in Garry's Mod.",
      "durationMs": 4367,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 14541,
        "completionTokens": 152,
        "totalTokens": 14693,
        "reasoningTokens": 102,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:34.970Z",
      "completedAt": "2026-07-10T17:42:39.339Z",
      "answerBytes": 120,
      "answerChars": 120,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Generally faster when you can drop the old table entirely:\nt = {}\n```\nReason: `t = {}` only creates a new table and rebinds the variable, while `table.Empty(t)` has to walk and clear the existing table; use `table.Empty(t)` only when other references must keep seeing the same table.",
      "durationMs": 6717,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 14552,
        "completionTokens": 309,
        "totalTokens": 14861,
        "reasoningTokens": 220,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:35.036Z",
      "completedAt": "2026-07-10T17:42:41.755Z",
      "answerBytes": 293,
      "answerChars": 293,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    apple = true,\n    banana = true,\n    cherry = true\n}\n\nif allowed[value] then\n    print(\"exists\")\nend\n```\nReason: `table.HasValue` scans the whole list, while a key lookup in a set-like table is direct and faster.",
      "durationMs": 4858,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 14550,
        "completionTokens": 186,
        "totalTokens": 14736,
        "reasoningTokens": 98,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:35.324Z",
      "completedAt": "2026-07-10T17:42:40.184Z",
      "answerBytes": 241,
      "answerChars": 241,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = {\n    x = 1,\n    y = 2,\n    z = 3,\n}\n```\nReason: In Lua, a table constructor does the allocation and field setup in one step, while `local t = {}; t.x = 1; t.y = 2; t.z = 3` does extra assignments after creation, so the constructor is usually faster for small known tables.",
      "durationMs": 7182,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 337,
        "totalTokens": 14884,
        "reasoningTokens": 228,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:35.640Z",
      "completedAt": "2026-07-10T17:42:42.823Z",
      "answerBytes": 290,
      "answerChars": 290,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FastRandomElement(t)\n    return t[math.random(#t)]\nend\n```\nReason: `table.Random` handles arbitrary tables, while sequential tables can use direct indexed lookup with `math.random(#t)` and avoid the extra scan.",
      "durationMs": 5691,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 14545,
        "completionTokens": 220,
        "totalTokens": 14765,
        "reasoningTokens": 146,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:35.908Z",
      "completedAt": "2026-07-10T17:42:41.600Z",
      "answerBytes": 232,
      "answerChars": 232,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nx * x\n```\nReason: `x * x` avoids a function call and is the fastest simple way to square a number in Lua.",
      "durationMs": 4756,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 14540,
        "completionTokens": 174,
        "totalTokens": 14714,
        "reasoningTokens": 124,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:37.976Z",
      "completedAt": "2026-07-10T17:42:42.735Z",
      "answerBytes": 112,
      "answerChars": 112,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- visit each connected player here\nend\n```\nReason: `player.GetAll()` returns the current connected players as an array-like table, so `ipairs` iterates them in order.",
      "durationMs": 4826,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 14556,
        "completionTokens": 161,
        "totalTokens": 14717,
        "reasoningTokens": 89,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:38.135Z",
      "completedAt": "2026-07-10T17:42:42.963Z",
      "answerBytes": 219,
      "answerChars": 219,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- visit ent here\n    end\nend\n```\nReason: It streams entities with `ents.Iterator()` and filters by class, so it does not build `ents.GetAll()` first.",
      "durationMs": 54168,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 3706,
        "totalTokens": 18253,
        "reasoningTokens": 3624,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:38.303Z",
      "completedAt": "2026-07-10T17:43:32.472Z",
      "answerBytes": 240,
      "answerChars": 240,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: `hook.Add` registers `MyAddon.Think` as the named callback for the `Think` hook.",
      "durationMs": 6108,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 14555,
        "completionTokens": 307,
        "totalTokens": 14862,
        "reasoningTokens": 244,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:38.541Z",
      "completedAt": "2026-07-10T17:42:44.651Z",
      "answerBytes": 150,
      "answerChars": 150,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:Remove()\nend\n```\nReason: `IsValid` is the standard Garry's Mod guard for entity references, and it returns false when the entity is nil, removed, or otherwise invalid.",
      "durationMs": 10429,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 14550,
        "completionTokens": 587,
        "totalTokens": 15137,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:39.339Z",
      "completedAt": "2026-07-10T17:42:49.770Z",
      "answerBytes": 203,
      "answerChars": 203,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len)\n    -- handle message here\nend)\n```\nReason: `net.Receive` registers the callback that runs when the named incoming net message arrives.",
      "durationMs": 10847,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 14543,
        "completionTokens": 577,
        "totalTokens": 15120,
        "reasoningTokens": 516,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:42:39.625Z",
      "completedAt": "2026-07-10T17:42:50.473Z",
      "answerBytes": 184,
      "answerChars": 184,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- avoid this in tight loops:\n-- local ang = Angle()\n\nlocal ang = angle_zero\n```\nReason: `angle_zero` is a prebuilt zero Angle, so you skip per-call Angle userdata allocation in the hot path.",
      "durationMs": 18303,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 1104,
        "totalTokens": 15655,
        "reasoningTokens": 1034,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:40.185Z",
      "completedAt": "2026-07-10T17:42:58.489Z",
      "answerBytes": 198,
      "answerChars": 198,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal addon_color = myaddon.config.color\n\nprint(addon_color)\n```\nReason: a local/upvalue read is faster than repeated nested table lookups, and faster than a global read too.",
      "durationMs": 10145,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 14556,
        "completionTokens": 578,
        "totalTokens": 15134,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:40.795Z",
      "completedAt": "2026-07-10T17:42:50.942Z",
      "answerBytes": 181,
      "answerChars": 181,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: DarkRP exposes job as a DarkRPVar, so this uses the framework accessor instead of reading the underlying NW string directly.",
      "durationMs": 62042,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 14550,
        "completionTokens": 4160,
        "totalTokens": 18710,
        "reasoningTokens": 4097,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:41.173Z",
      "completedAt": "2026-07-10T17:43:43.217Z",
      "answerBytes": 183,
      "answerChars": 183,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif pos1:DistToSqr(pos2) <= (range * range) then\n    -- within range\nend\n```\nReason: `DistToSqr` skips the square root, so it is the right choice for threshold checks.",
      "durationMs": 5129,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 226,
        "totalTokens": 14777,
        "reasoningTokens": 155,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:41.259Z",
      "completedAt": "2026-07-10T17:42:46.390Z",
      "answerBytes": 173,
      "answerChars": 173,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ents.Iterator() do\n    -- visit each entity here\nend\n```\nReason: `ents.Iterator()` is the efficient entity walker, so it avoids building a full table when you only need to visit every entity once.",
      "durationMs": 23324,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 14545,
        "completionTokens": 1508,
        "totalTokens": 16053,
        "reasoningTokens": 1439,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:41.601Z",
      "completedAt": "2026-07-10T17:43:04.927Z",
      "answerBytes": 217,
      "answerChars": 217,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function GetNearbyEnts(ply, radius)\n    local pos = ply:GetPos()\n    local offset = Vector(radius, radius, radius)\n    return ents.FindInBox(pos - offset, pos + offset)\nend\n``` \nReason: `ents.FindInBox` is a cheap axis-aligned spatial query and is generally one of the faster built-in `FindIn*` options for nearby-entity checks, especially when you do not need `FindInPVS`.",
      "durationMs": 25546,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 14570,
        "completionTokens": 1674,
        "totalTokens": 16244,
        "reasoningTokens": 1552,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:41.756Z",
      "completedAt": "2026-07-10T17:43:07.306Z",
      "answerBytes": 386,
      "answerChars": 386,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function PlayersInRadius(pos, radius)\n    local radiusSqr = radius * radius\n    local result = {}\n    local allPlayers = player.GetAll()\n\n    for i = 1, #allPlayers do\n        local ply = allPlayers[i]\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            result[#result + 1] = ply\n        end\n    end\n\n    return result\nend\n``` \nReason: `player.GetAll()` scans only players instead of every entity, and `DistToSqr` avoids the square-root cost from full distance checks.",
      "durationMs": 24941,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 14562,
        "completionTokens": 1634,
        "totalTokens": 16196,
        "reasoningTokens": 1480,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:41.756Z",
      "completedAt": "2026-07-10T17:43:06.698Z",
      "answerBytes": 498,
      "answerChars": 498,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- tight loop body\nend\n```\nReason: Numeric `for` is generally faster than `while` in GMod Lua/LuaJIT because the VM can run it with less per-iteration bookkeeping.",
      "durationMs": 9904,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 14555,
        "completionTokens": 557,
        "totalTokens": 15112,
        "reasoningTokens": 484,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:42.030Z",
      "completedAt": "2026-07-10T17:42:51.937Z",
      "answerBytes": 190,
      "answerChars": 190,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch per tick, pass the full player list\nlocal players = player.GetAll()\nhook.Run(\"MyCustomTick\", players)\n\n-- Slower: one hook dispatch per player\n-- for _, ply in ipairs(player.GetAll()) do\n--     hook.Run(\"MyCustomTick\", ply)\n-- end\n``` \nReason: `hook.Run` has dispatch overhead; calling it once and handling all players in the hook avoids repeated per-player hook lookups and calls.",
      "durationMs": 10905,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 14561,
        "completionTokens": 639,
        "totalTokens": 15200,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:42.736Z",
      "completedAt": "2026-07-10T17:42:53.642Z",
      "answerBytes": 417,
      "answerChars": 417,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"MyHUD\", function()\n    local lp = LocalPlayer()\n    if not IsValid(lp) then return end\n\n    local health = lp:Health()\n\n    draw.SimpleText(health, \"Trebuchet18\", 20, 20, color_white)\n    draw.SimpleText(health, \"Trebuchet18\", 20, 40, color_white)\n    draw.SimpleText(health, \"Trebuchet18\", 20, 60, color_white)\nend)\n```\nReason: `LocalPlayer()` and `:Health()` are evaluated once, then reused by all three draw calls instead of repeating the same lookup three times each frame.",
      "durationMs": 32198,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 14558,
        "completionTokens": 2153,
        "totalTokens": 16711,
        "reasoningTokens": 1983,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:42.824Z",
      "completedAt": "2026-07-10T17:43:15.024Z",
      "answerBytes": 506,
      "answerChars": 506,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"MyPaintLoop\", function()\n    for i = 1, 100 do\n        surface.SetDrawColor(WHITE)\n        -- draw stuff here\n    end\nend)\n``` \nReason: Hoisting the color object avoids allocating a new table on every loop iteration.",
      "durationMs": 10678,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 14546,
        "completionTokens": 616,
        "totalTokens": 15162,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:42.964Z",
      "completedAt": "2026-07-10T17:42:53.643Z",
      "answerBytes": 281,
      "answerChars": 281,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 100000 do\n    local x = sin(i)\nend\n```\nReason: `local sin = math.sin` hoists the table lookup out of the hot loop, so each iteration calls a local instead of resolving `math.sin` repeatedly.",
      "durationMs": 5639,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 258,
        "totalTokens": 14806,
        "reasoningTokens": 173,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:43.324Z",
      "completedAt": "2026-07-10T17:42:48.965Z",
      "answerBytes": 230,
      "answerChars": 230,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal GetLocalPlayer = LocalPlayer\nlocal lp = GetLocalPlayer()\n\nhook.Add(\"Think\", \"CacheLocalPlayer\", function()\n    if not IsValid(lp) then\n        lp = GetLocalPlayer()\n    end\n\n    -- use `lp` here instead of calling LocalPlayer() repeatedly\nend)\n```\nReason: caching the global function in a local and reusing one player reference avoids repeated global lookup and repeated `LocalPlayer()` calls in hot code.",
      "durationMs": 40030,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 2709,
        "totalTokens": 17260,
        "reasoningTokens": 2588,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:44.056Z",
      "completedAt": "2026-07-10T17:43:24.087Z",
      "answerBytes": 418,
      "answerChars": 418,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal function PlayersLookingAtEachOther(ply1, ply2, dotThreshold)\n    dotThreshold = dotThreshold or 0.90 -- higher = stricter, about 25 degrees\n\n    local delta = ply2:GetShootPos() - ply1:GetShootPos()\n    local distSqr = delta:LengthSqr()\n    if distSqr == 0 then return false end\n\n    local dir = delta / math.sqrt(distSqr)\n    return ply1:GetAimVector():Dot(dir) >= dotThreshold\n       and ply2:GetAimVector():Dot(-dir) >= dotThreshold\nend\n``` \nReason: Dot product is the cheap test here: it avoids `math.acos` and gives a fast threshold check for whether each aim vector points toward the other player.",
      "durationMs": 94958,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 14565,
        "completionTokens": 1222,
        "totalTokens": 15787,
        "reasoningTokens": 1034,
        "cachedTokens": 14336
      },
      "startedAt": "2026-07-10T17:42:44.492Z",
      "completedAt": "2026-07-10T17:44:19.453Z",
      "answerBytes": 616,
      "answerChars": 616,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: `SomeHelper(ply)` is generally a bit faster because `ply:SomeHelper()` adds a method lookup and implicit `self` passing, so the plain function call is the cheaper direct path.",
      "durationMs": 9983,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 14557,
        "completionTokens": 586,
        "totalTokens": 15143,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:44.652Z",
      "completedAt": "2026-07-10T17:42:54.637Z",
      "answerBytes": 210,
      "answerChars": 210,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nMsgN(\"[dbg] hot path hit\")\n```\nReason: `MsgN` writes straight to the console and avoids `print`'s extra formatting work.",
      "durationMs": 17393,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 1090,
        "totalTokens": 15638,
        "reasoningTokens": 1034,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:44.930Z",
      "completedAt": "2026-07-10T17:43:02.325Z",
      "answerBytes": 127,
      "answerChars": 127,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal n = #numbers\nfor i = 1, n do\n    local v = numbers[i]\n    -- use v\nend\n``` \nReason: A numeric `for` is typically fastest for a dense sequential array in Garry's Mod Lua; `ipairs` adds iterator overhead and `pairs` is slower and not the right fit for array-only traversal.",
      "durationMs": 8122,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 14558,
        "completionTokens": 432,
        "totalTokens": 14990,
        "reasoningTokens": 335,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:45.107Z",
      "completedAt": "2026-07-10T17:42:53.230Z",
      "answerBytes": 284,
      "answerChars": 284,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function filterMap(src, keep, map)\n    local out = {}\n    local n = 0\n\n    for i = 1, #src do\n        local v = src[i]\n        if keep(v, i) then\n            n = n + 1\n            out[n] = map(v, i)\n        end\n    end\n\n    return out\nend\n\n-- Example: keep alive players and turn them into names.\nlocal names = filterMap(player.GetAll(), function(p)\n    return p:Alive() and p:GetNWBool(\"ready\", false)\nend, function(p)\n    return p:Nick()\nend)\n``` \nReason: This fuses filter and map into one numeric loop, so it avoids the extra intermediate tables and closure dispatch that DarkRP's `fn` combinators add.",
      "durationMs": 20137,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 14568,
        "completionTokens": 1235,
        "totalTokens": 15803,
        "reasoningTokens": 1034,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:46.219Z",
      "completedAt": "2026-07-10T17:43:06.357Z",
      "answerBytes": 619,
      "answerChars": 619,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Server-side player cache: rebuild only when roster changes.\nlocal cachedPlayers = player.GetAll()\n\nlocal function RefreshPlayerCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"RefreshPlayerCache\", RefreshPlayerCache)\nhook.Add(\"PlayerDisconnected\", \"RefreshPlayerCache\", RefreshPlayerCache)\n\nhook.Add(\"Think\", \"UseCachedPlayers\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n\n        if IsValid(ply) then\n            -- your per-player tick logic here\n        end\n    end\nend)\n``` \nReason: `player.GetAll()` allocates a fresh table; caching it and refreshing only on join/leave removes that work from every tick.",
      "durationMs": 28442,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 14567,
        "completionTokens": 1741,
        "totalTokens": 16308,
        "reasoningTokens": 1552,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:46.390Z",
      "completedAt": "2026-07-10T17:43:14.834Z",
      "answerBytes": 689,
      "answerChars": 689,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal tempByPly = setmetatable({}, { __mode = \"k\" })\n\nlocal function SetTemp(ply, value)\n    tempByPly[ply] = value\nend\n\nlocal function GetTemp(ply)\n    return tempByPly[ply]\nend\n``` \nReason: `tempByPly[ply]` is a plain upvalue-table lookup, which is usually faster on reads than entity field access, and weak keys keep it temporary.",
      "durationMs": 77588,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 14550,
        "completionTokens": 5302,
        "totalTokens": 19852,
        "reasoningTokens": 5178,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:46.537Z",
      "completedAt": "2026-07-10T17:44:04.126Z",
      "answerBytes": 340,
      "answerChars": 340,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal values = {\n  \"alpha\",\n  \"beta\",\n  \"gamma\",\n}\n\nfor i = 1, #values do\n  local value = values[i]\nend\n``` \nReason: sequential number-indexed arrays are faster to iterate than string-keyed maps because Lua can walk them with simple numeric indexing instead of hash lookups on string keys.",
      "durationMs": 17882,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 14555,
        "completionTokens": 615,
        "totalTokens": 15170,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:47.137Z",
      "completedAt": "2026-07-10T17:43:05.021Z",
      "answerBytes": 296,
      "answerChars": 296,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(255, 80, 40, 255)\n```\nReason: Passing raw `r, g, b, a` numbers avoids the `Color` object/table path and is the leaner call in a hot draw loop.",
      "durationMs": 16736,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 14560,
        "completionTokens": 474,
        "totalTokens": 15034,
        "reasoningTokens": 401,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:48.966Z",
      "completedAt": "2026-07-10T17:43:05.703Z",
      "answerBytes": 170,
      "answerChars": 170,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamid = ply:SteamID64()\nlocal row = sql.Query(\"SELECT kills, deaths FROM player_stats WHERE steamid = \" .. sql.SQLStr(steamid))\n```\nReason: On a single server with no sync requirement, local SQLite is typically lower latency because it avoids network round-trips and remote connection overhead.",
      "durationMs": 18030,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 14576,
        "completionTokens": 606,
        "totalTokens": 15182,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:49.770Z",
      "completedAt": "2026-07-10T17:43:07.803Z",
      "answerBytes": 309,
      "answerChars": 309,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamid_cache = setmetatable({}, { __mode = \"k\" })\n\nlocal function SteamIDCached(ply)\n    local sid = steamid_cache[ply]\n    if sid == nil then\n        sid = ply:SteamID()\n        steamid_cache[ply] = sid\n    end\n    return sid\nend\n\n-- hot path\nfor _, ply in ipairs(player.GetAll()) do\n    local steamid = SteamIDCached(ply)\n    -- use steamid\nend\n``` \nReason: `SteamID()` is stable per player, so memoizing it once per player avoids repeated Lua-to-engine calls in the hot path.",
      "durationMs": 35629,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 1872,
        "totalTokens": 16421,
        "reasoningTokens": 1710,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:50.474Z",
      "completedAt": "2026-07-10T17:43:26.107Z",
      "answerBytes": 492,
      "answerChars": 492,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal parts = {}\n\nfor i = 1, 10000 do\n    parts[#parts + 1] = get_piece(i)\nend\n\nlocal big = table.concat(parts)\n``` \nReason: `table.concat` joins all pieces in one pass, avoiding the repeated reallocations and copies caused by `s = s .. piece` in a loop.",
      "durationMs": 17788,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 14548,
        "completionTokens": 613,
        "totalTokens": 15161,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:50.942Z",
      "completedAt": "2026-07-10T17:43:08.731Z",
      "answerBytes": 261,
      "answerChars": 261,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` draws a plain rectangle directly, so it avoids the extra rounded-box path that `draw.RoundedBox(0, ...)` still goes through.",
      "durationMs": 16016,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 14552,
        "completionTokens": 396,
        "totalTokens": 14948,
        "reasoningTokens": 313,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:51.938Z",
      "completedAt": "2026-07-10T17:43:07.955Z",
      "answerBytes": 224,
      "answerChars": 224,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    surface.SetFont(\"Trebuchet18\")\n    surface.SetTextColor(255, 255, 255, 255)\n    surface.SetTextPos(32, 32)\n    surface.DrawText(\"Single-line text\")\nend)\n``` \nReason: `surface.DrawText` is the lowest-level path here, so it skips the extra alignment and wrapper work in `draw.DrawText`, and it avoids the multiple extra passes that `SimpleTextOutlined` does.",
      "durationMs": 33354,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 14549,
        "completionTokens": 1689,
        "totalTokens": 16238,
        "reasoningTokens": 1552,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:52.383Z",
      "completedAt": "2026-07-10T17:43:25.741Z",
      "answerBytes": 421,
      "answerChars": 421,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal len = #myTable\n```\nReason: `#` is the standard Lua length operator for sequential array-like tables.",
      "durationMs": 12974,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 14545,
        "completionTokens": 228,
        "totalTokens": 14773,
        "reasoningTokens": 182,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:53.231Z",
      "completedAt": "2026-07-10T17:43:06.207Z",
      "answerBytes": 113,
      "answerChars": 113,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nt = {}\n```\nReason: `t = {}` is generally faster because it only rebinds the variable to a fresh table; `table.Empty(t)` has to clear the existing table in place, which costs more when the table is large. Use `table.Empty(t)` only if other references must see the same table emptied.",
      "durationMs": 17838,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 14552,
        "completionTokens": 605,
        "totalTokens": 15157,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:53.643Z",
      "completedAt": "2026-07-10T17:43:11.483Z",
      "answerBytes": 289,
      "answerChars": 289,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    [\"prop_physics\"] = true,\n    [\"npc_combine_s\"] = true,\n    [\"npc_zombie\"] = true,\n}\n\nif allowed[ent:GetClass()] then\n    -- exists in the set\nend\n```\nReason: `allowed[value]` is a constant-time hash lookup, while `table.HasValue` walks the list linearly.",
      "durationMs": 19032,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 14554,
        "completionTokens": 624,
        "totalTokens": 15178,
        "reasoningTokens": 516,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:53.644Z",
      "completedAt": "2026-07-10T17:43:12.698Z",
      "answerBytes": 283,
      "answerChars": 283,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = {\n  foo = 1,\n  bar = 2,\n}\n```\nReason: The table constructor creates and fills the table in one step, so it avoids separate field assignments.",
      "durationMs": 17167,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 14551,
        "completionTokens": 525,
        "totalTokens": 15076,
        "reasoningTokens": 461,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:54.637Z",
      "completedAt": "2026-07-10T17:43:11.806Z",
      "answerBytes": 158,
      "answerChars": 158,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function RandomSequential(t)\n    return t[math.random(#t)]\nend\n```\nReason: `table.Random` walks the table to pick a value, while a sequential array can use `#t` plus direct indexing in O(1).",
      "durationMs": 13451,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 14547,
        "completionTokens": 307,
        "totalTokens": 14854,
        "reasoningTokens": 233,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:42:58.490Z",
      "completedAt": "2026-07-10T17:43:11.943Z",
      "answerBytes": 203,
      "answerChars": 203,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal y = x * x\n```\nReason: `x * x` is the fastest, simplest square in Lua; it avoids function-call overhead from `math.pow`.",
      "durationMs": 13110,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 14544,
        "completionTokens": 173,
        "totalTokens": 14717,
        "reasoningTokens": 117,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:43:02.326Z",
      "completedAt": "2026-07-10T17:43:15.438Z",
      "answerBytes": 132,
      "answerChars": 132,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.4-mini@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- do something with ply\nend\n```\nReason: `player.GetAll()` returns the current players as an array, so `ipairs` visits each connected player directly.",
      "durationMs": 15924,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 14556,
        "completionTokens": 294,
        "totalTokens": 14850,
        "reasoningTokens": 226,
        "cachedTokens": 13824
      },
      "startedAt": "2026-07-10T17:43:03.579Z",
      "completedAt": "2026-07-10T17:43:19.505Z",
      "answerBytes": 202,
      "answerChars": 202,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if IsValid(ent) and ent:GetClass() == \"prop_physics\" then\n        -- visit the prop_physics entity\n    end\nend\n```\nReason: `ents.Iterator()` streams entities directly from the engine so you avoid creating a full entity table first (unlike `ents.GetAll()`/`ents.FindByClass`).",
      "durationMs": 10734,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 853,
        "totalTokens": 12697,
        "reasoningTokens": 754,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:04.928Z",
      "completedAt": "2026-07-10T17:43:15.664Z",
      "answerBytes": 316,
      "answerChars": 316,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- callback logic\nend)\n```\n\nReason: `hook.Add` uses a string identifier to bind/removal-track the callback, and using `\"MyAddon.Think\"` gives you that unique callback handle on the `Think` hook.",
      "durationMs": 12208,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 11850,
        "completionTokens": 261,
        "totalTokens": 12111,
        "reasoningTokens": 175,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:05.021Z",
      "completedAt": "2026-07-10T17:43:17.231Z",
      "answerBytes": 251,
      "answerChars": 251,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:YourMethod()\nend\n```\nReason: `IsValid` is the Garry's Mod helper that returns false for nil, removed entities, and invalid handles, so it prevents calling methods on unsafe references.",
      "durationMs": 11316,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 203,
        "totalTokens": 12048,
        "reasoningTokens": 130,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:05.704Z",
      "completedAt": "2026-07-10T17:43:17.022Z",
      "answerBytes": 220,
      "answerChars": 220,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif SERVER then\n    util.AddNetworkString(\"MyAddon.Sync\")\n\n    net.Receive(\"MyAddon.Sync\", function(len, ply)\n        local payload = net.ReadString()\n        print(\"Received from\", ply:Nick(), payload)\n    end)\nend\n```\nReason: Use `util.AddNetworkString` on the server and `net.Receive(\"MyAddon.Sync\", ...)` to register the callback for incoming messages.",
      "durationMs": 10622,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 11836,
        "completionTokens": 418,
        "totalTokens": 12254,
        "reasoningTokens": 306,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:06.208Z",
      "completedAt": "2026-07-10T17:43:16.833Z",
      "answerBytes": 362,
      "answerChars": 362,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- Allocate once, zero on demand in place\nlocal zeroAng = Angle(0, 0, 0)\n\nlocal function getZeroAngle()\n    zeroAng.p, zeroAng.y, zeroAng.r = 0, 0, 0\n    return zeroAng\nend\n\n-- hot-path call\nlocal ang = getZeroAngle()\nent:SetAngles(ang)\n```\nReason: Reusing a single preallocated `Angle` avoids constructing a new Lua userdata every hot-path iteration, which is the costly part, and only updates three numeric fields (`p`,`y`,`r`) each call.",
      "durationMs": 13480,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 2138,
        "totalTokens": 13980,
        "reasoningTokens": 1989,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:06.358Z",
      "completedAt": "2026-07-10T17:43:19.840Z",
      "answerBytes": 447,
      "answerChars": 447,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal COLOR_SETTING = myaddon.config.color -- cache once at load/init time\nlocal function Draw()\n    local c = COLOR_SETTING\n    -- use c in hot path\nend\n```\nReason: A flat local (`COLOR_SETTING`) is fastest because Lua resolves locals by fast stack lookup and avoids repeated global+table chain lookups (`_G`, `myaddon`, `config`, `color`) each read; globals and nested tables add extra pointer/hash overhead per access, especially in hot loops.",
      "durationMs": 11566,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 11849,
        "completionTokens": 346,
        "totalTokens": 12195,
        "reasoningTokens": 224,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:06.699Z",
      "completedAt": "2026-07-10T17:43:18.266Z",
      "answerBytes": 453,
      "answerChars": 453,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: In DarkRP, `getDarkRPVar(\"job\")` is the canonical accessor for role data and works with DarkRP’s networked var system, while `ply:GetNWString(\"job\")` is a raw NW var call and can drift from DarkRP’s job tracking and is deprecated style.",
      "durationMs": 12251,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 1044,
        "totalTokens": 12887,
        "reasoningTokens": 945,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:07.307Z",
      "completedAt": "2026-07-10T17:43:19.560Z",
      "answerBytes": 299,
      "answerChars": 295,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal posA = Vector(10, 0, 0)\nlocal posB = Vector(13, 4, 0)\nlocal maxDist = 5\n\nif posA:DistToSqr(posB) <= maxDist * maxDist then\n    print(\"within threshold\")\nend\n```\nReason: `DistToSqr` compares squared distance directly, avoiding the expensive square-root call from `Distance` while giving the same threshold result by squaring the threshold once.",
      "durationMs": 9595,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 298,
        "totalTokens": 12142,
        "reasoningTokens": 173,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:07.804Z",
      "completedAt": "2026-07-10T17:43:17.401Z",
      "answerBytes": 356,
      "answerChars": 356,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fastest canonical walk for all entities\nfor ent in ents.Iterator() do\n    if IsValid(ent) then\n        -- Visit every entity here\n        print(ent:GetClass(), ent:EntIndex())\n    end\nend\n```\nReason: `ents.Iterator()` is the wiki-recommended efficient path because it avoids allocating an intermediate table like `ents.GetAll()`, which is preferable for full-entity scans.",
      "durationMs": 11275,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 11840,
        "completionTokens": 611,
        "totalTokens": 12451,
        "reasoningTokens": 503,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:07.956Z",
      "completedAt": "2026-07-10T17:43:19.232Z",
      "answerBytes": 382,
      "answerChars": 382,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Fast nearby entities from a player position, server-side\nlocal function GetNearbyEntitiesCheap(ply, radius)\n    local origin = ply:GetPos()\n    local half = Vector(radius, radius, radius)\n\n    local candidates = ents.FindInBox(origin - half, origin + half)\n\n    local near = {}\n    local radiusSq = radius * radius\n\n    for i = 1, #candidates do\n        local ent = candidates[i]\n        if IsValid(ent) and ent ~= ply then\n            local delta = ent:GetPos() - origin\n            if delta:LengthSqr() <= radiusSq then\n                near[#near + 1] = ent\n            end\n        end\n    end\n\n    return near\nend\n```\nReason: `ents.FindInBox` is commonly faster for proximity checks than `ents.FindInSphere` in GMod benchmarks because it performs a tight AABB broad phase first, then a cheap squared-distance filter removes false positives without trig/sqrt overhead.",
      "durationMs": 10888,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 11859,
        "completionTokens": 831,
        "totalTokens": 12690,
        "reasoningTokens": 595,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:08.732Z",
      "completedAt": "2026-07-10T17:43:19.622Z",
      "answerBytes": 880,
      "answerChars": 880,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function GetPlayersWithinRadius(pos, radius)\n    local players = player.GetHumans()  -- or player.GetAll() if you want bots too\n    local radiusSq = radius * radius\n    local out = {}\n\n    for i = 1, #players do\n        local ply = players[i]\n        if ply:IsValid() and ply:GetPos():DistToSqr(pos) <= radiusSq then\n            out[#out + 1] = ply\n        end\n    end\n\n    return out\nend\n```\nReason: You avoid scanning all nearby entities via ents.FindInSphere and only iterate over player entities directly, replacing one broad spatial query and broad per-entity filtering with a bounded player-only pass.",
      "durationMs": 11146,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 11853,
        "completionTokens": 1001,
        "totalTokens": 12854,
        "reasoningTokens": 826,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:11.484Z",
      "completedAt": "2026-07-10T17:43:22.631Z",
      "answerBytes": 620,
      "answerChars": 620,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal n = 1000000\nlocal sum = 0\n\nfor i = 1, n do\n    sum = sum + i\nend\n```\nReason: In Garry's Mod Lua, `for i = 1, n do` is generally faster than an equivalent `while` loop because the VM executes numeric `for` as an optimized opcode sequence, reducing per-iteration overhead versus manual increment/check logic.",
      "durationMs": 9951,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 503,
        "totalTokens": 12345,
        "reasoningTokens": 394,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:11.806Z",
      "completedAt": "2026-07-10T17:43:21.759Z",
      "answerBytes": 319,
      "answerChars": 319,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch per tick, not one per player.\nhook.Add(\"Think\", \"NotifyAllPlayersTick\", function()\n    local players = player.GetAll()\n    hook.Run(\"HandlePlayersTick\", players)\nend)\n\nhook.Add(\"HandlePlayersTick\", \"MyPlayerNotify\", function(players)\n    for i = 1, #players do\n        local ply = players[i]\n        -- custom per-player logic here\n    end\nend)\n```\nReason: `hook.Run` has global dispatch overhead, so one call with the full player array is cheaper than N calls on the same tick; the per-player work stays in one predictable loop inside the handler.",
      "durationMs": 16426,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 11854,
        "completionTokens": 708,
        "totalTokens": 12562,
        "reasoningTokens": 542,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:11.943Z",
      "completedAt": "2026-07-10T17:43:28.371Z",
      "answerBytes": 584,
      "answerChars": 584,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"FastHealthHUD\", function()\n    local ply = LocalPlayer()\n    if not IsValid(ply) then return end\n\n    local hp = ply:Health()\n    local maxHp = ply:GetMaxHealth()\n\n    draw.RoundedBox(0, 20, 20, maxHp, 12, Color(30, 30, 30, 200))\n    draw.RoundedBox(0, 20, 20, hp, 12, Color(0, 200, 0, 220))\n    draw.SimpleText(\"HP: \" .. hp .. \"/\" .. maxHp, \"DermaLarge\", 20 + maxHp / 2, 36, color_white, TEXT_ALIGN_CENTER, TEXT_ALIGN_TOP)\nend)\n```  \nReason: Cache the player entity and health values once before the three draw calls so you avoid three expensive `LocalPlayer():Health()` lookups in one frame.",
      "durationMs": 10596,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 11851,
        "completionTokens": 846,
        "totalTokens": 12697,
        "reasoningTokens": 616,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:12.699Z",
      "completedAt": "2026-07-10T17:43:23.296Z",
      "answerBytes": 622,
      "answerChars": 622,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Create once, not every paint iteration\nlocal WHITE = Color(255, 255, 255, 255)\n\nlocal function drawHUD()\n    local setColor = surface.SetDrawColor\n    local drawRect = surface.DrawRect\n\n    -- call once per frame, not per item\n    setColor(WHITE)\n\n    for i = 1, 100 do\n        drawRect(i * 3, 20, 2, 20)\n    end\nend\n\nhook.Add(\"HUDPaint\", \"FastWhiteRects\", drawHUD)\n```\nReason: Color() allocates a new color object each call, so cache it once (or use numeric args) and reuse it, and move SetDrawColor outside the loop to avoid redundant calls.",
      "durationMs": 9912,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 11837,
        "completionTokens": 625,
        "totalTokens": 12462,
        "reasoningTokens": 441,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:14.835Z",
      "completedAt": "2026-07-10T17:43:24.748Z",
      "answerBytes": 553,
      "answerChars": 553,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nlocal function tick(values, t)\n    local s = sin\n    for i = 1, #values do\n        local v = values[i]\n        values[i] = s(v + t) -- local upvalue lookup, no repeated math table/index lookup\n    end\n    return values\nend\n```\nReason: Hoist `math.sin` into a local once and use that local inside the hot loop so each iteration avoids repeated global/table lookups (`math` and field access) and pays only the function call overhead.",
      "durationMs": 11976,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 11839,
        "completionTokens": 461,
        "totalTokens": 12300,
        "reasoningTokens": 323,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:15.025Z",
      "completedAt": "2026-07-10T17:43:27.010Z",
      "answerBytes": 460,
      "answerChars": 460,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- Client-side: cache LocalPlayer() in module scope\nlocal lp\n\nlocal function getLocalPlayerCached()\n    if not lp or not IsValid(lp) then\n        lp = LocalPlayer()\n    end\n    return lp\nend\n\nhook.Add(\"InitPostEntity\", \"cache_local_player\", function()\n    lp = LocalPlayer()\nend)\n\nhook.Add(\"Think\", \"refresh_local_player_cache\", function()\n    if not lp or not IsValid(lp) then\n        lp = LocalPlayer()\n    end\n\n    -- use lp here instead of LocalPlayer()\n    local ply = lp\n    if ply:Alive() then\n        -- do stuff\n        -- ply:SetRunSpeed(250)\n    end\nend)\n\nhook.Add(\"OnPlayerDisconnected\", \"clear_local_player_cache\", function()\n    lp = nil\nend)\n```\nReason: Keep `LocalPlayer()` in a local cached reference and only re-fetch on initialization or invalidation, so normal callsites read one upvalue instead of repeating global lookups every tick/function call.",
      "durationMs": 10606,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 845,
        "totalTokens": 12687,
        "reasoningTokens": 595,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:15.440Z",
      "completedAt": "2026-07-10T17:43:26.053Z",
      "answerBytes": 876,
      "answerChars": 876,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal DOT_LIMIT = 0.8660254 -- cos(30°)\nlocal DOT_LIMIT2 = DOT_LIMIT * DOT_LIMIT\n\nlocal function playersRoughlyFacingEachOther(plyA, plyB)\n    local aA = plyA:GetAimVector()\n    local aB = plyB:GetAimVector()\n\n    local delta = plyB:EyePos() - plyA:EyePos()\n    local dist2 = delta:LengthSqr()\n    if dist2 <= 0 then return false end\n\n    local dA = aA:Dot(delta)\n    if dA <= 0 or dA * dA < DOT_LIMIT2 * dist2 then return false end\n\n    local dB = aB:Dot(-delta)\n    if dB <= 0 or dB * dB < DOT_LIMIT2 * dist2 then return false end\n\n    return true\nend\n```\nReason: It avoids `acos` by checking both players' aim vectors against the target direction with dot products, using squared-dot vs squared-threshold comparisons to skip vector normalization and expensive trig. ",
      "durationMs": 10880,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 11856,
        "completionTokens": 1555,
        "totalTokens": 13411,
        "reasoningTokens": 1298,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:15.668Z",
      "completedAt": "2026-07-10T17:43:26.558Z",
      "answerBytes": 777,
      "answerChars": 776,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Preferred for speed + flexibility when you control the helper\nlocal function SomeHelper(ply)\n    -- helper body\nend\n\nSomeHelper(ply)\n```\nReason: Method-call syntax (`ply:SomeHelper()`) is just sugar for `ply.SomeHelper(ply)`, so they compile to the same argument-passing form; use the plain function form when possible to avoid extra table lookup and keep intent clear.",
      "durationMs": 11179,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 11852,
        "completionTokens": 721,
        "totalTokens": 12573,
        "reasoningTokens": 613,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:16.833Z",
      "completedAt": "2026-07-10T17:43:28.013Z",
      "answerBytes": 379,
      "answerChars": 379,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal log = Msg -- cache global once for hot-path calls\n\nlocal function DebugLine(msg)\n    log(tostring(msg))\n    log(\"\\n\")\nend\n\n-- hot path\nDebugLine(\"spawned \" .. ent:EntIndex())\n```\nReason: `print` does table-like formatting and newline/arg handling each call, while `Msg`/`MsgN` writes directly to console with lower overhead in Garry's Mod.",
      "durationMs": 9801,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 544,
        "totalTokens": 12387,
        "reasoningTokens": 425,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:17.023Z",
      "completedAt": "2026-07-10T17:43:26.825Z",
      "answerBytes": 352,
      "answerChars": 352,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal sum = 0\nlocal n = #arr\nfor i = 1, n do\n    local v = arr[i]\n    sum = sum + v\nend\n```\nReason: Numeric `for` over contiguous indices (`1 .. #arr`) is typically fastest for array-like numeric tables in Garry's Mod Lua because it avoids iterator closures and hash traversal overhead, while `pairs`/`ipairs` add iterator function calls and extra runtime checks each step.",
      "durationMs": 10914,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 11849,
        "completionTokens": 370,
        "totalTokens": 12219,
        "reasoningTokens": 251,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:17.232Z",
      "completedAt": "2026-07-10T17:43:28.148Z",
      "answerBytes": 380,
      "answerChars": 380,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Fast 1-pass filter/map pipeline (faster than fn.filter/fn.map chains)\nlocal function buildTopSalaryPayouts()\n    local src = player.GetAll()\n    local dst = {}\n    local n = 0\n\n    for i = 1, #src do\n        local ply = src[i]\n        if ply:IsPlayer() and ply:Alive() and ply:Team() == TEAM_CITIZEN then\n            local money = ply:getDarkRPVar(\"money\")\n\n            if money and money > 2500 then\n                n = n + 1\n                dst[n] = {\n                    id = ply:SteamID64(),\n                    name = ply:Nick(),\n                    payout = money * 0.2,\n                }\n            end\n        end\n    end\n\n    return dst\nend\n\nlocal topSalaryPayouts = buildTopSalaryPayouts()\n```\nReason: one-pass imperative loop fuses multiple filter/map steps, builds only one output table, and avoids fn combinator iterator/function-call overhead in Tight loops.",
      "durationMs": 14103,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 11861,
        "completionTokens": 3131,
        "totalTokens": 14992,
        "reasoningTokens": 2874,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:17.402Z",
      "completedAt": "2026-07-10T17:43:31.506Z",
      "answerBytes": 883,
      "answerChars": 883,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal activePlayers = {}\nlocal playerIndex = {}\n\nlocal function AddCachedPlayer(ply)\n    if not IsValid(ply) or not ply:IsPlayer() or playerIndex[ply] then return end\n\n    playerIndex[ply] = #activePlayers + 1\n    activePlayers[#activePlayers + 1] = ply\nend\n\nlocal function RemoveCachedPlayer(ply)\n    local idx = playerIndex[ply]\n    if not idx then return end\n\n    local last = #activePlayers\n    local swapped = activePlayers[last]\n\n    activePlayers[idx] = swapped\n    playerIndex[swapped] = idx\n\n    activePlayers[last] = nil\n    playerIndex[ply] = nil\nend\n\nlocal function SyncPlayers()\n    for _, ply in ipairs(player.GetAll()) do\n        AddCachedPlayer(ply)\n    end\nend\n\nhook.Add(\"Initialize\", \"PlayerCache.Init\", function()\n    SyncPlayers()\nend)\n\nhook.Add(\"PlayerInitialSpawn\", \"PlayerCache.Add\", AddCachedPlayer)\nhook.Add(\"PlayerDisconnected\", \"PlayerCache.Remove\", RemoveCachedPlayer)\n\nhook.Add(\"Think\", \"PlayerCache.Think\", function()\n    for _, ply in ipairs(activePlayers) do\n        -- fast per-tick work over active players\n        -- do your tick logic with ply\n    end\nend)\n```\nReason: It replaces per-tick `ipairs(player.GetAll())` with a maintained cache updated only on `PlayerInitialSpawn`/`PlayerDisconnected`, so Think iterates the live player list in O(n) without rebuilding it every frame.",
      "durationMs": 14744,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 11858,
        "completionTokens": 983,
        "totalTokens": 12841,
        "reasoningTokens": 610,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:18.267Z",
      "completedAt": "2026-07-10T17:43:33.013Z",
      "answerBytes": 1323,
      "answerChars": 1323,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Fast per-player scratch storage keyed by entity index (faster than ply.someField)\nlocal tempByEnt = {}\n\nlocal function getState(ply)\n    local id = ply:EntIndex()               -- integer key lookup (faster than string field on entity)\n    local s = tempByEnt[id]\n    if s then return s end\n\n    s = {score = 0, last = 0}\n    tempByEnt[id] = s\n    return s\nend\n\nlocal function setState(ply, k, v)\n    getState(ply)[k] = v\nend\n\nhook.Add(\"Think\", \"PlayerPerfHotPath\", function()\n    for _, ply in ipairs(player.GetHumans()) do\n        local st = getState(ply)             -- one table lookup for all hot fields\n        st.score = st.score + 1\n        local s = st.score                   -- repeated reads are now from local table\n    end\nend)\n\nhook.Add(\"PlayerDisconnected\", \"CleanupTempByEnt\", function(ply)\n    tempByEnt[ply:EntIndex()] = nil\nend)\n```\nReason: Use a per-player table-of-tables keyed by `EntIndex()` and reuse that reference in hot loops to avoid dynamic property access on the player entity (`ply.someField`) each time, which is significantly slower and noisier for repeated reads.",
      "durationMs": 11050,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 925,
        "totalTokens": 12770,
        "reasoningTokens": 605,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:19.233Z",
      "completedAt": "2026-07-10T17:43:30.284Z",
      "answerBytes": 1108,
      "answerChars": 1108,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Preferred iteration shape: contiguous numeric keys (array), not string-keyed map.\nlocal function count_len_array()\n    local a = {\n        1, 2, 3, 4, 5,\n        6, 7, 8, 9, 10,\n    }\n\n    local sum = 0\n    for i = 1, #a do\n        sum = sum + a[i]\n    end\n    return sum\nend\n\nlocal function count_len_map()\n    local m = {\n        one = 1,\n        two = 2,\n        three = 3,\n        four = 4,\n        five = 5,\n        six = 6,\n        seven = 7,\n        eight = 8,\n        nine = 9,\n        ten = 10,\n    }\n\n    local sum = 0\n    for _, v in pairs(m) do\n        sum = sum + v\n    end\n    return sum\nend\n\n-- Usage note: use #index loops / ipairs for arrays, pairs only when keys are non-contiguous or non-numeric.\n```\nReason: Use number-indexed sequential arrays with `#`/`for i` (or `ipairs`) because Lua stores them in the array part and can iterate with low-overhead pointer-like traversal, while string-keyed maps use hash-table iteration which is slower and unordered.",
      "durationMs": 10788,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 11846,
        "completionTokens": 727,
        "totalTokens": 12573,
        "reasoningTokens": 394,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:19.506Z",
      "completedAt": "2026-07-10T17:43:30.295Z",
      "answerBytes": 985,
      "answerChars": 985,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal r, g, b, a = 255, 255, 255, 255\n\nlocal function DrawHot(x, y, w, h)\n    for i = 0, 1000 do\n        surface.SetDrawColor(r, g, b, a)\n        surface.DrawRect(x, y + i, w, h)\n    end\nend\n```\nReason: Passing raw `r, g, b, a` arguments in the hot loop is faster than building/using a `Color` object, which avoids table/metadata overhead each draw call.",
      "durationMs": 10929,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 11849,
        "completionTokens": 708,
        "totalTokens": 12557,
        "reasoningTokens": 565,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:19.561Z",
      "completedAt": "2026-07-10T17:43:30.491Z",
      "answerBytes": 361,
      "answerChars": 361,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sid = player:SteamID64()\nlocal row = sql.QueryRow(\"SELECT money FROM player_data WHERE steamid64 = \" .. sql.SQLStr(sid))\nif row then\n    print(\"money:\", row.money)\nend\n```\nReason: For a single Garry's Mod server with no cross-server sync, local SQLite via the built-in `sql` module is typically lower latency than remote MySQL because it avoids network roundtrips and extra connection/query overhead for every read/write.",
      "durationMs": 10875,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 11869,
        "completionTokens": 547,
        "totalTokens": 12416,
        "reasoningTokens": 421,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:19.625Z",
      "completedAt": "2026-07-10T17:43:30.501Z",
      "answerBytes": 434,
      "answerChars": 434,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fast cache for repeated SteamID lookups on hot paths.\nlocal steamIdCache = setmetatable({}, { __mode = \"k\" }) -- weak keys, auto-clean on disconnect\n\nlocal function GetSteamIDCached(ply)\n    if not IsValid(ply) then return nil end\n\n    local sid = steamIdCache[ply]\n    if sid ~= nil then\n        return sid\n    end\n\n    sid = ply:SteamID() -- expensive-ish when called many times per frame\n    steamIdCache[ply] = sid\n    return sid\nend\n\n-- Optional: prewarm cache when the player enters\nhook.Add(\"PlayerInitialSpawn\", \"PrewarmSteamIDCache\", function(ply)\n    steamIdCache[ply] = ply:SteamID()\nend)\n\n-- Hot path:\n-- use GetSteamIDCached(ply) instead of ply:SteamID()\nlocal function SomeHotPath(ply)\n    local sid = GetSteamIDCached(ply)\n    -- do stuff using sid\nend\n```\nReason: Cache by player object in a weak-key table and hydrate once, so repeated hot-path calls reuse the same SteamID string and avoid repeated native lookups.",
      "durationMs": 10424,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 814,
        "totalTokens": 12656,
        "reasoningTokens": 533,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:19.841Z",
      "completedAt": "2026-07-10T17:43:30.267Z",
      "answerBytes": 942,
      "answerChars": 942,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Build many small pieces\nlocal pieces = {}\nfor i = 1, 5000 do\n    pieces[i] = \"piece_\" .. i .. \" \"\nend\n\n-- Fast: build an array and join once\nlocal text = table.concat(pieces, \"\")\n\n-- Equivalent old pattern (slow for many iterations)\n-- local text2 = \"\"\n-- for i = 1, #pieces do\n--     text2 = text2 .. pieces[i]\n-- end\n```\nReason: Use `table.concat` to append once with linear cost and avoid O(n^2) reallocation behavior from repeated `..` concatenation in Lua.",
      "durationMs": 9552,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 548,
        "totalTokens": 12391,
        "reasoningTokens": 384,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:21.760Z",
      "completedAt": "2026-07-10T17:43:31.314Z",
      "answerBytes": 471,
      "answerChars": 471,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- faster replacement: direct rect draw when radius is always 0\nlocal SetDrawColor = surface.SetDrawColor\nlocal DrawRect = surface.DrawRect\n\nlocal function DrawFlatRects(rects)\n    for i = 1, #rects do\n        local r = rects[i]\n        SetDrawColor(r.r, r.g, r.b, r.a)\n        DrawRect(r.x, r.y, r.w, r.h)\n    end\nend\n```\nReason: `draw.RoundedBox(0, ...)` still routes through rounded-box path and table-based draw helpers, while `surface.SetDrawColor` + `surface.DrawRect` is the direct non-rounded primitive and avoids that overhead.",
      "durationMs": 7187,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 11847,
        "completionTokens": 650,
        "totalTokens": 12497,
        "reasoningTokens": 479,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:22.632Z",
      "completedAt": "2026-07-10T17:43:29.821Z",
      "answerBytes": 543,
      "answerChars": 543,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif not surfaceFont then\n    surface.CreateFont(\"FastSingleLine\", {\n        font = \"Roboto\",\n        size = 18,\n        weight = 500,\n        antialias = true,\n        additive = false,\n    })\n    surfaceFont = true\nend\n\nlocal txt = \"Health: \" .. LocalPlayer():Health()\nlocal x, y = 16, 16\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    local c = Color(255, 255, 255, 220) -- cache this in a local/ambient if you can\n\n    surface.SetFont(\"FastSingleLine\")\n    surface.SetTextColor(c.r, c.g, c.b, c.a)\n    surface.SetTextPos(x, y)\n    surface.DrawText(txt)\nend)\n```\nReason: `surface.DrawText` is the fastest for per-frame single-line text because it is the low-level text path and skips the extra argument, style, and outline/shadow processing done by `draw.DrawText`/`SimpleTextOutlined`. ",
      "durationMs": 8682,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 11848,
        "completionTokens": 1145,
        "totalTokens": 12993,
        "reasoningTokens": 888,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:23.297Z",
      "completedAt": "2026-07-10T17:43:31.980Z",
      "answerBytes": 807,
      "answerChars": 807,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal t = {\"a\", \"b\", \"c\"}\nlocal n = #t\n```\nReason: Use the length operator `#` (`local n = #t`) for sequential array-like tables; it returns the array length in Garry's Mod Lua.",
      "durationMs": 6529,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 11836,
        "completionTokens": 221,
        "totalTokens": 12057,
        "reasoningTokens": 144,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:24.088Z",
      "completedAt": "2026-07-10T17:43:30.621Z",
      "answerBytes": 184,
      "answerChars": 184,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Prefer rebind when you only need to drop the current contents.\n-- This is typically faster than table.Empty for large tables.\n\nlocal function resetSequential(t)\n    t = {}      -- O(1): replaces the table reference\n    return t\nend\n\nmyTable = resetSequential(myTable)\n```\nReason: `t = {}` is usually faster because it replaces the table in constant time, while `table.Empty(t)` must iterate and nil each element in `O(n)`; use `table.Empty` only when other references to the same table must stay valid.",
      "durationMs": 5895,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 527,
        "totalTokens": 12370,
        "reasoningTokens": 384,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:24.749Z",
      "completedAt": "2026-07-10T17:43:30.645Z",
      "answerBytes": 512,
      "answerChars": 512,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Slow: scans every item until match\nlocal function hasValueList(list, needle)\n    return table.HasValue(list, needle)\nend\n\n-- Fast: constant-time set lookup\nlocal function buildSet(list)\n    local set = {}\n    for _, value in ipairs(list) do\n        set[value] = true\n    end\n    return set\nend\n\nlocal blacklist = buildSet({\"smg1\", \"ar2\", \"crossbow\"})\n\nlocal function hasValueSet(set, needle)\n    return set[needle] == true\nend\n\n-- Usage\nprint(hasValueSet(blacklist, \"ar2\"))      -- true\nprint(hasValueSet(blacklist, \"physgun\"))  -- false\n```\nReason: Convert the source list once into a key-indexed table and use O(1) key lookup instead of O(n) scanning on every check.",
      "durationMs": 4111,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 403,
        "totalTokens": 12248,
        "reasoningTokens": 188,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:25.742Z",
      "completedAt": "2026-07-10T17:43:29.854Z",
      "answerBytes": 678,
      "answerChars": 678,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: build all known fields in one constructor.\nlocal t = {\n    hp = 100,\n    armor = 50,\n    name = \"Pilot\"\n}\n```\nReason: A literal table constructor allocates and populates entries in one step, which avoids extra table writes/lookups from `{}` plus `t.hp = ...` assignments and is the idiomatic fast path in Lua/GLua.",
      "durationMs": 3369,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 332,
        "totalTokens": 12174,
        "reasoningTokens": 223,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:26.054Z",
      "completedAt": "2026-07-10T17:43:29.424Z",
      "answerBytes": 332,
      "answerChars": 332,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function randomSequential(t)\n    local n = #t\n    if n == 0 then return nil end\n    return t[math.random(1, n)]\nend\n\n-- usage\nlocal pick = randomSequential(myArray)\n```\nReason: `table.Random` must inspect keys and hashes them, while numeric-indexed tables can use `#t` plus one `math.random` and O(1) direct index lookup for the common array case.",
      "durationMs": 3113,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 11840,
        "completionTokens": 300,
        "totalTokens": 12140,
        "reasoningTokens": 181,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:26.108Z",
      "completedAt": "2026-07-10T17:43:29.223Z",
      "answerBytes": 360,
      "answerChars": 360,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function processLoop(xs)\n    local acc = 0\n    for i = 1, #xs do\n        local x = xs[i]\n        local sq = x * x\n        acc = acc + sq\n    end\n    return acc\nend\n```\nReason: In a tight Garry's Mod Lua loop, `x * x` is the preferred fast form for squaring because it is a direct arithmetic multiply with no exponent operator or `math.pow` call overhead.",
      "durationMs": 2278,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 11833,
        "completionTokens": 396,
        "totalTokens": 12229,
        "reasoningTokens": 273,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:26.558Z",
      "completedAt": "2026-07-10T17:43:28.838Z",
      "answerBytes": 367,
      "answerChars": 367,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@low",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- do something with ply\nend\n```\nReason: `player.GetAll()` returns the active player list, and iterating it once visits every currently connected player.",
      "durationMs": 2301,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 11853,
        "completionTokens": 171,
        "totalTokens": 12024,
        "reasoningTokens": 105,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:26.826Z",
      "completedAt": "2026-07-10T17:43:29.128Z",
      "answerBytes": 205,
      "answerChars": 205,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ipairs(ents.FindByClass(\"prop_physics\")) do\n    if IsValid(ent) then\n        -- process ent\n    end\nend\n```\nReason: `ents.FindByClass` directly returns only `prop_physics` entities, so the loop visits only that class without first building a full-map entity list.",
      "durationMs": 3789,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 1446,
        "totalTokens": 13290,
        "reasoningTokens": 1354,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:27.011Z",
      "completedAt": "2026-07-10T17:43:30.801Z",
      "answerBytes": 284,
      "answerChars": 284,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\nend)\n```\nReason: `hook.Add` registers the callback to execute on every frame via `Think`, and `MyAddon.Think` is the hook identifier string used to track/overwrite/remove this hook later.",
      "durationMs": 4196,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 11848,
        "completionTokens": 402,
        "totalTokens": 12250,
        "reasoningTokens": 323,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:28.014Z",
      "completedAt": "2026-07-10T17:43:32.212Z",
      "answerBytes": 240,
      "answerChars": 240,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    -- safe to call methods on ent\nend\n```\nReason: `IsValid(ent)` is the canonical GMod validity check and guarantees `ent` is non-nil and not a NULL/removed entity before calling methods.",
      "durationMs": 2766,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 299,
        "totalTokens": 12142,
        "reasoningTokens": 225,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:28.148Z",
      "completedAt": "2026-07-10T17:43:30.916Z",
      "answerBytes": 216,
      "answerChars": 216,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    local data = net.ReadString()\n    -- handle data from the message here\nend)\n```\nReason: `net.Receive` registers a callback for that net message name so your function executes automatically when `MyAddon.Sync` arrives over the network.",
      "durationMs": 2749,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 11834,
        "completionTokens": 364,
        "totalTokens": 12198,
        "reasoningTokens": 278,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:28.372Z",
      "completedAt": "2026-07-10T17:43:31.122Z",
      "answerBytes": 292,
      "answerChars": 292,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal _zeroAngle = Angle(0, 0, 0) -- one allocation, done once\n\nlocal function GetZeroAngle()\n    _zeroAngle.p = 0\n    _zeroAngle.y = 0\n    _zeroAngle.r = 0\n    return _zeroAngle\nend\n\n-- hot path:\n-- local a = GetZeroAngle()\n```\nReason: Reusing a preallocated Angle and zeroing its fields in-place avoids repeated `Angle()` construction and allocator/GC overhead, which is the usual hot-path win in Garry's Mod Lua.",
      "durationMs": 13614,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 2976,
        "totalTokens": 14820,
        "reasoningTokens": 2833,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:28.838Z",
      "completedAt": "2026-07-10T17:43:42.454Z",
      "answerBytes": 422,
      "answerChars": 422,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- cache once at load time\nlocal addon_color = myaddon.config.color\n\n-- frequent read\nlocal color = addon_color\n```\nReason: A flat local variable is fastest because it avoids repeated `global -> table -> field` lookups (`myaddon.config.color`), so frequent reads hit only a local access.",
      "durationMs": 3638,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 11851,
        "completionTokens": 664,
        "totalTokens": 12515,
        "reasoningTokens": 578,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:29.129Z",
      "completedAt": "2026-07-10T17:43:32.768Z",
      "answerBytes": 294,
      "answerChars": 294,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Prefer this in DarkRP:\nlocal jobName = ply:getDarkRPVar(\"job\")\n\n-- (legacy Raw NWString equivalent):\n-- local jobName = ply:GetNWString(\"job\")\n```\nReason: `getDarkRPVar(\"job\")` is the DarkRP-specific accessor for player darkrp vars, kept in sync with job updates and more stable than reading raw NW strings directly.",
      "durationMs": 5505,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 1137,
        "totalTokens": 12980,
        "reasoningTokens": 1029,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:29.224Z",
      "completedAt": "2026-07-10T17:43:34.731Z",
      "answerBytes": 326,
      "answerChars": 326,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal p1 = Vector(10, 10, 0)\nlocal p2 = Vector(20, 10, 0)\nlocal maxDistance = 64\n\nif p1:DistToSqr(p2) < maxDistance * maxDistance then\n    -- they are within range\nend\n```\nReason: Use `Vector:DistToSqr` for threshold checks because it compares squared distance and avoids the costly square-root in `Distance()`.",
      "durationMs": 3274,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 459,
        "totalTokens": 12303,
        "reasoningTokens": 341,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:29.425Z",
      "completedAt": "2026-07-10T17:43:32.700Z",
      "answerBytes": 318,
      "answerChars": 318,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 1 through 1 candidate loops.",
      "finalResponse": "```lua\nif ents.Iterator then\n    for ent in ents.Iterator() do\n        -- do something with ent\n        print(ent:GetClass())\n    end\nelse\n    for _, ent in ipairs(ents.GetAll()) do\n        -- do something with ent\n        print(ent:GetClass())\n    end\nend\n```\nReason: Uses `ents.Iterator()` first as the efficient per-tick entity traversal pattern, with `ents.GetAll()` fallback only if the iterator is unavailable.",
      "durationMs": 3512,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 11840,
        "completionTokens": 1468,
        "totalTokens": 13308,
        "reasoningTokens": 1347,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:29.821Z",
      "completedAt": "2026-07-10T17:43:33.335Z",
      "answerBytes": 416,
      "answerChars": 416,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Server-side: cheap nearby-entity query (AABB prefilter) around a player\nlocal function GetNearbyEntities(ply, radius)\n    local origin = ply:GetPos()\n    local ext = Vector(radius, radius, radius)\n    local mins = origin - ext\n    local maxs = origin + ext\n\n    local sphereSq = radius * radius\n    local result = {}\n\n    -- faster FindIn* choice: ents.FindInBox + exact radius filter\n    for _, ent in ipairs(ents.FindInBox(mins, maxs)) do\n        if ent ~= ply and ent:GetPos():DistToSqr(origin) <= sphereSq then\n            result[#result + 1] = ent\n        end\n    end\n\n    return result\nend\n\nlocal nearby = GetNearbyEntities(player.GetByID(1), 768)\n``` \nReason: Using `ents.FindInBox` gives a fast engine-side broadphase pass, then a single squared-distance check keeps only entities within the true sphere radius without the heavier PVS path.",
      "durationMs": 4162,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 11861,
        "completionTokens": 1560,
        "totalTokens": 13421,
        "reasoningTokens": 1315,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:29.855Z",
      "completedAt": "2026-07-10T17:43:34.018Z",
      "answerBytes": 858,
      "answerChars": 858,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function FindPlayersInRadius(origin, radius)\n    local originPos = Vector(origin)\n    local radiusSq = radius * radius\n    local players = player.GetAll()\n    local out = {}\n\n    for i = 1, #players do\n        local ply = players[i]\n        if ply:IsPlayer() and ply:IsValid() and ply:GetPos():DistToSqr(originPos) <= radiusSq then\n            out[#out + 1] = ply\n        end\n    end\n\n    return out\nend\n```\nReason: `ents.FindInSphere` scans all entities and allocates a larger result set, while iterating `player.GetAll()` (or `player.GetHumans()`) and using `DistToSqr` keeps work proportional to players only and avoids expensive sqrt in distance checks.",
      "durationMs": 6102,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 11853,
        "completionTokens": 1022,
        "totalTokens": 12875,
        "reasoningTokens": 826,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:30.268Z",
      "completedAt": "2026-07-10T17:43:36.371Z",
      "answerBytes": 670,
      "answerChars": 670,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal n = 1000000\nlocal sum = 0\n\nfor i = 1, n do\n    sum = sum + i\nend\n```\nReason: `for i = 1, n do` is usually faster in Garry's Mod Lua because numeric `for` is a built-in optimized loop form, while a manual `while` loop pays extra Lua-level increment and branch overhead.",
      "durationMs": 3408,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 641,
        "totalTokens": 12485,
        "reasoningTokens": 536,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:30.285Z",
      "completedAt": "2026-07-10T17:43:33.697Z",
      "answerBytes": 281,
      "answerChars": 281,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function processPlayers(players, now, dt)\n    for i = 1, #players do\n        local ply = players[i]\n        if IsValid(ply) then\n            -- per-player custom logic\n        end\n    end\nend\n\nhook.Add(\"Think\", \"Tick_AllPlayersOnce\", function()\n    local players = player.GetAll()\n    if #players == 0 then return end\n\n    hook.Run(\"OnPlayersTick\", players, CurTime(), FrameTime())\nend)\n\nhook.Add(\"OnPlayersTick\", \"CustomPlayerTick\", function(players, now, dt)\n    processPlayers(players, now, dt)\nend)\n```\nReason: One `hook.Run` call per tick does a single callback dispatch, so you avoid the O(n) hook-invocation overhead of calling `hook.Run` per player; per-player work stays in one loop you control.",
      "durationMs": 10389,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 11856,
        "completionTokens": 1069,
        "totalTokens": 12925,
        "reasoningTokens": 855,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:30.296Z",
      "completedAt": "2026-07-10T17:43:40.688Z",
      "answerBytes": 717,
      "answerChars": 717,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"HudPaintHealth_Fast\", function()\n    local ply = LocalPlayer()\n    if not IsValid(ply) then return end\n\n    local hp = ply:Health()\n    local hpText = \"HP: \" .. hp\n    local hpClamped = math.Clamp(hp, 0, 100)\n\n    draw.SimpleText(hpText, \"DermaLarge\", 24, 24, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP)\n    draw.RoundedBox(0, 24, 56, 200, 16, Color(0, 0, 0, 180))\n    draw.RoundedBox(0, 24, 56, hpClamped * 2, 16, Color(0, 180, 0, 220))\n    draw.SimpleText(hpClamped .. \"%\", \"DermaLarge\", 24, 80, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP)\nend)\n```\nReason: Cache `LocalPlayer()` and `Health()` once per frame, then reuse `hp` across all three draw operations instead of calling `LocalPlayer():Health()` three times.",
      "durationMs": 4565,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 11851,
        "completionTokens": 1299,
        "totalTokens": 13150,
        "reasoningTokens": 1021,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:30.491Z",
      "completedAt": "2026-07-10T17:43:35.058Z",
      "answerBytes": 750,
      "answerChars": 750,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = color_white -- built-in Color(255, 255, 255, 255)\nlocal SetDrawColor = surface.SetDrawColor\nlocal DrawRect = surface.DrawRect\n\nhook.Add(\"HUDPaint\", \"PaintBars\", function()\n    SetDrawColor(WHITE) -- set once per paint call, not per iteration\n\n    for i = 1, #rects do\n        local r = rects[i]\n        DrawRect(r.x, r.y, r.w, r.h)\n    end\nend)\n```\nReason: Cache a `Color` (or use `color_white`) once and avoid creating one every loop iteration, while also moving `SetDrawColor` out of the inner loop to reduce per-item overhead.",
      "durationMs": 4891,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 11839,
        "completionTokens": 1332,
        "totalTokens": 13171,
        "reasoningTokens": 1152,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:30.502Z",
      "completedAt": "2026-07-10T17:43:35.394Z",
      "answerBytes": 550,
      "answerChars": 550,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin\n\nfor i = 1, 1000000 do\n    local v = sin(i * 0.01)\n    -- ... use v\nend\n```\nReason: `sin` as a local is fetched once from `math` and then called directly, avoiding repeated global `_ENV` lookup (`math` table lookup + field access) on every loop iteration.",
      "durationMs": 3228,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 11839,
        "completionTokens": 563,
        "totalTokens": 12402,
        "reasoningTokens": 460,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:30.622Z",
      "completedAt": "2026-07-10T17:43:33.852Z",
      "answerBytes": 283,
      "answerChars": 283,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal lp\n\nlocal function cacheLocalPlayer()\n    if not IsValid(lp) then\n        lp = LocalPlayer()\n    end\n    return lp\nend\n\nhook.Add(\"Think\", \"CacheLocalPlayer\", function()\n    cacheLocalPlayer()\nend)\n\n-- Hot path: no LocalPlayer() call anymore\nlocal function updateHUD()\n    if not lp or not lp:IsValid() then return end\n\n    local pos = lp:GetPos()\n    local vel = lp:GetVelocity()\n    -- ... fast per-frame/client logic\nend\nhook.Add(\"Think\", \"MyFastLoop\", updateHUD)\n```\nReason: Cache `LocalPlayer()` in an upvalue once (or when it becomes invalid) and reuse that variable in hot loops so each frame logic avoids repeated global entity lookup.",
      "durationMs": 9332,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 1644,
        "totalTokens": 13486,
        "reasoningTokens": 1451,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:30.646Z",
      "completedAt": "2026-07-10T17:43:39.983Z",
      "answerBytes": 655,
      "answerChars": 655,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal COS_45 = 0.7071068 -- cos(45°): adjust for tighter/looser cone\n\nlocal function ArePlayersRoughlyFacingEachOther(p1, p2)\n    local toP2 = p2:GetShootPos() - p1:GetShootPos()\n    if toP2:LengthSqr() <= 0 then return false end\n\n    toP2:Normalize() -- unit vector p1 -> p2\n\n    local f1 = p1:EyeAngles():Forward():Dot(toP2)   -- p1 aiming at p2\n    local f2 = p2:EyeAngles():Forward():Dot(-toP2)  -- p2 aiming at p1\n\n    return f1 >= COS_45 and f2 >= COS_45\nend\n\nif ArePlayersRoughlyFacingEachOther(p1, p2) then\n    -- mutual-ish eye contact\nend\n```\nReason: Use a normalized vector between players and compare both players' forward-dot-direction against a cosine threshold, which is a constant-time, no-`acos` check. ",
      "durationMs": 3713,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 11856,
        "completionTokens": 1731,
        "totalTokens": 13587,
        "reasoningTokens": 1475,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:30.805Z",
      "completedAt": "2026-07-10T17:43:34.527Z",
      "answerBytes": 728,
      "answerChars": 727,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: No meaningful speed win for `ply:SomeHelper()` on a self-pass helper since `:` is just Lua sugar (`obj:fn(...) -> obj.fn(obj, ...)`), so for an internal helper `SomeHelper(ply)` is usually the better explicit call (use `:` only when you mean a real method API).",
      "durationMs": 4015,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 11850,
        "completionTokens": 1339,
        "totalTokens": 13189,
        "reasoningTokens": 1243,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:30.917Z",
      "completedAt": "2026-07-10T17:43:34.934Z",
      "answerBytes": 296,
      "answerChars": 296,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\n-- Faster console logging in hot paths for Garry's Mod Lua\nlocal console = MsgN\n\nif should_debug then\n    console(\"[DBG] \", CurTime(), \" state=\", state, \" pos=\", myPos)\nend\n```\nReason: `MsgN` is the GMod-native console writer and is lighter than `print` because it avoids `print`'s heavier Lua formatting path and is intended for frequent debug output.",
      "durationMs": 4221,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 1209,
        "totalTokens": 13052,
        "reasoningTokens": 1094,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:31.124Z",
      "completedAt": "2026-07-10T17:43:35.348Z",
      "answerBytes": 359,
      "answerChars": 359,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal nums = {...} -- large sequential array-like table\n\nlocal n = #nums\nlocal sum = 0\n\nfor i = 1, n do\n    local v = nums[i]\n    sum = sum + v\nend\n```\nReason: Use a numeric `for` with cached `#nums` because it is a direct indexed loop with no iterator overhead (`pairs`/`ipairs` allocate closures/calls per step), and is the fastest option for dense arrays in Luau/Lua 5.1 used by Garry's Mod.",
      "durationMs": 3427,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 11849,
        "completionTokens": 647,
        "totalTokens": 12496,
        "reasoningTokens": 509,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:31.314Z",
      "completedAt": "2026-07-10T17:43:34.743Z",
      "answerBytes": 401,
      "answerChars": 401,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function getAlivePlayerNames(players)\n    local out = {}\n    local outN = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n\n        -- filter -> map -> filter -> map, all in one loop\n        if IsValid(ply) and ply:Alive() then\n            local name = ply:Nick()\n            if name ~= \"\" then\n                outN = outN + 1\n                out[outN] = string.lower(name)\n            end\n        end\n    end\n\n    return out\nend\n\nlocal names = getAlivePlayerNames(player.GetAll())\n```\nReason: This keeps the pipeline in a single numeric for-loop, avoids creating nested iterator wrappers and temporary tables from fn combinators, and reduces function call overhead.",
      "durationMs": 4347,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 11859,
        "completionTokens": 1959,
        "totalTokens": 13818,
        "reasoningTokens": 1764,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:31.507Z",
      "completedAt": "2026-07-10T17:43:35.856Z",
      "answerBytes": 691,
      "answerChars": 691,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\nlocal playerIndex = {}\n\nlocal function cacheAdd(ply)\n    if not IsValid(ply) or playerIndex[ply] then return end\n\n    local idx = #cachedPlayers + 1\n    cachedPlayers[idx] = ply\n    playerIndex[ply] = idx\nend\n\nlocal function cacheRemove(ply)\n    local idx = playerIndex[ply]\n    if not idx then return end\n\n    local lastIdx = #cachedPlayers\n    local lastPly = cachedPlayers[lastIdx]\n\n    cachedPlayers[idx] = lastPly\n    playerIndex[lastPly] = idx\n\n    cachedPlayers[lastIdx] = nil\n    playerIndex[ply] = nil\nend\n\nlocal function rebuildCache()\n    table.Empty(cachedPlayers)\n    table.Empty(playerIndex)\n    for _, ply in ipairs(player.GetAll()) do\n        cacheAdd(ply)\n    end\nend\n\nhook.Add(\"Initialize\", \"MyPlayerCacheInit\", rebuildCache)\nhook.Add(\"PlayerInitialSpawn\", \"MyPlayerCacheAdd\", cacheAdd)\nhook.Add(\"PlayerDisconnected\", \"MyPlayerCacheRemove\", cacheRemove)\n\nhook.Add(\"Think\", \"MyTick\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- per-tick logic on cached players\n        end\n    end\nend)\n```\nReason: Keeps one player list in memory and updates it only on PlayerInitialSpawn/PlayerDisconnected, so Tick/Think avoids calling player.GetAll() each frame.",
      "durationMs": 4344,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 11860,
        "completionTokens": 2130,
        "totalTokens": 13990,
        "reasoningTokens": 1757,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:31.981Z",
      "completedAt": "2026-07-10T17:43:36.326Z",
      "answerBytes": 1278,
      "answerChars": 1278,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal playerData = setmetatable({}, { __mode = \"k\" }) -- weak keys, auto cleanup with entity GC\n\nhook.Add(\"PlayerInitialSpawn\", \"pm_init\", function(ply)\n    -- numeric slots are faster than string keys on every read\n    playerData[ply] = { 0, 0, 0 } -- [1]=kills, [2]=deaths, [3]=combo\nend)\n\nhook.Add(\"PlayerDisconnected\", \"pm_cleanup\", function(ply)\n    playerData[ply] = nil\nend)\n\nlocal function AddKill(ply)\n    local d = playerData[ply]\n    if d then d[1] = d[1] + 1 end\nend\n\nlocal function GetKills(ply)\n    local d = playerData[ply]\n    return d and d[1] or 0\nend\n\nlocal function Tick()\n    for _, ply in ipairs(player.GetAll()) do\n        local d = playerData[ply]\n        if d then\n            local kills = d[1]\n            local deaths = d[2]\n            -- use kills/deaths quickly in hot path\n        end\n    end\nend\n```\nReason: Using a dedicated weak-key table of compact numeric slots avoids per-read entity-table field dispatch (`ply.someField`) and string-key lookups, so reads/writes hit a plain Lua table cache in O(1) with lower overhead.",
      "durationMs": 9958,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 2237,
        "totalTokens": 14080,
        "reasoningTokens": 1903,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:32.213Z",
      "completedAt": "2026-07-10T17:43:42.173Z",
      "answerBytes": 1064,
      "answerChars": 1064,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Faster for fixed collections: dense, sequential numeric table\nlocal collection = { \"red\", \"green\", \"blue\" }\n\nlocal sum = 0\nfor i = 1, #collection do\n    sum = sum + #collection          -- fast indexed access in numeric loop\n    print(i, collection[i])          -- O(1) array traversal\nend\n\n-- Slower alternative when iterating the same fixed data:\nlocal map = {\n    red = true,\n    green = true,\n    blue = true,\n}\n\nfor key, value in pairs(map) do\n    print(key, value)                -- hash lookup + unordered traversal\nend\n```\nReason: For fixed collections in Garry's Mod Lua, use a dense array (sequential numeric keys) and a numeric for-loop or `ipairs`, which is the fastest/most predictable iteration shape, while string-keyed maps with `pairs` iterate hash buckets and are slower and unordered.",
      "durationMs": 3628,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 11848,
        "completionTokens": 1246,
        "totalTokens": 13094,
        "reasoningTokens": 1020,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:32.473Z",
      "completedAt": "2026-07-10T17:43:36.103Z",
      "answerBytes": 813,
      "answerChars": 813,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal setDrawColor = surface.SetDrawColor\nlocal r, g, b, a = 255, 255, 255, 255\n\nlocal function paint()\n    setDrawColor(r, g, b, a) -- hot path\n    -- draw calls...\nend\n\nhook.Add(\"HUDPaint\", \"FastDraw\", paint)\n```\nReason: `surface.SetDrawColor(r, g, b, a)` with locals is faster in hot loops because it avoids creating/reading a `Color` table each call.",
      "durationMs": 6258,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 11851,
        "completionTokens": 669,
        "totalTokens": 12520,
        "reasoningTokens": 536,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:32.700Z",
      "completedAt": "2026-07-10T17:43:38.959Z",
      "answerBytes": 361,
      "answerChars": 361,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function getPlayerMoney(steamID)\n    return tonumber(sql.QueryValue(\"SELECT money FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID))) or 0\nend\n```\nReason: Use local SQLite via Garry's Mod `sql` for a single server because it is in-process/local-file storage and avoids MySQL’s network round-trips, making read/write latency lower in normal use.",
      "durationMs": 2947,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 11871,
        "completionTokens": 813,
        "totalTokens": 12684,
        "reasoningTokens": 706,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:32.769Z",
      "completedAt": "2026-07-10T17:43:35.718Z",
      "answerBytes": 367,
      "answerChars": 365,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function GetSteamIDCached(ply)\n    if not IsValid(ply) then return nil end\n\n    local sid = steamIDCache[ply]\n    if sid then return sid end\n\n    sid = ply:SteamID()\n    steamIDCache[ply] = sid\n    return sid\nend\n\n-- hot-path use\nlocal UpdateSomething = function()\n    for _, ply in ipairs(player.GetAll()) do\n        local sid = GetSteamIDCached(ply)\n        -- process sid\n    end\nend\n``` \nReason: Cache once per player in a weak-keyed table and reuse the string on hot-path reads, avoiding repeated `ply:SteamID()` calls.",
      "durationMs": 3815,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 1337,
        "totalTokens": 13179,
        "reasoningTokens": 1148,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:33.014Z",
      "completedAt": "2026-07-10T17:43:36.831Z",
      "answerBytes": 594,
      "answerChars": 594,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Fast path for many fragments in Garry's Mod Lua\nlocal function join_fast(fragments)\n    local n = #fragments\n    local out = {}  -- array of strings\n\n    for i = 1, n do\n        out[i] = tostring(fragments[i])\n    end\n\n    return table.concat(out)\nend\n\n-- Example\nlocal pieces = {}\nfor i = 1, 5000 do\n    pieces[#pieces + 1] = \"piece\" .. i\nend\n\nlocal result = join_fast(pieces)\nprint(#result)\n\n-- Slow approach (for comparison):\n-- local s = \"\"\n-- for i = 1, #pieces do\n--     s = s .. pieces[i]\n-- end\n```\nReason: Repeated `..` concatenation reallocates and copies the growing string on every iteration, while `table.concat` builds an indexed buffer and joins once, which is much faster for thousands of small chunks.",
      "durationMs": 3177,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 11841,
        "completionTokens": 808,
        "totalTokens": 12649,
        "reasoningTokens": 572,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:33.336Z",
      "completedAt": "2026-07-10T17:43:36.514Z",
      "answerBytes": 728,
      "answerChars": 728,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Faster than draw.RoundedBox(0, x, y, w, h, col)\nlocal surfaceSetColor = surface.SetDrawColor\nlocal surfaceDrawRect = surface.DrawRect\n\nhook.Add(\"HUDPaint\", \"PerfRectBatch\", function()\n    for _, rect in ipairs(rects) do\n        local c = rect.color\n        surfaceSetColor(c.r, c.g, c.b, c.a)\n        surfaceDrawRect(rect.x, rect.y, rect.w, rect.h)\n    end\nend)\n```\nReason: `surface.DrawRect` calls the low-level filled-rect path directly, while `draw.RoundedBox` incurs extra wrapper/rounded-shape handling even when radius is zero.",
      "durationMs": 5872,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 819,
        "totalTokens": 12664,
        "reasoningTokens": 646,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:33.698Z",
      "completedAt": "2026-07-10T17:43:39.571Z",
      "answerBytes": 543,
      "answerChars": 543,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal FONT = \"DermaLarge\"\nlocal TXT_X, TXT_Y = 16, 16\nlocal TXT_COLOR = Color(255, 255, 255, 255)\n\nlocal SurfaceSetFont = surface.SetFont\nlocal SurfaceSetTextColor = surface.SetTextColor\nlocal SurfaceSetTextPos = surface.SetTextPos\nlocal SurfaceDrawText = surface.DrawText\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    local txt = (\"FPS: %.0f\"):format(1 / FrameTime())\n\n    SurfaceSetFont(FONT)\n    SurfaceSetTextColor(TXT_COLOR.r, TXT_COLOR.g, TXT_COLOR.b, TXT_COLOR.a)\n    SurfaceSetTextPos(TXT_X, TXT_Y)\n    SurfaceDrawText(txt)\nend)\n```\nReason: Use `surface.SetFont/SetTextColor/SetTextPos/DrawText` because it is the lightest path for one-line text and avoids `draw.DrawText`/`SimpleTextOutlined` wrapper alignment and outline overhead each frame.",
      "durationMs": 5085,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 2197,
        "totalTokens": 14041,
        "reasoningTokens": 1950,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:33.853Z",
      "completedAt": "2026-07-10T17:43:38.944Z",
      "answerBytes": 772,
      "answerChars": 772,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal count = #myArray\n```\nReason: For sequential (contiguous) array-like tables in Garry's Mod Lua, the preferred way is the Lua length operator `#`, which returns the array size for sequence-style tables.",
      "durationMs": 2872,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 11836,
        "completionTokens": 307,
        "totalTokens": 12143,
        "reasoningTokens": 239,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:34.019Z",
      "completedAt": "2026-07-10T17:43:36.892Z",
      "answerBytes": 213,
      "answerChars": 213,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fastest choice when you just need to discard and reuse the variable:\n\nlocal t = {}       -- allocate once\n-- ... fill/use t a lot ...\n\nt = {}            -- discard old contents and get a fresh table quickly\n```\nReason: In Garry's Mod Lua, `t = {}` is usually faster for frequent full clears because it is effectively O(1), while `table.Empty(t)` must iterate through and nil out entries (O(n)); use `table.Empty` only when you must keep the same table reference (metatable/other refs).",
      "durationMs": 5582,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 1188,
        "totalTokens": 13033,
        "reasoningTokens": 1047,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:34.529Z",
      "completedAt": "2026-07-10T17:43:40.113Z",
      "answerBytes": 495,
      "answerChars": 495,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal function ToSet(list)\n    local set = {}\n    for _, value in ipairs(list) do\n        set[value] = true\n    end\n    return set\nend\n\nlocal playersBySteamID = ToSet({\"STEAM_0:1:111111\", \"STEAM_0:1:222222\", \"STEAM_0:1:333333\"})\n\n-- Faster membership check on repeated queries\nif playersBySteamID[ply:SteamID()] then\n    print(\"player is in set\")\nend\n\n-- Old style (slower): table.HasValue(playersList, ply:SteamID())\n```\nReason: table.HasValue scans the list every call (O(n)), while a prebuilt set uses direct key lookup (O(1)) per check.",
      "durationMs": 4868,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 974,
        "totalTokens": 12819,
        "reasoningTokens": 781,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:34.731Z",
      "completedAt": "2026-07-10T17:43:39.601Z",
      "answerBytes": 547,
      "answerChars": 547,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal plyData = {\n    id = player:UserID(),\n    name = player:Nick(),\n    team = player:Team(),\n    health = player:Health(),\n}\n```\nReason: Table constructors initialize all known keys during allocation, which is usually faster and cleaner than creating an empty table and then assigning `table.key = ...` repeatedly.",
      "durationMs": 3369,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 682,
        "totalTokens": 12524,
        "reasoningTokens": 582,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:34.744Z",
      "completedAt": "2026-07-10T17:43:38.115Z",
      "answerBytes": 324,
      "answerChars": 324,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal rand = math.random\n\nlocal function RandomFromSequential(t)\n    local n = #t\n    if n == 0 then return nil end\n    return t[rand(1, n)]\nend\n```\nReason: For dense, 1-based sequential arrays, direct length lookup + index math avoids `table.Random` extra scanning/hash handling, giving one random call and one array access.",
      "durationMs": 4009,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 11838,
        "completionTokens": 685,
        "totalTokens": 12523,
        "reasoningTokens": 581,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:34.934Z",
      "completedAt": "2026-07-10T17:43:38.945Z",
      "answerBytes": 332,
      "answerChars": 332,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal x = 3.5\nfor i = 1, 1000000 do\n    local sq = x * x\n    -- use sq\nend\n```\nReason: In Lua (including Garry's Mod), multiplication `x * x` is the fastest way to square a number in a tight loop, while `math.pow(x, 2)` adds function-call overhead.",
      "durationMs": 3336,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 11837,
        "completionTokens": 440,
        "totalTokens": 12277,
        "reasoningTokens": 339,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:35.059Z",
      "completedAt": "2026-07-10T17:43:38.398Z",
      "answerBytes": 255,
      "answerChars": 255,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@medium",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- process each connected player\nend\n```\nReason: `player.GetAll()` returns the current connected players table, and `ipairs` cleanly iterates every entry in that list.",
      "durationMs": 2957,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 11851,
        "completionTokens": 393,
        "totalTokens": 12244,
        "reasoningTokens": 322,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:35.349Z",
      "completedAt": "2026-07-10T17:43:38.314Z",
      "answerBytes": 219,
      "answerChars": 219,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if IsValid(ent) and ent:GetClass() == \"prop_physics\" then\n        -- handle prop_physics entity\n    end\nend\n```\nReason: `ents.Iterator()` streams entities directly, so you avoid creating a full entity table first.",
      "durationMs": 4950,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 1182,
        "totalTokens": 13024,
        "reasoningTokens": 1100,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:35.395Z",
      "completedAt": "2026-07-10T17:43:40.355Z",
      "answerBytes": 254,
      "answerChars": 254,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- callback body\nend)\n```\nReason: `hook.Add` registers a callback for `Think`, and the string `MyAddon.Think` is the unique identifier used to track that hook entry.",
      "durationMs": 4400,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 11848,
        "completionTokens": 430,
        "totalTokens": 12278,
        "reasoningTokens": 353,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:35.719Z",
      "completedAt": "2026-07-10T17:43:40.138Z",
      "answerBytes": 222,
      "answerChars": 222,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:SomeMethod()\nend\n```\nReason: Use `IsValid(ent)` in Garry's Mod to ensure the entity handle is still alive and valid before calling any entity methods.",
      "durationMs": 3645,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 486,
        "totalTokens": 12329,
        "reasoningTokens": 419,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:35.857Z",
      "completedAt": "2026-07-10T17:43:39.505Z",
      "answerBytes": 186,
      "answerChars": 186,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif SERVER then\n    util.AddNetworkString(\"MyAddon.Sync\")\nend\n\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    local payload = net.ReadString()\n    print(\"Received sync payload:\", payload)\nend)\n```\nReason: Register the message ID on the server with `util.AddNetworkString`, then bind the same name with `net.Receive` so clients/servers can handle incoming `MyAddon.Sync` traffic.",
      "durationMs": 3780,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 11834,
        "completionTokens": 1078,
        "totalTokens": 12912,
        "reasoningTokens": 961,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:36.104Z",
      "completedAt": "2026-07-10T17:43:39.896Z",
      "answerBytes": 388,
      "answerChars": 388,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- One-off cache of a zero angle\na0 = Angle(0, 0, 0)\n\n-- Reusable helper: no Angle() allocations\nlocal function zeroAngle(a)\n\ta.p = 0\n\ta.y = 0\n\ta.r = 0\n\treturn a\nend\n\nfor i = 1, 1000000 do\n\tlocal ang = zeroAngle(a0) -- reused object in hot loop\n\t-- use ang immediately\n\tentity:SetAngles(ang)\nend\n```\nReason: Reusing one preallocated Angle and resetting its fields avoids creating thousands of temporary Angle objects (and GC pressure) versus calling Angle() every time in a hot path.",
      "durationMs": 5422,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 2570,
        "totalTokens": 14414,
        "reasoningTokens": 2400,
        "cachedTokens": 6528
      },
      "startedAt": "2026-07-10T17:43:36.355Z",
      "completedAt": "2026-07-10T17:43:41.779Z",
      "answerBytes": 490,
      "answerChars": 490,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal addonColor = myaddon.config.color\n\nfunction GetAddonColor()\n    return addonColor\nend\n```\nReason: For frequent reads, a flat local variable is faster than resolving `myaddon.config.color` each time because locals are direct upvalue access, while nested/global table lookups require extra table/hash traversal each call.",
      "durationMs": 4508,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 11849,
        "completionTokens": 934,
        "totalTokens": 12783,
        "reasoningTokens": 845,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:36.372Z",
      "completedAt": "2026-07-10T17:43:40.883Z",
      "answerBytes": 332,
      "answerChars": 332,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\n-- Avoid: ply:GetNWString(\"job\")\nlocal jobName = team.GetName(ply:Team())\n```\nReason: Use the canonical player job source `ply:Team()` + `team.GetName` so you read the actual team assignment instead of a manually maintained NW string that can desync or disappear.",
      "durationMs": 6746,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 11841,
        "completionTokens": 2608,
        "totalTokens": 14449,
        "reasoningTokens": 2520,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:36.517Z",
      "completedAt": "2026-07-10T17:43:43.271Z",
      "answerBytes": 270,
      "answerChars": 270,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal p1 = Vector(10, 5, 0)\nlocal p2 = Vector(60, 5, 0)\nlocal threshold = 50 -- units\n\nif p1:DistToSqr(p2) <= threshold * threshold then\n    print(\"within threshold\")\nend\n```\nReason: Use `DistToSqr` for squared-distance comparison so you avoid computing the expensive square root from `DistToSqr` -> real distance check.",
      "durationMs": 10691,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 478,
        "totalTokens": 12320,
        "reasoningTokens": 357,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:36.832Z",
      "completedAt": "2026-07-10T17:43:47.530Z",
      "answerBytes": 327,
      "answerChars": 327,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 1 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Visit every entity, using the efficient iterator when it exists.\nlocal iterate = ents.Iterator\n\nif iterate then\n    for ent in iterate() do\n        if IsValid(ent) then\n            -- handle ent\n        end\n    end\nelse\n    for _, ent in ipairs(ents.GetAll()) do\n        if IsValid(ent) then\n            -- handle ent\n        end\n    end\nend\n```\nReason: `ents.Iterator()` is the wiki-recommended, allocation-light way to traverse entities, with a safe `ents.GetAll()` fallback for environments where the iterator is unavailable.",
      "durationMs": 11653,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 11838,
        "completionTokens": 1079,
        "totalTokens": 12917,
        "reasoningTokens": 933,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:36.893Z",
      "completedAt": "2026-07-10T17:43:48.554Z",
      "answerBytes": 538,
      "answerChars": 538,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Server-side: cheap nearby entity lookup around a player\nlocal function GetEntitiesNearPlayer(ply, radius)\n    local center = ply:GetPos()\n    local rvec = Vector(radius, radius, radius)\n    local candidates = ents.FindInBox(center - rvec, center + rvec)\n\n    local result = {}\n    local radiusSq = radius * radius\n    for _, ent in ipairs(candidates) do\n        if ent ~= ply and IsValid(ent) and ent:GetPos():DistToSqr(center) <= radiusSq then\n            result[#result + 1] = ent\n        end\n    end\n\n    return result\nend\n\nlocal near = GetEntitiesNearPlayer(player.GetAll()[1], 256)\n```\nReason: `ents.FindInBox` is commonly a faster broad-phase spatial query than PVS for nearby scans, and the squared-distance prune restores exact radius filtering with low extra cost.",
      "durationMs": 12615,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 11859,
        "completionTokens": 2018,
        "totalTokens": 13877,
        "reasoningTokens": 1799,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:38.116Z",
      "completedAt": "2026-07-10T17:43:50.732Z",
      "answerBytes": 783,
      "answerChars": 783,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function GetPlayersInRadius(centerPos, radius)\n    local radius2 = radius * radius\n    local players = player.GetAll() -- only players, no broad entity scan\n    local inRange = {}\n\n    for i = 1, #players do\n        local ply = players[i]\n        if IsValid(ply) and ply:Alive() then\n            if ply:GetPos():DistToSqr(centerPos) <= radius2 then\n                inRange[#inRange + 1] = ply\n            end\n        end\n    end\n\n    return inRange\nend\n\nlocal nearby = GetPlayersInRadius(Vector(0, 0, 0), 512)\n```\nReason: Iterating `player.GetAll()` does only player entities and uses `DistToSqr` (no sqrt), so you avoid `ents.FindInSphere` scanning/filtering all entity types and reduce both query and post-filter overhead.",
      "durationMs": 12352,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 11853,
        "completionTokens": 1973,
        "totalTokens": 13826,
        "reasoningTokens": 1753,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:38.314Z",
      "completedAt": "2026-07-10T17:43:50.668Z",
      "answerBytes": 737,
      "answerChars": 737,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    -- tight loop body\nend\n```\nReason: The numeric `for` loop is generally faster in Garry's Mod Lua because it is implemented as a dedicated loop construct with bounded index handling and one increment/check path, while `while` adds manual increment and branch logic each iteration.",
      "durationMs": 10775,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 498,
        "totalTokens": 12342,
        "reasoningTokens": 410,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:38.399Z",
      "completedAt": "2026-07-10T17:43:49.180Z",
      "answerBytes": 306,
      "answerChars": 306,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster pattern: one hook dispatch with all players in one frame.\nlocal function DispatchPlayerTick()\n    local players = player.GetHumans()\n    hook.Run(\"MyAddon_PlayerTickAll\", players, CurTime())\nend\n\nhook.Add(\"Tick\", \"MyAddon_DispatchPlayerTickAll\", DispatchPlayerTick)\n\nhook.Add(\"MyAddon_PlayerTickAll\", \"MyAddon_HandlePlayers\", function(players, now)\n    for i = 1, #players do\n        local ply = players[i]\n        if IsValid(ply) then\n            -- custom per-player logic here\n        end\n    end\nend)\n\n--[[]]\n-- Slower pattern (per-player dispatch):\n-- for i = 1, #players do\n--     hook.Run(\"MyAddon_PlayerTickOne\", players[i], CurTime())\n-- end\n--[[]]\n```\nReason: dispatching once per tick moves hook overhead to a single call and does one explicit player loop, which is cheaper than invoking `hook.Run` for every player each tick (O(1) hook dispatches vs O(N) dispatches).",
      "durationMs": 13415,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 11854,
        "completionTokens": 1712,
        "totalTokens": 13566,
        "reasoningTokens": 1447,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:38.946Z",
      "completedAt": "2026-07-10T17:43:52.376Z",
      "answerBytes": 896,
      "answerChars": 896,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"HealthHudFast\", function()\n    local ply = LocalPlayer()\n    if not IsValid(ply) then\n        return\n    end\n\n    local hp = ply:Health()\n\n    surface.SetDrawColor(0, 180, 0, 180)\n    surface.DrawRect(16, 16, hp, 16)\n\n    surface.SetDrawColor(0, 0, 0, 255)\n    surface.DrawOutlinedRect(16, 16, 100, 16)\n\n    draw.SimpleText(\"HP: \" .. hp, \"DermaDefault\", 20, 38, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP)\nend)\n``` \nReason: Cache `LocalPlayer()` and `Health()` in locals so the three draw operations reuse one value and avoid repeated cross-boundary player health fetches in the same frame.",
      "durationMs": 13929,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 11849,
        "completionTokens": 979,
        "totalTokens": 12828,
        "reasoningTokens": 763,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:38.950Z",
      "completedAt": "2026-07-10T17:43:52.898Z",
      "answerBytes": 621,
      "answerChars": 621,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal WHITE = color_white -- or: Color(255, 255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"MyPaintLoop\", function()\n    surface.SetDrawColor(WHITE)\n\n    for i = 1, 200 do\n        surface.DrawRect(10, i * 12, 120, 8)\n    end\nend)\n```\nReason: Precompute the white color once and set it once per paint call so the loop does not allocate a new `Color` object every iteration.",
      "durationMs": 12153,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 1484,
        "totalTokens": 13327,
        "reasoningTokens": 1349,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:39.002Z",
      "completedAt": "2026-07-10T17:43:51.230Z",
      "answerBytes": 369,
      "answerChars": 369,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin  -- bind function once, outside hot loop\n\nlocal sum = 0\nfor i = 1, 1000000 do\n    local x = i * 0.01\n    sum = sum + sin(x) -- fast local call\nend\n```\nReason: `math.sin` is looked up once instead of on every loop iteration, replacing repeated global/table access with a fast local.",
      "durationMs": 11485,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 11841,
        "completionTokens": 489,
        "totalTokens": 12330,
        "reasoningTokens": 380,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:39.508Z",
      "completedAt": "2026-07-10T17:43:50.999Z",
      "answerBytes": 309,
      "answerChars": 309,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal localPlayer = nil\n\nlocal function UpdateLocalPlayer()\n    local p = LocalPlayer()\n    if IsValid(p) then\n        localPlayer = p\n    end\nend\n\nhook.Add(\"Initialize\", \"cache_local_player\", UpdateLocalPlayer)\nhook.Add(\"Think\", \"refresh_local_player\", function()\n    if not IsValid(localPlayer) then\n        UpdateLocalPlayer()\n    end\nend)\n\nlocal function OnRender()\n    local lp = localPlayer\n    if not IsValid(lp) then return end\n\n    local hp = lp:Health()\n    local pos = lp:GetPos()\n    -- use hp/pos here\nend\nhook.Add(\"HUDPaint\", \"use_cached_local_player\", OnRender)\n```\nReason: Cache `LocalPlayer()` once into a local variable and only refresh it when invalid (during init/think), so high-frequency code reads `localPlayer` instead of calling `LocalPlayer()` every time.",
      "durationMs": 11745,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 1471,
        "totalTokens": 13313,
        "reasoningTokens": 1244,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:39.601Z",
      "completedAt": "2026-07-10T17:43:51.382Z",
      "answerBytes": 788,
      "answerChars": 788,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal LOOK_COS = math.cos(math.rad(45)) -- ~45° tolerance\nlocal LOOK_COS2 = LOOK_COS * LOOK_COS\nlocal MAX_DIST2 = 1024 * 1024\n\nlocal function areLookingAtEachOther(p1, p2)\n    if not IsValid(p1) or not IsValid(p2) then return false end\n\n    local toB = p2:EyePos() - p1:EyePos()\n    local dist2 = toB:LengthSqr()\n    if dist2 < 1e-6 or dist2 > MAX_DIST2 then return false end\n\n    local a1 = p1:GetAimVector() -- unit vector\n    local a2 = p2:GetAimVector() -- unit vector\n\n    local dot1 = a1:Dot(toB)   -- equals |toB| * cos(angle1)\n    local dot2 = a2:Dot(-toB)  -- equals |toB| * cos(angle2)\n\n    if dot1 <= 0 or dot2 <= 0 then return false end\n    return dot1 * dot1 >= LOOK_COS2 * dist2 and dot2 * dot2 >= LOOK_COS2 * dist2\nend\n```\nReason: Compare dot products against squared cosine threshold with one vector difference and LengthSqr, so no `math.acos`, no angle objects, and no square-rooted trig path.",
      "durationMs": 12959,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 11856,
        "completionTokens": 1978,
        "totalTokens": 13834,
        "reasoningTokens": 1650,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:39.623Z",
      "completedAt": "2026-07-10T17:43:52.610Z",
      "answerBytes": 918,
      "answerChars": 917,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nSomeHelper(ply)\n```\nReason: In Lua (including Garry's Mod Lua), `ply:SomeHelper()` is just syntactic sugar for `SomeHelper(ply)`-style method invocation, so runtime cost is effectively the same; the difference is mostly API readability, not performance.",
      "durationMs": 12194,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 11850,
        "completionTokens": 1400,
        "totalTokens": 13250,
        "reasoningTokens": 1319,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:39.897Z",
      "completedAt": "2026-07-10T17:43:52.094Z",
      "answerBytes": 260,
      "answerChars": 260,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Hot-path debug in Garry's Mod Lua: faster than print\nlocal DBG_PREFIX = \"[DBG] \"\n\nlocal function debugLine(msg)\n    if not DBG then return end\n    Msg(DBG_PREFIX .. msg .. \"\\n\")\nend\n\nhook.Add(\"Think\", \"PerfDebug\", function()\n    debugLine(\"entities=\" .. #ents.GetAll())\nend)\n```\nReason: `Msg` is a lower-level console writer and avoids `print`’s vararg/tab/newline formatting overhead, so it’s the usual hot-path replacement when you need minimal debug output cost.",
      "durationMs": 12603,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 11841,
        "completionTokens": 1983,
        "totalTokens": 13824,
        "reasoningTokens": 1831,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:39.986Z",
      "completedAt": "2026-07-10T17:43:52.609Z",
      "answerBytes": 479,
      "answerChars": 475,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}\n\nlocal sum = 0\nlocal n = #nums\nfor i = 1, n do\n    sum = sum + nums[i]\nend\n```\n\nReason: Use a numeric `for` loop (`for i = 1, n`) because it is the lowest-overhead path for dense, 1-based array-like tables: direct integer indexing with a cached bound, while `ipairs` adds iterator overhead and `pairs` is slower and unordered for arrays.",
      "durationMs": 11726,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 11851,
        "completionTokens": 956,
        "totalTokens": 12807,
        "reasoningTokens": 803,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:40.117Z",
      "completedAt": "2026-07-10T17:43:51.898Z",
      "answerBytes": 389,
      "answerChars": 389,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function GetRichAliveNames(players, minMoney)\n    local out = {}\n    local outN = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        local money = ply:getDarkRPVar(\"money\")\n\n        if ply:IsPlayer() and ply:Alive() and money and money >= minMoney then\n            outN = outN + 1\n            out[outN] = string.lower(ply:Nick())\n        end\n    end\n\n    return out\nend\n\nlocal names = GetRichAliveNames(player.GetAll(), 1000)\n```\nReason: This uses one tight `for` loop to perform filter + map together, avoiding fn-style chained closures and intermediate tables/calls that add allocation and dispatch overhead in Garry's Mod Lua.",
      "durationMs": 11813,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 11861,
        "completionTokens": 1830,
        "totalTokens": 13691,
        "reasoningTokens": 1632,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:40.151Z",
      "completedAt": "2026-07-10T17:43:51.996Z",
      "answerBytes": 660,
      "answerChars": 660,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\nlocal seen = {}\n\nlocal function cacheAdd(ply)\n    if not IsValid(ply) or seen[ply] then\n        return\n    end\n\n    seen[ply] = true\n    cachedPlayers[#cachedPlayers + 1] = ply\nend\n\nlocal function cacheRemove(ply)\n    if not seen[ply] then\n        return\n    end\n\n    seen[ply] = nil\n\n    for i = #cachedPlayers, 1, -1 do\n        if cachedPlayers[i] == ply then\n            cachedPlayers[i] = cachedPlayers[#cachedPlayers]\n            cachedPlayers[#cachedPlayers] = nil\n            break\n        end\n    end\nend\n\nfor _, ply in ipairs(player.GetAll()) do\n    cacheAdd(ply)\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"CachePlayers_Add\", cacheAdd)\nhook.Add(\"PlayerDisconnected\", \"CachePlayers_Remove\", cacheRemove)\n\nhook.Add(\"Think\", \"MyThink\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n\n        if IsValid(ply) then\n            -- heavy per-tick work goes here\n        end\n    end\nend)\n```\nReason: The player list is maintained in hooks (`PlayerInitialSpawn` and `PlayerDisconnected`) so it updates only when players join/leave, avoiding `player.GetAll()` inside every tick.",
      "durationMs": 13738,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 11860,
        "completionTokens": 3666,
        "totalTokens": 15526,
        "reasoningTokens": 3331,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:40.357Z",
      "completedAt": "2026-07-10T17:43:54.098Z",
      "answerBytes": 1137,
      "answerChars": 1137,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\n-- Faster per-player cache for hot reads\nlocal playerState = {}\n\nlocal function stateOf(ply)\n    return playerState[ply:EntIndex()]\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"perf.playerstate.init\", function(ply)\n    playerState[ply:EntIndex()] = {\n        lastShot = 0,\n        combo = 0,\n        cooldown = 0,\n    }\nend)\n\nhook.Add(\"PlayerDisconnected\", \"perf.playerstate.cleanup\", function(ply)\n    playerState[ply:EntIndex()] = nil\nend)\n\nlocal function canShoot(ply)\n    local st = stateOf(ply)\n    if not st then return false end\n\n    return CurTime() > st.cooldown\nend\n\nlocal function onShoot(ply)\n    local st = stateOf(ply)\n    st.combo = st.combo + 1\n    st.lastShot = CurTime()\n    st.cooldown = CurTime() + 0.08\nend\n```\nReason: Using a dedicated numeric-keyed state table (`EntIndex` -> record) avoids repeated `ply.someField` lookups on entity userdata, gives faster predictable table reads in hot loops, and makes cleanup explicit on disconnect.",
      "durationMs": 13828,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 2662,
        "totalTokens": 14507,
        "reasoningTokens": 2369,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:40.689Z",
      "completedAt": "2026-07-10T17:43:54.519Z",
      "answerBytes": 958,
      "answerChars": 958,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 1 candidate loops.",
      "finalResponse": "```lua\n-- Fast shape for frequent iteration: contiguous integer-keyed array\nlocal weapons = { \"pistol\", \"shotgun\", \"rifle\", \"grenade\" }\n\nlocal total = 0\nfor i = 1, #weapons do\n    local w = weapons[i]\n    total = total + 1\n    print(i, w)\nend\n\n-- Reference slower shape: string-keyed map\nlocal weaponMap = {\n    pistol = true,\n    shotgun = true,\n    rifle = true,\n    grenade = true,\n}\n\nfor name, enabled in pairs(weaponMap) do\n    print(name, enabled)\nend\n```\nReason: Use a sequential number-indexed table and iterate with `for i = 1, #t` (or `ipairs`) for fixed collections in Garry's Mod Lua, because it stays in the array fast-path, while string-keyed maps use hash lookup order and slower `pairs` traversal.",
      "durationMs": 11996,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 11848,
        "completionTokens": 935,
        "totalTokens": 12783,
        "reasoningTokens": 707,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:40.885Z",
      "completedAt": "2026-07-10T17:43:52.891Z",
      "answerBytes": 713,
      "answerChars": 713,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Faster in hot paths: pass primitives, not a Color table\nlocal r, g, b, a = 255, 80, 20, 255\n\nhook.Add(\"HUDPaint\", \"FastDrawPath\", function()\n    for i = 1, 200 do\n        surface.SetDrawColor(r, g, b, a) -- numeric args\n        surface.DrawRect(12, i * 4, 160, 3)\n    end\nend)\n```\nReason: In tight drawing loops, numeric args avoid creating/reading a Color object each call, so `SetDrawColor` is cheaper and stays allocation-free.",
      "durationMs": 12606,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 11851,
        "completionTokens": 919,
        "totalTokens": 12770,
        "reasoningTokens": 762,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:41.789Z",
      "completedAt": "2026-07-10T17:43:54.399Z",
      "answerBytes": 440,
      "answerChars": 440,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal hp = sql.QueryValue(\"SELECT hp FROM player_stats WHERE steamid = \" .. sql.SQLStr(steamid))\n```\nReason: For a single GMod server with no cross-server sync, local SQLite via `sql.Query`/`sql.QueryValue` is usually lower latency because reads/writes stay on disk locally, while MySQL adds network and external server overhead even on LAN.",
      "durationMs": 12959,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 11869,
        "completionTokens": 952,
        "totalTokens": 12821,
        "reasoningTokens": 850,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:42.174Z",
      "completedAt": "2026-07-10T17:43:55.240Z",
      "answerBytes": 348,
      "answerChars": 348,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal playerMeta = FindMetaTable(\"Player\")\nfunction playerMeta:GetSteamIDCached()\n    local sid = steamIDCache[self]\n    if sid ~= nil then\n        return sid\n    end\n\n    sid = self:SteamID()\n    steamIDCache[self] = sid\n    return sid\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"PrimeSteamIDCache\", function(ply)\n    steamIDCache[ply] = ply:SteamID()\nend)\n\nhook.Add(\"PlayerDisconnected\", \"ClearSteamIDCache\", function(ply)\n    steamIDCache[ply] = nil\nend)\n\n-- hot path\nlocal sid = ply:GetSteamIDCached()\n```\nReason: Cache per-player SteamID once (primed on spawn and invalidated on disconnect), so hot-path calls become cheap table lookups instead of repeated method calls.",
      "durationMs": 14091,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 11840,
        "completionTokens": 2821,
        "totalTokens": 14661,
        "reasoningTokens": 2593,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:42.455Z",
      "completedAt": "2026-07-10T17:43:56.595Z",
      "answerBytes": 732,
      "answerChars": 732,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal chunks = {}\nfor i = 1, 5000 do\n    chunks[#chunks + 1] = \"chunk_\" .. i .. \"\\n\"\nend\n\nlocal function with_concat_operator(t)\n    local out = \"\"\n    for i = 1, #t do\n        out = out .. t[i]\n    end\n    return out\nend\n\nlocal function with_table_concat(t)\n    return table.concat(t, \"\")\nend\n\nlocal a = with_concat_operator(chunks)\nlocal b = with_table_concat(chunks)\nprint(#a, #b, a == b)\n```\nReason: Use `table.concat` (or another buffer pattern) for one-pass join so the final string is built once instead of reallocating a larger string on every `..` step.",
      "durationMs": 15671,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 11841,
        "completionTokens": 1468,
        "totalTokens": 13309,
        "reasoningTokens": 1270,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:43.269Z",
      "completedAt": "2026-07-10T17:43:58.994Z",
      "answerBytes": 569,
      "answerChars": 569,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fast replacement for: draw.RoundedBox(0, x, y, w, h, col)\n-- inside your per-frame draw loop\nsurface.SetDrawColor(255, 128, 0, 255)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` is a lower-level fill-rect call than `draw.RoundedBox`, so with radius 0 it avoids the extra rounded-rect path/branching overhead while still drawing solid rectangles.",
      "durationMs": 14257,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 1236,
        "totalTokens": 13081,
        "reasoningTokens": 1109,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:43.276Z",
      "completedAt": "2026-07-10T17:43:57.706Z",
      "answerBytes": 369,
      "answerChars": 369,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\n-- Fastest for per-frame single-line HUD text: direct surface.* path.\n-- Use DrawText only; skip draw.DrawText and SimpleTextOutlined wrappers.\nsurface.CreateFont(\"PerfHUDSmall\", {\n    font = \"Trebuchet24\",\n    size = 24,\n    weight = 500,\n    antialias = true\n})\n\nlocal textFont = \"PerfHUDSmall\"\nlocal x, y = 16, 16\nlocal r, g, b, a = 255, 255, 255, 255\n\nhook.Add(\"HUDPaint\", \"FastSingleLineText\", function()\n    local s = \"HP: \" .. LocalPlayer():Health()\n\n    surface.SetFont(textFont)      -- minimal state setup\n    surface.SetTextColor(r, g, b, a) -- numeric args avoid per-frame Color() alloc\n    surface.SetTextPos(x, y)\n    surface.DrawText(s)\nend)\n```\nReason: `surface.SetFont + SetTextPos + DrawText` is the leanest text path and avoids the extra alignment, shadow, and outline work done by `draw.DrawText` / `SimpleTextOutlined` for single-line per-frame rendering.",
      "durationMs": 12329,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 11846,
        "completionTokens": 2084,
        "totalTokens": 13930,
        "reasoningTokens": 1802,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:47.539Z",
      "completedAt": "2026-07-10T17:43:59.880Z",
      "answerBytes": 883,
      "answerChars": 883,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal arr = { \"a\", \"b\", \"c\" }\nlocal n = #arr\n```\nReason: Use the Lua length operator `#` for sequential (array-like) tables; it is O(1) and returns the array length, which is the preferred approach in Garry's Mod Lua.",
      "durationMs": 10274,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 11838,
        "completionTokens": 364,
        "totalTokens": 12202,
        "reasoningTokens": 279,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:48.556Z",
      "completedAt": "2026-07-10T17:43:58.839Z",
      "answerBytes": 224,
      "answerChars": 224,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fastest way to discard a large sequential table in a hot loop:\n-- rebinding to a new table is O(1).\nt = {}\n```\nReason: `t = {}` is generally faster than `table.Empty(t)` because it just creates a new table reference, while `table.Empty` iterates through all existing entries and clears them one by one (O(n)).",
      "durationMs": 11293,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 1031,
        "totalTokens": 12876,
        "reasoningTokens": 931,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:49.184Z",
      "completedAt": "2026-07-10T17:44:00.496Z",
      "answerBytes": 319,
      "answerChars": 319,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal allowed = {\n    [\"admin\"] = true,\n    [\"moderator\"] = true,\n    [\"owner\"] = true,\n}\n\nlocal function IsAllowed(role)\n    return allowed[role] ~= nil -- true when role exists in the set\nend\n\nif IsAllowed(ply:GetUserGroup()) then\n    -- fast path\nend\n```\nReason: `table.HasValue` scans the whole array every call (O(n)), while keyed-set lookups are direct hash lookups (O(1) average), so repeated membership checks are much faster.",
      "durationMs": 11090,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 11847,
        "completionTokens": 719,
        "totalTokens": 12566,
        "reasoningTokens": 574,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:50.670Z",
      "completedAt": "2026-07-10T17:44:01.786Z",
      "answerBytes": 441,
      "answerChars": 441,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal ent = {\n    class = \"npc_antlion\",\n    health = 100,\n    speed = 250\n}\n```\nReason: In Garry's Mod Lua, constructor syntax is faster for known fields because the table and its keys are created in one allocation+init pass, while assigning after `{}` does extra per-field writes.",
      "durationMs": 11436,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 988,
        "totalTokens": 12832,
        "reasoningTokens": 895,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:50.733Z",
      "completedAt": "2026-07-10T17:44:02.177Z",
      "answerBytes": 289,
      "answerChars": 289,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal function RandomFromSequential(t)\n    local n = #t\n    if n == 0 then return nil end\n    return t[math.random(n)]\nend\n```\nReason: `table.Random` is general-purpose and does extra checks/iteration for hash-style tables, while direct indexed lookup uses one `#t` and one `math.random` lookup for contiguous arrays (O(1) per pick).",
      "durationMs": 11291,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 11840,
        "completionTokens": 655,
        "totalTokens": 12495,
        "reasoningTokens": 547,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:51.012Z",
      "completedAt": "2026-07-10T17:44:02.307Z",
      "answerBytes": 340,
      "answerChars": 340,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor i = 1, n do\n    local x = values[i]\n    local sx = x * x\nend\n```\nReason: Use `x * x` because it is direct numeric multiplication with minimal overhead, unlike `math.pow`, which is slower in tight loops due to a function call.",
      "durationMs": 11222,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 11835,
        "completionTokens": 590,
        "totalTokens": 12425,
        "reasoningTokens": 506,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:51.247Z",
      "completedAt": "2026-07-10T17:44:02.485Z",
      "answerBytes": 236,
      "answerChars": 236,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@high",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- do something with ply\nend\n```\nReason: `player.GetAll()` returns the connected players list, and `ipairs` walks every entry once.",
      "durationMs": 11973,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 11849,
        "completionTokens": 894,
        "totalTokens": 12743,
        "reasoningTokens": 829,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:51.398Z",
      "completedAt": "2026-07-10T17:44:03.539Z",
      "answerBytes": 183,
      "answerChars": 183,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor _, ent in ipairs(ents.FindByClass(\"prop_physics\")) do\n    -- process ent\nend\n```\nReason: `ents.FindByClass(\"prop_physics\")` returns only matching entities, so you iterate them directly without first collecting every map entity into a table.",
      "durationMs": 17337,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "3990c92253db85bb",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 4014,
        "totalTokens": 15858,
        "reasoningTokens": 3934,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:51.919Z",
      "completedAt": "2026-07-10T17:44:09.506Z",
      "answerBytes": 251,
      "answerChars": 251,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.hook-add.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Registers a named hook with hook.Add.",
      "finalResponse": "```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- minimal callback\nend)\n```\nReason: `hook.Add` registers the Think hook callback under the unique identifier `MyAddon.Think`, so it will run every frame.",
      "durationMs": 11414,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "12d2222fdb7d6b90",
      "usage": {
        "source": "provider",
        "promptTokens": 11848,
        "completionTokens": 568,
        "totalTokens": 12416,
        "reasoningTokens": 496,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:52.050Z",
      "completedAt": "2026-07-10T17:44:03.603Z",
      "answerBytes": 211,
      "answerChars": 211,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.isvalid.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Uses IsValid for entity/object validity.",
      "finalResponse": "```lua\nif IsValid(ent) then\n    ent:DoSomething()\nend\n```\nReason: `IsValid` is the Garry's Mod-safe check that returns false for `nil` or removed/invalid entities, so only call methods inside that guard.",
      "durationMs": 12585,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "35527312e59dfc13",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 461,
        "totalTokens": 12306,
        "reasoningTokens": 388,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:52.130Z",
      "completedAt": "2026-07-10T17:44:04.787Z",
      "answerBytes": 203,
      "answerChars": 203,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.net-receivers.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    local payload = net.ReadString()\n    -- handle incoming sync payload\nend)\n```\nReason: `net.Receive(\"MyAddon.Sync\", ...)` is the Garry's Mod registration call that binds a callback to the incoming network message of that exact name.",
      "durationMs": 11380,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "2",
      "promptHash": "24d54ee8366753a6",
      "usage": {
        "source": "provider",
        "promptTokens": 11838,
        "completionTokens": 892,
        "totalTokens": 12730,
        "reasoningTokens": 804,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:52.377Z",
      "completedAt": "2026-07-10T17:44:03.790Z",
      "answerBytes": 289,
      "answerChars": 289,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.angle-zero.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal zeroAnglePool = {}\nlocal zeroAngleCursor = 0\n\nlocal function BeginHotBatch()\n    zeroAngleCursor = 0 -- call once per frame/update before the hot loop\nend\n\nlocal function FreshZeroAngle()\n    zeroAngleCursor = zeroAngleCursor + 1\n    local ang = zeroAnglePool[zeroAngleCursor]\n    if not ang then\n        ang = Angle() -- allocate once per slot\n        zeroAnglePool[zeroAngleCursor] = ang\n    end\n    ang.p, ang.y, ang.r = 0, 0, 0\n    return ang\nend\n\nBeginHotBatch()\nfor i = 1, 128 do\n    local ang = FreshZeroAngle()\n    -- use ang here\nend\n```\nReason: Reusing pooled `Angle` objects and zeroing fields (`p`,`y`,`r`) removes per-iteration `Angle()` allocations and cuts GC pressure in the hot path.",
      "durationMs": 19304,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f6bc97bf98280d62",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 5500,
        "totalTokens": 17344,
        "reasoningTokens": 5275,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:52.611Z",
      "completedAt": "2026-07-10T17:44:11.956Z",
      "answerBytes": 713,
      "answerChars": 713,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.config-var.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nlocal addonColor = myaddon.config.color\n\nlocal c = addonColor\n```\nReason: Use a cached flat `local` variable because locals are register-accessed, while `myaddon.config.color` does repeated table-key lookups and globals are slower than locals.",
      "durationMs": 12892,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "bcc4ff8eb162b699",
      "usage": {
        "source": "provider",
        "promptTokens": 11851,
        "completionTokens": 981,
        "totalTokens": 12832,
        "reasoningTokens": 906,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:52.611Z",
      "completedAt": "2026-07-10T17:44:05.623Z",
      "answerBytes": 250,
      "answerChars": 250,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.darkrpvar.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal jobName = team.GetName(ply:Team()) -- preferred over ply:GetNWString(\"job\")\n```\nReason: `team.GetName(ply:Team())` is the canonical DarkRP/GMod job lookup, while `GetNWString(\"job\")` reads a legacy NW variable that can become stale or absent.",
      "durationMs": 13662,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "02a37daa699cded3",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 1779,
        "totalTokens": 13622,
        "reasoningTokens": 1690,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:52.898Z",
      "completedAt": "2026-07-10T17:44:06.563Z",
      "answerBytes": 255,
      "answerChars": 255,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.disttosqr.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nif pos1:DistToSqr(pos2) < maxDist * maxDist then\n    -- within range without computing actual distance\nend\n```\nReason: Use `DistToSqr` in Garry's Mod Lua to compare squared distances directly and avoid the expensive square-root from `Distance` when only a threshold check is needed.",
      "durationMs": 12033,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a5772470c6859cdc",
      "usage": {
        "source": "provider",
        "promptTokens": 11846,
        "completionTokens": 438,
        "totalTokens": 12284,
        "reasoningTokens": 348,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:52.899Z",
      "completedAt": "2026-07-10T17:44:04.939Z",
      "answerBytes": 289,
      "answerChars": 289,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ents-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nfor ent in ents.Iterator() do\n    if IsValid(ent) then\n        -- Visit each valid entity here.\n        print(ent:GetClass())\n    end\nend\n```\nReason: `ents.Iterator()` is the wiki-recommended efficient entity iterator in Garry's Mod since it streams entities without building a temporary table like `ents.GetAll()`. `IsValid(ent)` ensures only live entities are processed.",
      "durationMs": 11478,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "306d3f1d05f28246",
      "usage": {
        "source": "provider",
        "promptTokens": 11840,
        "completionTokens": 955,
        "totalTokens": 12795,
        "reasoningTokens": 848,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:54.170Z",
      "completedAt": "2026-07-10T17:44:05.854Z",
      "answerBytes": 379,
      "answerChars": 379,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-ents-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal function FindNearbyEntities(ply, radius)\n    local origin = ply:GetPos()\n    local r = radius\n\n    local mins = origin - Vector(r, r, r)\n    local maxs = origin + Vector(r, r, r)\n\n    local nearby = {}\n    local i = 0\n    local r2 = r * r\n\n    for _, ent in ipairs(ents.FindInBox(mins, maxs)) do\n        if IsValid(ent) and ent ~= ply and ent:GetPos():DistToSqr(origin) <= r2 then\n            i = i + 1\n            nearby[i] = ent\n        end\n    end\n\n    return nearby\nend\n```\nReason: `ents.FindInBox` is a common benchmark-faster built-in for cheap area lookups on servers, using a coarse AABB pass with an optional squared-distance filter to keep the exact radius check inexpensive.",
      "durationMs": 15686,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "07c583fc3d9fe09f",
      "usage": {
        "source": "provider",
        "promptTokens": 11861,
        "completionTokens": 1354,
        "totalTokens": 13215,
        "reasoningTokens": 1135,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:54.400Z",
      "completedAt": "2026-07-10T17:44:10.089Z",
      "answerBytes": 698,
      "answerChars": 698,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.find-players-near.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function GetPlayersInRadius(pos, radius)\n    local radiusSq = radius * radius\n    local players = player.GetHumans() -- use player.GetAll() if you want bots included\n    local result = {}\n\n    for i = 1, #players do\n        local ply = players[i]\n\n        if IsValid(ply) and not ply:IsDormant() and ply:GetPos():DistToSqr(pos) <= radiusSq then\n            result[#result + 1] = ply\n        end\n    end\n\n    return result\nend\n```\nReason: Iterate only player entities with `player.GetHumans()` (or `player.GetAll()`), then use a precomputed squared-radius `DistToSqr` check, which is cheaper than scanning all entities via `ents.FindInSphere` and avoids per-entity spatial query overhead + unnecessary sqrt work.",
      "durationMs": 12562,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d139ba2e8ee38a2f",
      "usage": {
        "source": "provider",
        "promptTokens": 11853,
        "completionTokens": 1436,
        "totalTokens": 13289,
        "reasoningTokens": 1229,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:54.614Z",
      "completedAt": "2026-07-10T17:44:07.387Z",
      "answerBytes": 724,
      "answerChars": 724,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.for-vs-while.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sum = 0\nfor i = 1, n do\n    sum = sum + i\nend\n```\nReason: In Garry's Mod Lua (Lua/LuaJIT), a numeric `for` loop is generally faster because it is a built-in counted loop with tighter bytecode/JIT path, while `while` adds explicit increment and comparison overhead each iteration.",
      "durationMs": 11170,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b3401a190a8aecf0",
      "usage": {
        "source": "provider",
        "promptTokens": 11852,
        "completionTokens": 892,
        "totalTokens": 12744,
        "reasoningTokens": 793,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:55.246Z",
      "completedAt": "2026-07-10T17:44:06.466Z",
      "answerBytes": 292,
      "answerChars": 292,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hook-once.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: one hook dispatch for the whole tick\nhook.Add(\"Think\", \"MyTickDispatcher\", function()\n    local players = player.GetAll()\n    if #players == 0 then return end\n\n    -- one dispatch, one call path\n    hook.Run(\"MyPlayerBatchTick\", players, FrameTime())\nend)\n\nhook.Add(\"MyPlayerBatchTick\", \"MyPlayerBatchHandler\", function(players, dt)\n    for i = 1, #players do\n        local ply = players[i]\n        if not IsValid(ply) then continue end\n\n        -- custom per-player logic\n        if ply:Alive() then\n            ply:SetArmor(math.min(ply:Armor() + 1, 100))\n        end\n    end\nend)\n\n-- Slower version (avoid):\n-- for _, ply in ipairs(player.GetAll()) do\n--     hook.Run(\"MyPlayerTick\", ply, FrameTime())\n-- end\n```\nReason: One hook.Run per tick avoids dispatch overhead N times per frame by batching all players into one call, then doing one internal loop over players in the handler.",
      "durationMs": 12724,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ed1d3e09249fc8bb",
      "usage": {
        "source": "provider",
        "promptTokens": 11856,
        "completionTokens": 1369,
        "totalTokens": 13225,
        "reasoningTokens": 1102,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:56.598Z",
      "completedAt": "2026-07-10T17:44:09.345Z",
      "answerBytes": 903,
      "answerChars": 903,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.hudpaint-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nhook.Add(\"HUDPaint\", \"FastHealthHUD\", function()\n    local ply = LocalPlayer()\n    if not IsValid(ply) then return end\n\n    local health = ply:Health()\n    local maxHealth = ply:GetMaxHealth()\n    local healthRatio = health / math.max(maxHealth, 1)\n\n    local x, y, w, h = 20, 20, 220, 18\n\n    draw.RoundedBox(0, x, y, w, h, Color(0, 0, 0, 180))\n    draw.RoundedBox(0, x, y, w * healthRatio, h, Color(120, 220, 120, 220))\n    draw.SimpleText(\"HP: \" .. health, \"DermaDefault\", x + 6, y + h * 0.5, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_CENTER)\nend)\n```\nReason: Cache `LocalPlayer()` and `Health()` once per frame, then reuse the `health` value for every draw path to avoid repeated expensive calls inside HUDPaint.",
      "durationMs": 11275,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3def450f3158ceff",
      "usage": {
        "source": "provider",
        "promptTokens": 11853,
        "completionTokens": 1611,
        "totalTokens": 13464,
        "reasoningTokens": 1349,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:57.708Z",
      "completedAt": "2026-07-10T17:44:08.991Z",
      "answerBytes": 722,
      "answerChars": 722,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-color.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Cache once, reuse in every paint call\nlocal WHITE = color_white\nlocal setColor = surface.SetDrawColor\nlocal drawRect = surface.DrawRect\n\nhook.Add(\"HUDPaint\", \"FastPaint\", function()\n    setColor(WHITE) -- set once, not per-iteration\n\n    for i = 1, 256 do\n        local x = i * 6\n        local y = 24\n        drawRect(x, y, 4, 4)\n    end\nend)\n```\nReason: Cache the color once (or use `color_white`) and avoid `Color(255,255,255)` inside the loop so you eliminate repeated allocations and per-iteration color setup overhead.",
      "durationMs": 12628,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "16a7bed1b931d467",
      "usage": {
        "source": "provider",
        "promptTokens": 11839,
        "completionTokens": 2032,
        "totalTokens": 13871,
        "reasoningTokens": 1860,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:58.840Z",
      "completedAt": "2026-07-10T17:44:11.475Z",
      "answerBytes": 533,
      "answerChars": 533,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.local-vs-global.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sin = math.sin -- cache lookup outside hot loop\n\nfor i = 1, 100000 do\n    local y = sin(i * 0.01)\n    -- use y\nend\n```\nReason: `sin` is read once as a local, so each iteration avoids repeated `math` table and field lookups of `math.sin` in a tight loop.",
      "durationMs": 11275,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "c116d8c651190647",
      "usage": {
        "source": "provider",
        "promptTokens": 11843,
        "completionTokens": 702,
        "totalTokens": 12545,
        "reasoningTokens": 601,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:43:58.995Z",
      "completedAt": "2026-07-10T17:44:10.272Z",
      "answerBytes": 266,
      "answerChars": 266,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.localplayer-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Matched a partial-answer pattern.",
      "finalResponse": "```lua\nlocal localPlayer\n\n-- Cache LocalPlayer() and only refresh when invalidated by engine state changes.\nlocal function GetLocalPlayer()\n    local lp = localPlayer\n\n    if not IsValid(lp) then\n        lp = LocalPlayer()\n        localPlayer = lp\n    end\n\n    return lp\nend\n\nhook.Add(\"Think\", \"myaddon_cache_localplayer\", function()\n    if not IsValid(localPlayer) then\n        localPlayer = LocalPlayer()\n    end\nend)\n\nlocal function DoHudStuff()\n    local lp = GetLocalPlayer()\n    if not IsValid(lp) then return end\n\n    -- use lp every frame instead of calling LocalPlayer() repeatedly\nend\n```\nReason: Cache the local player once in a local variable and refresh only when invalid so repeated calls reuse the same object without repeated global lookups.",
      "durationMs": 11656,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7398105af47b079e",
      "usage": {
        "source": "provider",
        "promptTokens": 11846,
        "completionTokens": 1981,
        "totalTokens": 13827,
        "reasoningTokens": 1776,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:43:59.883Z",
      "completedAt": "2026-07-10T17:44:11.561Z",
      "answerBytes": 757,
      "answerChars": 757,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.looking-at.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal LOOK_ANGLE_DEG = 25\nlocal COS_LIMIT = math.cos(math.rad(LOOK_ANGLE_DEG))\nlocal COS_LIMIT_SQ = COS_LIMIT * COS_LIMIT\n\nlocal function RoughlyFacingEachOther(p1, p2, maxDistance)\n    local p1Pos, p2Pos = p1:EyePos(), p2:EyePos()\n    local dx, dy, dz = p2Pos.x - p1Pos.x, p2Pos.y - p1Pos.y, p2Pos.z - p1Pos.z\n\n    local distSq = dx * dx + dy * dy + dz * dz\n    if maxDistance and distSq > maxDistance * maxDistance then return false end\n\n    local a1, a2 = p1:GetAimVector(), p2:GetAimVector()\n\n    local dot1 = a1.x * dx + a1.y * dy + a1.z * dz      -- p1 looking toward p2\n    if dot1 <= 0 then return false end\n    if dot1 * dot1 < COS_LIMIT_SQ * distSq then return false end\n\n    local dot2 = - (a2.x * dx + a2.y * dy + a2.z * dz) -- p2 looking toward p1\n    if dot2 <= 0 then return false end\n\n    return dot2 * dot2 >= COS_LIMIT_SQ * distSq\nend\n```\nReason: Using the dot product against eye-to-eye displacement and comparing against `cos²(θ)` checks forward-facing FOV on both players in constant time and skips `math.acos`/angle math entirely for a much cheaper check.",
      "durationMs": 12746,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "20b22f678a4b08d7",
      "usage": {
        "source": "provider",
        "promptTokens": 11860,
        "completionTokens": 2999,
        "totalTokens": 14859,
        "reasoningTokens": 2624,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:00.497Z",
      "completedAt": "2026-07-10T17:44:13.244Z",
      "answerBytes": 1086,
      "answerChars": 1084,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.meta-vs-arg.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Matched an incorrect-answer pattern.",
      "finalResponse": "```lua\nply:SomeHelper()\n```\nReason: In Garry's Mod Lua, `ply:SomeHelper()` compiles to the same call shape as `SomeHelper(ply)`, so there is no meaningful performance difference; use `:` when it is a method-style helper on `ply`.",
      "durationMs": 10724,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de332f7356830dfa",
      "usage": {
        "source": "provider",
        "promptTokens": 11852,
        "completionTokens": 920,
        "totalTokens": 12772,
        "reasoningTokens": 839,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:01.789Z",
      "completedAt": "2026-07-10T17:44:12.516Z",
      "answerBytes": 229,
      "answerChars": 229,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.msg-vs-print.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal dbg = MsgN -- cache globally scoped lookup once\ndbg(\"[DBG] hp=\" .. tostring(ent:Health()) .. \" ammo=\" .. tostring(ent:GetAmmoCount()))\n```\nReason: `MsgN` writes straight to the GMod console and avoids `print`’s slower variadic formatting path (and with a cached local reference it’s the cheaper hot-path alternative.",
      "durationMs": 11275,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "6cbb4e4b2f19dd24",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 1746,
        "totalTokens": 13591,
        "reasoningTokens": 1645,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:44:02.178Z",
      "completedAt": "2026-07-10T17:44:13.454Z",
      "answerBytes": 333,
      "answerChars": 329,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\nlocal nums = {10, 20, 30, --[[...]] }\nlocal n = #nums\n\nfor i = 1, n do\n    local v = nums[i]\n    -- use v\nend\n```\nReason: Use the numeric `for` loop (`for i = 1, #nums`) for dense array-like tables because it does direct index access with no iterator callback/state overhead, making it the fastest practical choice in Garry's Mod Lua.",
      "durationMs": 10014,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "de5e4875fcf3e600",
      "usage": {
        "source": "provider",
        "promptTokens": 11853,
        "completionTokens": 630,
        "totalTokens": 12483,
        "reasoningTokens": 509,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:02.308Z",
      "completedAt": "2026-07-10T17:44:12.324Z",
      "answerBytes": 341,
      "answerChars": 341,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal function collectRichCitizenNames(minMoney)\n    local players = player.GetAll()\n    local out = {}\n    local n = 0\n\n    for i = 1, #players do\n        local ply = players[i]\n        if IsValid(ply) and ply:IsPlayer() and ply:Team() == TEAM_CITIZEN and ply:Alive() then\n            local money = ply:getDarkRPVar(\"money\")\n            if money and money >= minMoney then\n                n = n + 1\n                out[n] = ply:Nick()\n            end\n        end\n    end\n\n    return out\nend\n\nlocal richCitizens = collectRichCitizenNames(10000)\n```\nReason: This is faster than fn-style chains because it does filter and map in one linear pass with direct table writes, avoiding closure chaining, iterator overhead, and intermediate tables per stage.",
      "durationMs": 12310,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "ead0a98b3ff6a388",
      "usage": {
        "source": "provider",
        "promptTokens": 11861,
        "completionTokens": 3377,
        "totalTokens": 15238,
        "reasoningTokens": 3163,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:02.486Z",
      "completedAt": "2026-07-10T17:44:14.799Z",
      "answerBytes": 756,
      "answerChars": 756,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.player-cache-hooks.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal cachedPlayers = {}\nlocal inCache = {}\n\nlocal function rebuildCache()\n    table.Empty(cachedPlayers)\n    table.Empty(inCache)\n\n    for _, ply in ipairs(player.GetAll()) do\n        local i = ply:EntIndex()\n        inCache[i] = true\n        cachedPlayers[#cachedPlayers + 1] = ply\n    end\nend\n\nlocal function addPlayer(ply)\n    local i = ply:EntIndex()\n    if inCache[i] then return end\n\n    inCache[i] = true\n    cachedPlayers[#cachedPlayers + 1] = ply\nend\n\nlocal function removePlayer(ply)\n    local i = ply:EntIndex()\n    if not inCache[i] then return end\n\n    inCache[i] = nil\n\n    for n = #cachedPlayers, 1, -1 do\n        if cachedPlayers[n] == ply then\n            cachedPlayers[n] = cachedPlayers[#cachedPlayers]\n            cachedPlayers[#cachedPlayers] = nil\n            break\n        end\n    end\nend\n\nhook.Add(\"Initialize\", \"PlayerCache_Init\", rebuildCache)\nhook.Add(\"PlayerInitialSpawn\", \"PlayerCache_Add\", addPlayer)\nhook.Add(\"PlayerDisconnected\", \"PlayerCache_Remove\", removePlayer)\n\nhook.Add(\"Think\", \"PlayerCache_Think\", function()\n    for _, ply in ipairs(cachedPlayers) do\n        -- fast per-tick logic using cachedPlayers\n    end\nend)\n```\nReason: This removes per-tick `player.GetAll()` allocation and lookup work by updating a cached player array only on join/leave hooks, then iterating that cache in Think.",
      "durationMs": 13661,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "a834817afe9e6c25",
      "usage": {
        "source": "provider",
        "promptTokens": 11862,
        "completionTokens": 3206,
        "totalTokens": 15068,
        "reasoningTokens": 2822,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:03.542Z",
      "completedAt": "2026-07-10T17:44:17.205Z",
      "answerBytes": 1338,
      "answerChars": 1338,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.ply-table-index.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal plyState = {} -- [ply EntIndex] = table of hot temp values\n\nlocal function getState(ply)\n    local i = ply:EntIndex()\n    local s = plyState[i]\n    if s == nil then\n        s = {}\n        plyState[i] = s\n    end\n    return s\nend\n\nfunction SetTempValue(ply, value)\n    getState(ply).tmp = value\nend\n\nfunction GetTempValue(ply)\n    local s = plyState[ply:EntIndex()]\n    if s then return s.tmp end\n    return nil\nend\n\nhook.Add(\"PlayerDisconnected\", \"CleanupPlyTempState\", function(ply)\n    plyState[ply:EntIndex()] = nil\nend)\n\nlocal function Think()\n    for _, ply in ipairs(player.GetAll()) do\n        local s = plyState[ply:EntIndex()]\n        if s then\n            local v = s.tmp\n            -- use v\n        end\n    end\nend\n```\nReason: Use a local Lua table keyed by EntIndex with lazy per-player subtables so hot reads are plain table lookups (`plyState[idx]`) instead of userdata field access on `ply` objects.",
      "durationMs": 12405,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f18cc80df8999147",
      "usage": {
        "source": "provider",
        "promptTokens": 11847,
        "completionTokens": 2579,
        "totalTokens": 14426,
        "reasoningTokens": 2288,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:03.604Z",
      "completedAt": "2026-07-10T17:44:16.010Z",
      "answerBytes": 928,
      "answerChars": 928,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.seq-tables.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Faster: dense array-style table for fixed collections\ntype = { \"idle\", \"walk\", \"run\", \"jump\" }\n\nfor i = 1, #type do\n    local state = type[i]\n    print(state)\nend\n\n-- Slower/less cache-friendly for iteration:\n-- stateMap = { idle = 1, walk = 2, run = 3, jump = 4 }\n```\nReason: Use a sequential number-indexed table (array) and index/count-based loop in Lua because it uses dense array storage, predictable order, and lower iteration overhead than hash-map key iteration with string keys.",
      "durationMs": 10680,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4778b0220c3f91a3",
      "usage": {
        "source": "provider",
        "promptTokens": 11850,
        "completionTokens": 969,
        "totalTokens": 12819,
        "reasoningTokens": 812,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:03.791Z",
      "completedAt": "2026-07-10T17:44:14.473Z",
      "answerBytes": 497,
      "answerChars": 497,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.setdrawcolor-split.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Hot draw path: keep a plain color in locals, pass numeric channels.\nlocal SetDrawColor = surface.SetDrawColor\nlocal DrawRect = surface.DrawRect\n\nlocal r, g, b, a = 255, 128, 32, 255\n\nhook.Add(\"HUDPaint\", \"FastPathDraw\", function()\n    SetDrawColor(r, g, b, a)\n    DrawRect(10, 10, 64, 64)\nend)\n```\nReason: Passing `r, g, b, a` directly avoids creating/reading a `Color` object on each hot-path call, which is the lower-overhead path.",
      "durationMs": 11394,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "d110fde8a37bbe59",
      "usage": {
        "source": "provider",
        "promptTokens": 11853,
        "completionTokens": 1182,
        "totalTokens": 13035,
        "reasoningTokens": 1020,
        "cachedTokens": 0
      },
      "startedAt": "2026-07-10T17:44:04.128Z",
      "completedAt": "2026-07-10T17:44:15.524Z",
      "answerBytes": 443,
      "answerChars": 443,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamid = \"STEAM_0:1:12345\"\nlocal playtime = sql.QueryValue(\"SELECT playtime FROM player_data WHERE steamid = \" .. sql.SQLStr(steamid) .. \";\")\n\nif playtime then\n    print(\"playtime:\", playtime)\nend\n```\nReason: For a single Garry's Mod server with no cross-server sync, local SQLite (`sql`) is usually lower latency because reads/writes stay in-process and avoid network round-trips and client/server overhead that remote MySQL adds.",
      "durationMs": 10435,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "4a3f5d2a20d71ac9",
      "usage": {
        "source": "provider",
        "promptTokens": 11869,
        "completionTokens": 1093,
        "totalTokens": 12962,
        "reasoningTokens": 955,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:04.787Z",
      "completedAt": "2026-07-10T17:44:15.224Z",
      "answerBytes": 445,
      "answerChars": 445,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.steamid-cache.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" }) -- weak keys, auto cleanup when player entity is gone\n\nlocal function GetSteamIDCached(ply)\n    if not IsValid(ply) then return nil end\n\n    local sid = steamIDCache[ply]\n    if sid ~= nil then\n        return sid\n    end\n\n    sid = ply:SteamID()\n    steamIDCache[ply] = sid\n    return sid\nend\n\nhook.Add(\"PlayerDisconnected\", \"PurgeSteamIDCache\", function(ply)\n    steamIDCache[ply] = nil\nend)\n\n-- hot path\nlocal sid = GetSteamIDCached(ply)\n```\nReason: Store `ply:SteamID()` once per player in a weak-key cache and reuse it in hot loops, with disconnect cleanup preventing stale entries.",
      "durationMs": 11272,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "e8a94aa454154982",
      "usage": {
        "source": "provider",
        "promptTokens": 11842,
        "completionTokens": 1616,
        "totalTokens": 13458,
        "reasoningTokens": 1410,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:04.940Z",
      "completedAt": "2026-07-10T17:44:16.213Z",
      "answerBytes": 649,
      "answerChars": 649,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.string-table-concat.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal function concat_many(parts)\n    -- Fast pattern for GMod Lua: collect fragments, then join once.\n    local chunks = {}\n    for i = 1, #parts do\n        chunks[i] = parts[i]\n    end\n    return table.concat(chunks)\nend\n\nlocal function concat_naive(parts)\n    -- Slow pattern (O(n^2)); only for comparison.\n    local s = \"\"\n    for i = 1, #parts do\n        s = s .. parts[i]\n    end\n    return s\nend\n\nlocal parts = {}\nfor i = 1, 10000 do\n    parts[i] = \"piece \" .. i\nend\n\nlocal fast = concat_many(parts)\n-- local slow = concat_naive(parts)\n```\nReason: `table.concat` is faster for many fragments in Garry's Mod Lua because it joins once in one internal pass, while repeated `..` creates a new string on every loop iteration, causing repeated reallocations and quadratic work.",
      "durationMs": 10691,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "b0cf9e04ae7c5dd9",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 1163,
        "totalTokens": 13008,
        "reasoningTokens": 921,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:05.624Z",
      "completedAt": "2026-07-10T17:44:16.317Z",
      "answerBytes": 785,
      "answerChars": 785,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-drawrect.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- faster than draw.RoundedBox(0, x, y, w, h, col)\nsurface.SetDrawColor(255, 128, 0, 255)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `draw.RoundedBox` always routes through rounding code and validation even at radius 0, while `surface.SetDrawColor` + `surface.DrawRect` skips rounded-corner path and does the plain rect primitive draw. ",
      "durationMs": 11027,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "696e8de769d9ad0e",
      "usage": {
        "source": "provider",
        "promptTokens": 11847,
        "completionTokens": 1021,
        "totalTokens": 12868,
        "reasoningTokens": 901,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:05.855Z",
      "completedAt": "2026-07-10T17:44:16.884Z",
      "answerBytes": 341,
      "answerChars": 341,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.surface-text.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal TEXT = \"FPS: \" .. tostring(math.floor(FrameTime() * 1000 + 0.5))\n\nsurface.CreateFont(\"PerfHUD\", {\n    font = \"Arial\",\n    size = 20,\n    weight = 500,\n    antialias = true,\n})\n\nhook.Add(\"HUDPaint\", \"PerfHUD_DrawSingleLine\", function()\n    surface.SetFont(\"PerfHUD\")\n    surface.SetTextColor(255, 255, 255, 255)\n    surface.SetTextPos(16, 16)\n    surface.DrawText(TEXT)\nend)\n```\nReason: Use `surface.*` text primitives (`SetFont` + `SetTextColor` + `SetTextPos` + `DrawText`) to avoid the extra wrapper/outline overhead of `draw.DrawText` and especially `SimpleTextOutlined`, which is cheaper for a single-line per-frame HUD draw.",
      "durationMs": 11685,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "95d9fe4918ee4197",
      "usage": {
        "source": "provider",
        "promptTokens": 11848,
        "completionTokens": 1891,
        "totalTokens": 13739,
        "reasoningTokens": 1671,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:06.466Z",
      "completedAt": "2026-07-10T17:44:18.154Z",
      "answerBytes": 642,
      "answerChars": 642,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-count-hash.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal n = #arr\n```\nReason: In Garry's Mod Lua, `#` is the preferred length operator for sequential, contiguous array-like tables.",
      "durationMs": 10059,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3e9bbfc8452e05e3",
      "usage": {
        "source": "provider",
        "promptTokens": 11838,
        "completionTokens": 400,
        "totalTokens": 12238,
        "reasoningTokens": 347,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:06.565Z",
      "completedAt": "2026-07-10T17:44:16.627Z",
      "answerBytes": 136,
      "answerChars": 136,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-empty.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\n-- Fastest way to discard contents when you can rebind the variable:\nlocal t = {1, 2, 3, 4, 5}\n\nt = {}\n\n-- table.Empty(t) is needed only if other code must keep the same table reference.\n```\nReason: `t = {}` is generally faster for repeated clears because it allocates a fresh table in O(1) time, while `table.Empty(t)` must iterate and nil each entry in O(n); use `table.Empty` only when table identity must be preserved.",
      "durationMs": 10704,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "3a6344977f5bd475",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 1224,
        "totalTokens": 13069,
        "reasoningTokens": 1086,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:07.388Z",
      "completedAt": "2026-07-10T17:44:18.093Z",
      "answerBytes": 429,
      "answerChars": 429,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-hasvalue.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\nlocal function toSet(list)\n    local set = {}\n    for i = 1, #list do\n        set[list[i]] = true\n    end\n    return set\nend\n\nlocal weapons = toSet({\"weapon_crowbar\", \"weapon_pistol\", \"weapon_ar2\", \"weapon_shotgun\"})\n\nlocal class = \"weapon_pistol\"\nif weapons[class] then\n    print(\"weapon is allowed\")\nend\n\n-- Example of old way (slower):\n-- table.HasValue({\"weapon_crowbar\", \"weapon_pistol\", \"weapon_ar2\", \"weapon_shotgun\"}, class)\n```\nReason: `table.HasValue` on an array checks every element each call, while a map-style set uses direct key lookup so membership is constant-time on average (`O(1)`).",
      "durationMs": 11217,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "7d064428a873fdfc",
      "usage": {
        "source": "provider",
        "promptTokens": 11845,
        "completionTokens": 1038,
        "totalTokens": 12883,
        "reasoningTokens": 835,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:08.992Z",
      "completedAt": "2026-07-10T17:44:20.211Z",
      "answerBytes": 609,
      "answerChars": 609,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-literal.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "protocol_error",
      "detail": "Answer must contain 0 through 0 candidate loops.",
      "finalResponse": "```lua\n-- Faster: define known fields directly in constructor\nlocal function make_tbl()\n    return { hp = 100, armor = 50, name = \"player\", alive = true }\nend\n\n-- Baseline for reference\nlocal function make_tbl_late()\n    local t = {}\n    t.hp = 100\n    t.armor = 50\n    t.name = \"player\"\n    t.alive = true\n    return t\nend\n\nlocal rounds = 200000\nlocal t0 = SysTime()\nfor i = 1, rounds do make_tbl() end\nlocal t1 = SysTime()\nfor i = 1, rounds do make_tbl_late() end\nlocal t2 = SysTime()\nprint(\"constructor:\", t1 - t0, \"late:\", t2 - t1)\n```\nReason: Use the constructor form (`{ key = value, ... }`), since it initializes the table in one step and is typically faster than creating `{}` then assigning fields.",
      "durationMs": 11374,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f95a8fc610d720ad",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 1247,
        "totalTokens": 13091,
        "reasoningTokens": 1009,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:09.345Z",
      "completedAt": "2026-07-10T17:44:20.721Z",
      "answerBytes": 707,
      "answerChars": 707,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.table-random.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "incorrect",
      "detail": "Did not match a fixture answer pattern.",
      "finalResponse": "```lua\n-- Faster random element picker for a sequential (array-like) table\nlocal function randomElement(arr)\n    local n = #arr\n    if n == 0 then return nil end\n    return arr[math.random(n)]\nend\n\n-- Example\nlocal weapon = randomElement({\"pistol\", \"smg\", \"shotgun\", \"rifle\"})\n```\nReason: Sequential tables allow direct indexed access in O(1), so `#arr` + `arr[math.random(n)]` is faster than `table.Random`, which must do extra logic for arbitrary key tables.",
      "durationMs": 10243,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "f3e090701953d4a9",
      "usage": {
        "source": "provider",
        "promptTokens": 11844,
        "completionTokens": 786,
        "totalTokens": 12630,
        "reasoningTokens": 640,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:09.507Z",
      "completedAt": "2026-07-10T17:44:19.751Z",
      "answerBytes": 460,
      "answerChars": 460,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.perf.x-times-x.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "pass",
      "detail": "Matched a pass pattern.",
      "finalResponse": "```lua\nlocal sum = 0\nfor i = 1, #values do\n    local x = values[i]\n    sum = sum + x * x\nend\n```\nReason: Use `x * x`; multiplication is the direct arithmetic path and avoids per-iteration `math.pow(x, 2)` function-call overhead.",
      "durationMs": 11072,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 1,
      "rubricVersion": "1",
      "promptHash": "79d48008f6b5174f",
      "usage": {
        "source": "provider",
        "promptTokens": 11839,
        "completionTokens": 951,
        "totalTokens": 12790,
        "reasoningTokens": 863,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:10.089Z",
      "completedAt": "2026-07-10T17:44:21.163Z",
      "answerBytes": 228,
      "answerChars": 228,
      "exitCode": 0
    },
    {
      "fixtureId": "gmod.player-iterator.v1",
      "adapterId": "codex",
      "model": "gpt-5.3-codex-spark@xhigh",
      "attemptIndex": 1,
      "status": "partial",
      "detail": "Uses ipairs but still allocates via player.GetAll() each time.",
      "finalResponse": "```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- handle each connected player\nend\n```\nReason: `player.GetAll()` returns all currently connected players, and `ipairs` iterates through that list directly for each player entity.",
      "durationMs": 24517,
      "version": "codex-cli 0.144.0-alpha.4",
      "fixtureVersion": 2,
      "rubricVersion": "4",
      "promptHash": "fe3d7469535a0ca2",
      "usage": {
        "source": "provider",
        "promptTokens": 11849,
        "completionTokens": 554,
        "totalTokens": 12403,
        "reasoningTokens": 483,
        "cachedTokens": 11520
      },
      "startedAt": "2026-07-10T17:44:10.275Z",
      "completedAt": "2026-07-10T17:44:34.803Z",
      "answerBytes": 231,
      "answerChars": 231,
      "exitCode": 0
    }
  ],
  "summary": {
    "statusCounts": {
      "pass": 943,
      "partial": 92,
      "incorrect": 64,
      "protocol_error": 79,
      "policy_violation": 0,
      "timeout": 0,
      "unavailable": 0,
      "unsupported": 0,
      "trace_error": 0,
      "scored": 1099
    },
    "groups": [
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.hook-add.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.isvalid.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.net-receivers.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.angle-zero.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.config-var.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.darkrpvar.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.disttosqr.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ents-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-ents-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.find-players-near.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.for-vs-while.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hook-once.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.hudpaint-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-color.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.local-vs-global.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.localplayer-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.looking-at.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.meta-vs-arg.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.msg-vs-print.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.pairs-ipairs-for.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.plain-lua-vs-fn.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.player-cache-hooks.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.ply-table-index.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.seq-tables.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.setdrawcolor-split.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.sqlite-vs-mysql.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.steamid-cache.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.string-table-concat.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-drawrect.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.surface-text.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-count-hash.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-empty.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-hasvalue.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "protocol_error",
        "meanScore": null,
        "scoredAttempts": 0
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-literal.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.table-random.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.perf.x-times-x.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.3-codex-spark@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4-mini@xhigh",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.4@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "incorrect",
        "meanScore": 0,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.5@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@high",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@low",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@medium",
        "attempts": 1,
        "passCount": 0,
        "passAtK": false,
        "bestStatus": "partial",
        "meanScore": 0.5,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-luna@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-sol@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@high",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@low",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@max",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@medium",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      },
      {
        "fixtureId": "gmod.player-iterator.v1",
        "adapterId": "codex",
        "model": "gpt-5.6-terra@xhigh",
        "attempts": 1,
        "passCount": 1,
        "passAtK": true,
        "bestStatus": "pass",
        "meanScore": 1,
        "scoredAttempts": 1
      }
    ],
    "passAtKRate": "943/1099",
    "overallMeanScore": 0.899909008189263
  },
  "metadata": {
    "schemaVersion": 3,
    "runId": "55e3cd85-0c88-40a1-9364-114f6ce4bb36",
    "startedAt": "2026-07-10T17:34:24.959Z",
    "completedAt": "2026-07-10T17:44:34.806Z",
    "repeat": 1,
    "concurrency": 25,
    "fixtureIds": [
      "gmod.ents-iterator.v1",
      "gmod.hook-add.v1",
      "gmod.isvalid.v1",
      "gmod.net-receivers.v1",
      "gmod.perf.angle-zero.v1",
      "gmod.perf.config-var.v1",
      "gmod.perf.darkrpvar.v1",
      "gmod.perf.disttosqr.v1",
      "gmod.perf.ents-iterator.v1",
      "gmod.perf.find-ents-near.v1",
      "gmod.perf.find-players-near.v1",
      "gmod.perf.for-vs-while.v1",
      "gmod.perf.hook-once.v1",
      "gmod.perf.hudpaint-cache.v1",
      "gmod.perf.local-color.v1",
      "gmod.perf.local-vs-global.v1",
      "gmod.perf.localplayer-cache.v1",
      "gmod.perf.looking-at.v1",
      "gmod.perf.meta-vs-arg.v1",
      "gmod.perf.msg-vs-print.v1",
      "gmod.perf.pairs-ipairs-for.v1",
      "gmod.perf.plain-lua-vs-fn.v1",
      "gmod.perf.player-cache-hooks.v1",
      "gmod.perf.ply-table-index.v1",
      "gmod.perf.seq-tables.v1",
      "gmod.perf.setdrawcolor-split.v1",
      "gmod.perf.sqlite-vs-mysql.v1",
      "gmod.perf.steamid-cache.v1",
      "gmod.perf.string-table-concat.v1",
      "gmod.perf.surface-drawrect.v1",
      "gmod.perf.surface-text.v1",
      "gmod.perf.table-count-hash.v1",
      "gmod.perf.table-empty.v1",
      "gmod.perf.table-hasvalue.v1",
      "gmod.perf.table-literal.v1",
      "gmod.perf.table-random.v1",
      "gmod.perf.x-times-x.v1",
      "gmod.player-iterator.v1"
    ],
    "fixtureCount": 38,
    "attemptCount": 1178,
    "adapters": [
      "codex"
    ],
    "models": [
      "codex/gpt-5.3-codex-spark@high",
      "codex/gpt-5.3-codex-spark@low",
      "codex/gpt-5.3-codex-spark@medium",
      "codex/gpt-5.3-codex-spark@xhigh",
      "codex/gpt-5.4-mini@high",
      "codex/gpt-5.4-mini@low",
      "codex/gpt-5.4-mini@medium",
      "codex/gpt-5.4-mini@xhigh",
      "codex/gpt-5.4@high",
      "codex/gpt-5.4@low",
      "codex/gpt-5.4@medium",
      "codex/gpt-5.4@xhigh",
      "codex/gpt-5.5@high",
      "codex/gpt-5.5@low",
      "codex/gpt-5.5@medium",
      "codex/gpt-5.5@xhigh",
      "codex/gpt-5.6-luna@high",
      "codex/gpt-5.6-luna@low",
      "codex/gpt-5.6-luna@max",
      "codex/gpt-5.6-luna@medium",
      "codex/gpt-5.6-luna@xhigh",
      "codex/gpt-5.6-sol@high",
      "codex/gpt-5.6-sol@low",
      "codex/gpt-5.6-sol@max",
      "codex/gpt-5.6-sol@medium",
      "codex/gpt-5.6-sol@xhigh",
      "codex/gpt-5.6-terra@high",
      "codex/gpt-5.6-terra@low",
      "codex/gpt-5.6-terra@max",
      "codex/gpt-5.6-terra@medium",
      "codex/gpt-5.6-terra@xhigh"
    ],
    "keepRaw": true,
    "durationSeconds": 610,
    "usageTotals": {
      "promptTokens": 18777972,
      "completionTokens": 492160,
      "reasoningTokens": 366369,
      "totalTokens": 19270132,
      "cachedTokens": 11851136,
      "cacheWriteTokens": 0,
      "cost": 0,
      "upstreamInferenceCost": 0,
      "attemptsWithUsage": 1178,
      "providerUsageAttempts": 1178,
      "estimatedUsageAttempts": 0,
      "avgDurationMs": 12551,
      "minDurationMs": 2278,
      "maxDurationMs": 94958,
      "totalDurationMs": 14785140,
      "totalAnswerBytes": 390135
    }
  }
}
