{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.ents-iterator.v1","fixtureId":"gmod.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6107,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.hook-add.v1","fixtureId":"gmod.hook-add.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Registers a named hook with hook.Add.","durationMs":3878,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.isvalid.v1","fixtureId":"gmod.isvalid.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Uses IsValid for entity/object validity.","durationMs":4156,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.net-receivers.v1","fixtureId":"gmod.net-receivers.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4145,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.angle-zero.v1","fixtureId":"gmod.perf.angle-zero.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":7343,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.config-var.v1","fixtureId":"gmod.perf.config-var.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4669,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.darkrpvar.v1","fixtureId":"gmod.perf.darkrpvar.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4791,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.disttosqr.v1","fixtureId":"gmod.perf.disttosqr.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":3940,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ents-iterator.v1","fixtureId":"gmod.perf.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4615,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-ents-near.v1","fixtureId":"gmod.perf.find-ents-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":3890,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-players-near.v1","fixtureId":"gmod.perf.find-players-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5295,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.for-vs-while.v1","fixtureId":"gmod.perf.for-vs-while.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4701,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hook-once.v1","fixtureId":"gmod.perf.hook-once.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5181,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hudpaint-cache.v1","fixtureId":"gmod.perf.hudpaint-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4506,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-color.v1","fixtureId":"gmod.perf.local-color.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4018,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-vs-global.v1","fixtureId":"gmod.perf.local-vs-global.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":3817,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.localplayer-cache.v1","fixtureId":"gmod.perf.localplayer-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":4151,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.looking-at.v1","fixtureId":"gmod.perf.looking-at.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":5342,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.meta-vs-arg.v1","fixtureId":"gmod.perf.meta-vs-arg.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4965,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.msg-vs-print.v1","fixtureId":"gmod.perf.msg-vs-print.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4058,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.pairs-ipairs-for.v1","fixtureId":"gmod.perf.pairs-ipairs-for.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"incorrect","detail":"Did not match a fixture answer pattern.","durationMs":4715,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.plain-lua-vs-fn.v1","fixtureId":"gmod.perf.plain-lua-vs-fn.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"incorrect","detail":"Matched an incorrect-answer pattern.","durationMs":5606,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"(from log; body not captured)","model_patch":"(from log; body not captured)"}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.player-cache-hooks.v1","fixtureId":"gmod.perf.player-cache-hooks.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5878,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal cachedPlayers = player.GetAll()\n\nlocal function updatePlayerCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"CachePlayers_Join\", function()\n    timer.Simple(0, updatePlayerCache)\nend)\n\nhook.Add(\"PlayerDisconnected\", \"CachePlayers_Leave\", function()\n    timer.Simple(0, updatePlayerCache)\nend)\n\nhook.Add(\"Think\", \"CachedThinkExample\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- Perform per-tick operations on ply here\n        end\n    end\nend)\n```\nReason: Caching player.GetAll() in a local table and updating it only on player connection/disconnection hooks avoids allocating a new table and garbage collecting it every single tick, while using a standard `for i = 1, #cachedPlayers` loop is faster than `ipairs`.","model_patch":"```lua\nlocal cachedPlayers = player.GetAll()\n\nlocal function updatePlayerCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"CachePlayers_Join\", function()\n    timer.Simple(0, updatePlayerCache)\nend)\n\nhook.Add(\"PlayerDisconnected\", \"CachePlayers_Leave\", function()\n    timer.Simple(0, updatePlayerCache)\nend)\n\nhook.Add(\"Think\", \"CachedThinkExample\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- Perform per-tick operations on ply here\n        end\n    end\nend)\n```\nReason: Caching player.GetAll() in a local table and updating it only on player connection/disconnection hooks avoids allocating a new table and garbage collecting it every single tick, while using a standard `for i = 1, #cachedPlayers` loop is faster than `ipairs`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ply-table-index.v1","fixtureId":"gmod.perf.ply-table-index.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5179,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal playerData = {}\n\n-- Set value\nplayerData[ply] = value\n\n-- Get value\nlocal value = playerData[ply]\n```\nReason: Storing data in a local Lua table indexed directly by the player object bypasses the __index and __newindex metamethod lookups on the entity's userdata wrapper.","model_patch":"```lua\nlocal playerData = {}\n\n-- Set value\nplayerData[ply] = value\n\n-- Get value\nlocal value = playerData[ply]\n```\nReason: Storing data in a local Lua table indexed directly by the player object bypasses the __index and __newindex metamethod lookups on the entity's userdata wrapper."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.seq-tables.v1","fixtureId":"gmod.perf.seq-tables.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5232,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal tbl = { \"value1\", \"value2\", \"value3\" }\nfor i = 1, #tbl do\n    local val = tbl[i]\nend\n```\nReason: Sequential number-indexed arrays store elements in a contiguous array memory block, allowing the LuaJIT VM to perform highly optimized linear indexing via a basic numeric loop, whereas string-keyed maps reside in the hash portion of the table and require expensive hash lookups and iterator overhead via pairs().","model_patch":"```lua\nlocal tbl = { \"value1\", \"value2\", \"value3\" }\nfor i = 1, #tbl do\n    local val = tbl[i]\nend\n```\nReason: Sequential number-indexed arrays store elements in a contiguous array memory block, allowing the LuaJIT VM to perform highly optimized linear indexing via a basic numeric loop, whereas string-keyed maps reside in the hash portion of the table and require expensive hash lookups and iterator overhead via pairs()."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.setdrawcolor-split.v1","fixtureId":"gmod.perf.setdrawcolor-split.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":3898,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(r, g, b, a)\n```\nReason: Calling `surface.SetDrawColor` with separate numeric arguments (r, g, b, a) is faster in a hot draw path because it avoids creating or dereferencing a Lua `Color` table/object structure and prevents garbage collection overhead.","model_patch":"```lua\nsurface.SetDrawColor(r, g, b, a)\n```\nReason: Calling `surface.SetDrawColor` with separate numeric arguments (r, g, b, a) is faster in a hot draw path because it avoids creating or dereferencing a Lua `Color` table/object structure and prevents garbage collection overhead."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.sqlite-vs-mysql.v1","fixtureId":"gmod.perf.sqlite-vs-mysql.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4104,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\n-- Local SQLite query style in Garry's Mod\nlocal results = sql.Query(\"SELECT * FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID) .. \";\")\nif results == false then\n    print(\"SQL Error: \" .. sql.LastError())\nend\n```\nReason: Local SQLite avoids network round-trip latency entirely, making it significantly faster for single-server reads and writes than a remote MySQL database.","model_patch":"```lua\n-- Local SQLite query style in Garry's Mod\nlocal results = sql.Query(\"SELECT * FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID) .. \";\")\nif results == false then\n    print(\"SQL Error: \" .. sql.LastError())\nend\n```\nReason: Local SQLite avoids network round-trip latency entirely, making it significantly faster for single-server reads and writes than a remote MySQL database."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.steamid-cache.v1","fixtureId":"gmod.perf.steamid-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":4720,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal Player = FindMetaTable(\"Player\")\nlocal GetSteamID = Player.SteamID\n\nfunction Player:SteamID()\n    local id = self._steamid\n    if id == nil then\n        id = GetSteamID(self)\n        self._steamid = id\n    end\n    return id\nend\n```\nReason: Overriding the Player metatable method to cache the SteamID directly on the player entity object avoids repeated C++ boundary calls on subsequent invocations.","model_patch":"```lua\nlocal Player = FindMetaTable(\"Player\")\nlocal GetSteamID = Player.SteamID\n\nfunction Player:SteamID()\n    local id = self._steamid\n    if id == nil then\n        id = GetSteamID(self)\n        self._steamid = id\n    end\n    return id\nend\n```\nReason: Overriding the Player metatable method to cache the SteamID directly on the player entity object avoids repeated C++ boundary calls on subsequent invocations."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.string-table-concat.v1","fixtureId":"gmod.perf.string-table-concat.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"protocol_error","detail":"Answer must contain 0 through 0 candidate loops.","durationMs":4697,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal pieces = {}\nfor i = 1, 10000 do\n    pieces[i] = \"some_string_piece\"\nend\nlocal result = table.concat(pieces)\n```\nReason: table.concat accumulates strings in a table and performs a single allocation at the C level, avoiding the overhead of creating and garbage-collecting thousands of temporary intermediate string objects generated by repeated .. operations.","model_patch":"```lua\nlocal pieces = {}\nfor i = 1, 10000 do\n    pieces[i] = \"some_string_piece\"\nend\nlocal result = table.concat(pieces)\n```\nReason: table.concat accumulates strings in a table and performs a single allocation at the C level, avoiding the overhead of creating and garbage-collecting thousands of temporary intermediate string objects generated by repeated .. operations."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-drawrect.v1","fixtureId":"gmod.perf.surface-drawrect.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":3730,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` is a direct engine binding that avoids the overhead of table lookups, argument checking, and internal rounding logic present in `draw.RoundedBox`.","model_patch":"```lua\nsurface.SetDrawColor(r, g, b, a)\nsurface.DrawRect(x, y, w, h)\n```\nReason: `surface.DrawRect` is a direct engine binding that avoids the overhead of table lookups, argument checking, and internal rounding logic present in `draw.RoundedBox`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-text.v1","fixtureId":"gmod.perf.surface-text.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5502,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(x, y)\nsurface.DrawText(\"Hello World\")\n```\nReason: surface.DrawText and its surface.* helpers are direct C-engine bindings, whereas draw.* functions are higher-level Lua wrappers that introduce performance overhead by parsing alignments, splitting strings, and calling surface functions internally.","model_patch":"```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(x, y)\nsurface.DrawText(\"Hello World\")\n```\nReason: surface.DrawText and its surface.* helpers are direct C-engine bindings, whereas draw.* functions are higher-level Lua wrappers that introduce performance overhead by parsing alignments, splitting strings, and calling surface functions internally."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-count-hash.v1","fixtureId":"gmod.perf.table-count-hash.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4465,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal tbl = { \"apple\", \"banana\", \"cherry\" }\nlocal length = #tbl\n```\nReason: The length operator `#` is the standard, fastest, and preferred way in Lua and Garry's Mod (GLua) to get the length of a sequential, one-indexed array-like table.","model_patch":"```lua\nlocal tbl = { \"apple\", \"banana\", \"cherry\" }\nlocal length = #tbl\n```\nReason: The length operator `#` is the standard, fastest, and preferred way in Lua and Garry's Mod (GLua) to get the length of a sequential, one-indexed array-like table."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-empty.v1","fixtureId":"gmod.perf.table-empty.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5433,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nt = {}\n```\nReason: `t = {}` is a constant-time O(1) operation that simply allocates a new empty table, whereas `table.Empty(t)` uses a Lua-land loop to set every key to `nil`, which is an O(N) operation and gets progressively slower as the size of the table increases.","model_patch":"```lua\nt = {}\n```\nReason: `t = {}` is a constant-time O(1) operation that simply allocates a new empty table, whereas `table.Empty(t)` uses a Lua-land loop to set every key to `nil`, which is an O(N) operation and gets progressively slower as the size of the table increases."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-hasvalue.v1","fixtureId":"gmod.perf.table-hasvalue.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"incorrect","detail":"Did not match a fixture answer pattern.","durationMs":4542,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\n-- O(1) Lookup Table (Set) approach\nlocal weaponSet = {\n    [\"weapon_357\"] = true,\n    [\"weapon_pistol\"] = true,\n    [\"weapon_smg1\"] = true\n}\n\n-- Fast check\nlocal isAllowed = weaponSet[\"weapon_pistol\"]\n```\nReason: Using table keys as a set allows O(1) constant-time lookups via hash-map indexing, whereas table.HasValue performs a slow O(N) linear search through all list elements.","model_patch":"```lua\n-- O(1) Lookup Table (Set) approach\nlocal weaponSet = {\n    [\"weapon_357\"] = true,\n    [\"weapon_pistol\"] = true,\n    [\"weapon_smg1\"] = true\n}\n\n-- Fast check\nlocal isAllowed = weaponSet[\"weapon_pistol\"]\n```\nReason: Using table keys as a set allows O(1) constant-time lookups via hash-map indexing, whereas table.HasValue performs a slow O(N) linear search through all list elements."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-literal.v1","fixtureId":"gmod.perf.table-literal.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4224,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\n-- Faster way: Put them in the table constructor\nlocal myTable = {\n    x = 1,\n    y = 2,\n    z = 3\n}\n```\nReason: Putting fields in the table constructor allows LuaJIT to pre-allocate the table with the correct size in a single allocation, preventing costly rehashing and resizing that occurs when assigning fields one by one after initialization.","model_patch":"```lua\n-- Faster way: Put them in the table constructor\nlocal myTable = {\n    x = 1,\n    y = 2,\n    z = 3\n}\n```\nReason: Putting fields in the table constructor allows LuaJIT to pre-allocate the table with the correct size in a single allocation, preventing costly rehashing and resizing that occurs when assigning fields one by one after initialization."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-random.v1","fixtureId":"gmod.perf.table-random.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4584,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal randomElement = tbl[math.random(#tbl)]\n```\nReason: table.Random traverses the table using pairs() to support non-sequential keys, making it O(N), whereas indexing with math.random and the length operator (#) is O(1).","model_patch":"```lua\nlocal randomElement = tbl[math.random(#tbl)]\n```\nReason: table.Random traverses the table using pairs() to support non-sequential keys, making it O(N), whereas indexing with math.random and the length operator (#) is O(1)."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.x-times-x.v1","fixtureId":"gmod.perf.x-times-x.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":3989,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal sq = x * x\n```\nReason: Local variable multiplication `x * x` is significantly faster in LuaJIT than `x^2` or calling a function like `math.pow(x, 2)`, as it translates directly to a single CPU instruction without function call overhead or power-of exponentiation math.","model_patch":"```lua\nlocal sq = x * x\n```\nReason: Local variable multiplication `x * x` is significantly faster in LuaJIT than `x^2` or calling a function like `math.pow(x, 2)`, as it translates directly to a single CPU instruction without function call overhead or power-of exponentiation math."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.player-iterator.v1","fixtureId":"gmod.player-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Low)","model_name_or_path":"Gemini 3.5 Flash (Low)","attemptIndex":1,"status":"pass","detail":"Uses player.Iterator() (wiki-recommended Lua-cached iterator).","durationMs":4393,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ply in player.Iterator() do\n    -- code\nend\n```\nReason: player.Iterator() is the modern, optimized method in Garry's Mod that avoids the memory allocation overhead of creating a new table with player.GetAll().","model_patch":"```lua\nfor _, ply in player.Iterator() do\n    -- code\nend\n```\nReason: player.Iterator() is the modern, optimized method in Garry's Mod that avoids the memory allocation overhead of creating a new table with player.GetAll()."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.ents-iterator.v1","fixtureId":"gmod.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6616,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- your code here\n    end\nend\n```\nReason: Using `ents.Iterator()` avoids allocating a new Lua table containing all entities in the map, unlike `ents.GetAll()`, and allows filtering by class inside the loop.","model_patch":"```lua\nfor _, ent in ents.Iterator() do\n    if ent:GetClass() == \"prop_physics\" then\n        -- your code here\n    end\nend\n```\nReason: Using `ents.Iterator()` avoids allocating a new Lua table containing all entities in the map, unlike `ents.GetAll()`, and allows filtering by class inside the loop."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.hook-add.v1","fixtureId":"gmod.hook-add.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Registers a named hook with hook.Add.","durationMs":4656,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    \nend)\n```\nReason: Using hook.Add registers the function to the \"Think\" event under the unique string identifier \"MyAddon.Think\".","model_patch":"```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    \nend)\n```\nReason: Using hook.Add registers the function to the \"Think\" event under the unique string identifier \"MyAddon.Think\"."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.isvalid.v1","fixtureId":"gmod.isvalid.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Uses IsValid for entity/object validity.","durationMs":5264,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nif IsValid(ent) then\n    -- ent is safe to use\nend\n```\nReason: The global `IsValid(ent)` function checks if the reference is non-nil, is a valid entity, and has not been removed from the game, avoiding nil-pointer errors that occur when calling `ent:IsValid()` on a nil value.","model_patch":"```lua\nif IsValid(ent) then\n    -- ent is safe to use\nend\n```\nReason: The global `IsValid(ent)` function checks if the reference is non-nil, is a valid entity, and has not been removed from the game, avoiding nil-pointer errors that occur when calling `ent:IsValid()` on a nil value."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.net-receivers.v1","fixtureId":"gmod.net-receivers.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4645,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the net message here\nend)\n```\nReason: `net.Receive` is the standard Garry's Mod API function used to associate a callback function with a specific net message identifier.","model_patch":"```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the net message here\nend)\n```\nReason: `net.Receive` is the standard Garry's Mod API function used to associate a callback function with a specific net message identifier."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.angle-zero.v1","fixtureId":"gmod.perf.angle-zero.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":8567,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal temp = Angle()\n\n-- In the hot path:\ntemp:Zero()\n```\nReason: Reusing a pre-allocated Angle object and resetting it with `:Zero()` avoids heap allocation and garbage collection overhead in the hot path.","model_patch":"```lua\nlocal temp = Angle()\n\n-- In the hot path:\ntemp:Zero()\n```\nReason: Reusing a pre-allocated Angle object and resetting it with `:Zero()` avoids heap allocation and garbage collection overhead in the hot path."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.config-var.v1","fixtureId":"gmod.perf.config-var.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4853,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal addon_color = Color(255, 0, 0)\nlocal current_color = addon_color\n```\nReason: Local variables are stored in registers and accessed directly by index, bypassing the multiple hash-table lookups required to resolve nested keys sequentially.","model_patch":"```lua\nlocal addon_color = Color(255, 0, 0)\nlocal current_color = addon_color\n```\nReason: Local variables are stored in registers and accessed directly by index, bypassing the multiple hash-table lookups required to resolve nested keys sequentially."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.darkrpvar.v1","fixtureId":"gmod.perf.darkrpvar.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5481,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: `ply:getDarkRPVar(\"job\")` is the official DarkRP API, which is optimized for DarkRP's internal networking and correctly retrieves custom job names changed via the `/job` command.","model_patch":"```lua\nlocal jobName = ply:getDarkRPVar(\"job\")\n```\nReason: `ply:getDarkRPVar(\"job\")` is the official DarkRP API, which is optimized for DarkRP's internal networking and correctly retrieves custom job names changed via the `/job` command."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.disttosqr.v1","fixtureId":"gmod.perf.disttosqr.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5202,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal isWithinThreshold = vec1:DistToSqr(vec2) < (threshold * threshold)\n```\nReason: Using DistToSqr avoids the expensive square root calculation required by Distance, making threshold checks significantly faster.","model_patch":"```lua\nlocal isWithinThreshold = vec1:DistToSqr(vec2) < (threshold * threshold)\n```\nReason: Using DistToSqr avoids the expensive square root calculation required by Distance, making threshold checks significantly faster."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ents-iterator.v1","fixtureId":"gmod.perf.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5879,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"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 iterator to visit all entities efficiently as it avoids the table allocation overhead of `ents.GetAll()`.","model_patch":"```lua\nfor _, ent in ents.Iterator() do\n    -- Do something with ent\nend\n```\nReason: `ents.Iterator()` is the Garry's Mod wiki-recommended iterator to visit all entities efficiently as it avoids the table allocation overhead of `ents.GetAll()`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-ents-near.v1","fixtureId":"gmod.perf.find-ents-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":5235,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function getNearbyEntities(ply, radius)\n    return ents.FindInSphere(ply:GetPos(), radius)\nend\n```\nReason: ents.FindInSphere is implemented in C++ and uses the engine's internal spatial partitioning to quickly filter entities, making it one of the fastest built-in spatial queries in Garry's Mod.","model_patch":"```lua\nlocal function getNearbyEntities(ply, radius)\n    return ents.FindInSphere(ply:GetPos(), radius)\nend\n```\nReason: ents.FindInSphere is implemented in C++ and uses the engine's internal spatial partitioning to quickly filter entities, making it one of the fastest built-in spatial queries in Garry's Mod."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-players-near.v1","fixtureId":"gmod.perf.find-players-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6109,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function GetPlayersInSphere(pos, radius)\n\tlocal players = {}\n\tlocal radiusSqr = radius * radius\n\tlocal allPlayers = player.GetAll()\n\tfor i = 1, #allPlayers do\n\t\tlocal ply = allPlayers[i]\n\t\tif ply:GetPos():DistToSqr(pos) <= radiusSqr then\n\t\t\tplayers[#players + 1] = ply\n\t\tend\n\tend\n\treturn players\nend\n```\nReason: Iterating over the capped list of active players via `player.GetAll()` and checking their squared distance with `DistToSqr` avoids querying the entire server's spatial partition (which contains thousands of props/entities) and eliminates costly square root operations.","model_patch":"```lua\nlocal function GetPlayersInSphere(pos, radius)\n\tlocal players = {}\n\tlocal radiusSqr = radius * radius\n\tlocal allPlayers = player.GetAll()\n\tfor i = 1, #allPlayers do\n\t\tlocal ply = allPlayers[i]\n\t\tif ply:GetPos():DistToSqr(pos) <= radiusSqr then\n\t\t\tplayers[#players + 1] = ply\n\t\tend\n\tend\n\treturn players\nend\n```\nReason: Iterating over the capped list of active players via `player.GetAll()` and checking their squared distance with `DistToSqr` avoids querying the entire server's spatial partition (which contains thousands of props/entities) and eliminates costly square root operations."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.for-vs-while.v1","fixtureId":"gmod.perf.for-vs-while.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5432,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: Numeric `for` loops in Lua utilize dedicated virtual machine instructions (`FORPREP` and `FORLOOP`) and are heavily optimized by LuaJIT's compiler, making them significantly faster than `while` loops which require manual counter increment, comparison, and branching instructions.","model_patch":"```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: Numeric `for` loops in Lua utilize dedicated virtual machine instructions (`FORPREP` and `FORLOOP`) and are heavily optimized by LuaJIT's compiler, making them significantly faster than `while` loops which require manual counter increment, comparison, and branching instructions."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hook-once.v1","fixtureId":"gmod.perf.hook-once.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5889,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal players = player.GetAll()\nhook.Run(\"TickAllPlayers\", players)\n```\nReason: Calling hook.Run once avoids the CPU overhead of repeatedly looking up and invoking hook listeners for every individual player.","model_patch":"```lua\nlocal players = player.GetAll()\nhook.Run(\"TickAllPlayers\", players)\n```\nReason: Calling hook.Run once avoids the CPU overhead of repeatedly looking up and invoking hook listeners for every individual player."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hudpaint-cache.v1","fixtureId":"gmod.perf.hudpaint-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6726,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal hp = LocalPlayer():Health()\ndraw.SimpleText(hp, \"DermaDefault\", 10, 10, color_white)\ndraw.SimpleText(hp, \"DermaDefault\", 10, 30, color_white)\ndraw.SimpleText(hp, \"DermaDefault\", 10, 50, color_white)\n```\nReason: Caching the result of `LocalPlayer():Health()` in a local variable avoids multiple expensive Lua-to-C boundary calls within the same frame.","model_patch":"```lua\nlocal hp = LocalPlayer():Health()\ndraw.SimpleText(hp, \"DermaDefault\", 10, 10, color_white)\ndraw.SimpleText(hp, \"DermaDefault\", 10, 30, color_white)\ndraw.SimpleText(hp, \"DermaDefault\", 10, 50, color_white)\n```\nReason: Caching the result of `LocalPlayer():Health()` in a local variable avoids multiple expensive Lua-to-C boundary calls within the same frame."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-color.v1","fixtureId":"gmod.perf.local-color.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5847,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal cachedColor = Color(255, 255, 255)\n\n-- Use cachedColor inside the paint loop instead of Color(255, 255, 255)\n```\nReason: Calling Color() repeatedly in a paint loop creates a new table every frame, generating garbage collector overhead, whereas caching it in a local variable avoids allocations.","model_patch":"```lua\nlocal cachedColor = Color(255, 255, 255)\n\n-- Use cachedColor inside the paint loop instead of Color(255, 255, 255)\n```\nReason: Calling Color() repeatedly in a paint loop creates a new table every frame, generating garbage collector overhead, whereas caching it in a local variable avoids allocations."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-vs-global.v1","fixtureId":"gmod.perf.local-vs-global.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5082,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal sin = math.sin\n```\nReason: Caching the global function into a local variable before the loop avoids repeated table lookups in the global environment and table indexing operations.","model_patch":"```lua\nlocal sin = math.sin\n```\nReason: Caching the global function into a local variable before the loop avoids repeated table lookups in the global environment and table indexing operations."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.localplayer-cache.v1","fixtureId":"gmod.perf.localplayer-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":7088,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal ply\nlocal function GetLocalPlayer()\n\tif not IsValid(ply) then\n\t\tply = LocalPlayer()\n\tend\n\treturn ply\nend\n```\nReason: Caching the player entity locally once it becomes valid avoids the overhead of repeated global table lookups and C-side entity retrieval.","model_patch":"```lua\nlocal ply\nlocal function GetLocalPlayer()\n\tif not IsValid(ply) then\n\t\tply = LocalPlayer()\n\tend\n\treturn ply\nend\n```\nReason: Caching the player entity locally once it becomes valid avoids the overhead of repeated global table lookups and C-side entity retrieval."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.looking-at.v1","fixtureId":"gmod.perf.looking-at.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":12348,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function ArePlayersLookingAtEachOther(ply1, ply2, tolerance)\n    tolerance = tolerance or 0.707 -- Cosine of 45 degrees (default tolerance)\n    local dir = ply2:GetShootPos() - ply1:GetShootPos()\n    dir:Normalize() -- Modifies vector in-place, avoiding extra allocations\n\n    local dot1 = ply1:GetAimVector():Dot(dir)\n    local dot2 = ply2:GetAimVector():Dot(dir)\n\n    -- ply1 must look towards ply2 (dot1 > tolerance)\n    -- ply2 must look towards ply1 (dot2 < -tolerance)\n    return dot1 > tolerance and dot2 < -tolerance\nend\n```\nReason: The dot product of normalized vectors represents the cosine of the angle between them, allowing direction comparisons using simple threshold checks while completely avoiding the computationally expensive math.acos function.","model_patch":"```lua\nlocal function ArePlayersLookingAtEachOther(ply1, ply2, tolerance)\n    tolerance = tolerance or 0.707 -- Cosine of 45 degrees (default tolerance)\n    local dir = ply2:GetShootPos() - ply1:GetShootPos()\n    dir:Normalize() -- Modifies vector in-place, avoiding extra allocations\n\n    local dot1 = ply1:GetAimVector():Dot(dir)\n    local dot2 = ply2:GetAimVector():Dot(dir)\n\n    -- ply1 must look towards ply2 (dot1 > tolerance)\n    -- ply2 must look towards ply1 (dot2 < -tolerance)\n    return dot1 > tolerance and dot2 < -tolerance\nend\n```\nReason: The dot product of normalized vectors represents the cosine of the angle between them, allowing direction comparisons using simple threshold checks while completely avoiding the computationally expensive math.acos function."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.meta-vs-arg.v1","fixtureId":"gmod.perf.meta-vs-arg.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5038,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nSomeHelper(ply)\n```\nReason: Direct function calls are faster because they avoid the table and metatable lookup overhead required to resolve method syntax.","model_patch":"```lua\nSomeHelper(ply)\n```\nReason: Direct function calls are faster because they avoid the table and metatable lookup overhead required to resolve method syntax."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.msg-vs-print.v1","fixtureId":"gmod.perf.msg-vs-print.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":12286,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal Msg = Msg\n\n-- Inside hot path:\nMsg(\"debug\\n\")\n```\nReason: `Msg` is a direct C-side engine function that bypasses the automatic string conversion, tab separation, and formatting overhead that `print` performs, and localizing the function avoids repeated global table lookups.","model_patch":"```lua\nlocal Msg = Msg\n\n-- Inside hot path:\nMsg(\"debug\\n\")\n```\nReason: `Msg` is a direct C-side engine function that bypasses the automatic string conversion, tab separation, and formatting overhead that `print` performs, and localizing the function avoids repeated global table lookups."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.pairs-ipairs-for.v1","fixtureId":"gmod.perf.pairs-ipairs-for.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"incorrect","detail":"Did not match a fixture answer pattern.","durationMs":5282,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal count = #tbl\nfor i = 1, count do\n    local val = tbl[i]\n    -- process val\nend\n```\nReason: Numeric for loops with a cached length avoid the overhead of iterator function calls and allow LuaJIT to compile the loop into highly optimized direct array accesses.","model_patch":"```lua\nlocal count = #tbl\nfor i = 1, count do\n    local val = tbl[i]\n    -- process val\nend\n```\nReason: Numeric for loops with a cached length avoid the overhead of iterator function calls and allow LuaJIT to compile the loop into highly optimized direct array accesses."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.plain-lua-vs-fn.v1","fixtureId":"gmod.perf.plain-lua-vs-fn.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6290,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal players = player.GetAll()\nlocal cpNames = {}\nlocal count = 0\n\nfor i = 1, #players do\n    local ply = players[i]\n    if ply:isCP() then\n        count = count + 1\n        cpNames[count] = ply:Nick()\n    end\nend\n```\nReason: A single-pass procedural loop avoids the allocation of intermediate tables and eliminates the overhead of nested function calls associated with functional combinators in Lua.","model_patch":"```lua\nlocal players = player.GetAll()\nlocal cpNames = {}\nlocal count = 0\n\nfor i = 1, #players do\n    local ply = players[i]\n    if ply:isCP() then\n        count = count + 1\n        cpNames[count] = ply:Nick()\n    end\nend\n```\nReason: A single-pass procedural loop avoids the allocation of intermediate tables and eliminates the overhead of nested function calls associated with functional combinators in Lua."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.player-cache-hooks.v1","fixtureId":"gmod.perf.player-cache-hooks.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6701,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"SyncCachedPlayers_Join\", function(ply)\n    table.insert(cachedPlayers, ply)\nend)\n\nhook.Add(\"PlayerDisconnected\", \"SyncCachedPlayers_Leave\", function(ply)\n    table.RemoveByValue(cachedPlayers, ply)\nend)\n\nhook.Add(\"Think\", \"MyThinkHook\", function()\n    for _, ply in ipairs(cachedPlayers) do\n        -- Your per-tick code here using the cached players table\n    end\nend)\n```\nReason: Calling player.GetAll() every tick allocates a new table and repeatedly references C++ objects in Lua, which triggers frequent garbage collection and degrades performance; caching the table and mutating it only during join/leave events eliminates this allocation overhead.","model_patch":"```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"SyncCachedPlayers_Join\", function(ply)\n    table.insert(cachedPlayers, ply)\nend)\n\nhook.Add(\"PlayerDisconnected\", \"SyncCachedPlayers_Leave\", function(ply)\n    table.RemoveByValue(cachedPlayers, ply)\nend)\n\nhook.Add(\"Think\", \"MyThinkHook\", function()\n    for _, ply in ipairs(cachedPlayers) do\n        -- Your per-tick code here using the cached players table\n    end\nend)\n```\nReason: Calling player.GetAll() every tick allocates a new table and repeatedly references C++ objects in Lua, which triggers frequent garbage collection and degrades performance; caching the table and mutating it only during join/leave events eliminates this allocation overhead."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ply-table-index.v1","fixtureId":"gmod.perf.ply-table-index.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6624,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal player_cache = setmetatable({}, { __mode = \"k\" })\n\n-- To write data:\nplayer_cache[ply] = value\n\n-- To read data (extremely fast):\nlocal value = player_cache[ply]\n```\nReason: Indexing a weak-keyed Lua table with the player object avoids the expensive metatable lookup (__index) of the player userdata while preventing memory leaks upon disconnect.","model_patch":"```lua\nlocal player_cache = setmetatable({}, { __mode = \"k\" })\n\n-- To write data:\nplayer_cache[ply] = value\n\n-- To read data (extremely fast):\nlocal value = player_cache[ply]\n```\nReason: Indexing a weak-keyed Lua table with the player object avoids the expensive metatable lookup (__index) of the player userdata while preventing memory leaks upon disconnect."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.seq-tables.v1","fixtureId":"gmod.perf.seq-tables.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5906,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal tbl = { \"A\", \"B\", \"C\" }\n\nfor i = 1, #tbl do\n    local val = tbl[i]\nend\n```\nReason: Sequential number-indexed arrays store elements contiguously in the table's array part, enabling extremely fast iteration via a numeric for loop that LuaJIT compiles directly to machine code, whereas string-keyed maps must reside in the hash part and be traversed using pairs.","model_patch":"```lua\nlocal tbl = { \"A\", \"B\", \"C\" }\n\nfor i = 1, #tbl do\n    local val = tbl[i]\nend\n```\nReason: Sequential number-indexed arrays store elements contiguously in the table's array part, enabling extremely fast iteration via a numeric for loop that LuaJIT compiles directly to machine code, whereas string-keyed maps must reside in the hash part and be traversed using pairs."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.setdrawcolor-split.v1","fixtureId":"gmod.perf.setdrawcolor-split.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5870,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(r, g, b, a)\n```\nReason: Passing separate numeric arguments avoids table indexing overhead and temporary Color object allocations, which reduces GC pressure in hot draw loops.","model_patch":"```lua\nsurface.SetDrawColor(r, g, b, a)\n```\nReason: Passing separate numeric arguments avoids table indexing overhead and temporary Color object allocations, which reduces GC pressure in hot draw loops."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.sqlite-vs-mysql.v1","fixtureId":"gmod.perf.sqlite-vs-mysql.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5460,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal steamID = \"STEAM_0:0:123456\"\nlocal result = sql.Query(\"SELECT points FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID) .. \";\")\nif result == false then\n    print(\"SQL Error: \" .. sql.LastError())\nelseif result then\n    local points = tonumber(result[1].points)\nend\n```\nReason: Local SQLite executes queries in-process and writes directly to the local disk, avoiding the network round-trip latency and connection overhead inherent in communicating with a remote MySQL server.","model_patch":"```lua\nlocal steamID = \"STEAM_0:0:123456\"\nlocal result = sql.Query(\"SELECT points FROM player_data WHERE steamid = \" .. sql.SQLStr(steamID) .. \";\")\nif result == false then\n    print(\"SQL Error: \" .. sql.LastError())\nelseif result then\n    local points = tonumber(result[1].points)\nend\n```\nReason: Local SQLite executes queries in-process and writes directly to the local disk, avoiding the network round-trip latency and connection overhead inherent in communicating with a remote MySQL server."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.steamid-cache.v1","fixtureId":"gmod.perf.steamid-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":5778,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal plyMeta = FindMetaTable(\"Player\")\nlocal rawSteamID = plyMeta.SteamID\n\nfunction plyMeta:SteamID()\n    local id = self._steamID\n    if not id then\n        id = rawSteamID(self)\n        self._steamID = id\n    end\n    return id\nend\n```\nReason: Storing the SteamID on the player object's Lua table avoids the overhead of repeated Lua-to-C boundary crossings.","model_patch":"```lua\nlocal plyMeta = FindMetaTable(\"Player\")\nlocal rawSteamID = plyMeta.SteamID\n\nfunction plyMeta:SteamID()\n    local id = self._steamID\n    if not id then\n        id = rawSteamID(self)\n        self._steamID = id\n    end\n    return id\nend\n```\nReason: Storing the SteamID on the player object's Lua table avoids the overhead of repeated Lua-to-C boundary crossings."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.string-table-concat.v1","fixtureId":"gmod.perf.string-table-concat.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"protocol_error","detail":"Answer must contain 0 through 0 candidate loops.","durationMs":5271,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal parts = {}\nfor i = 1, 10000 do\n    parts[i] = \"chunk\"\nend\nlocal result = table.concat(parts)\n```\nReason: table.concat avoids the overhead of creating and garbage-collecting thousands of temporary intermediate strings by buffering the pieces in a table and joining them in a single operation.","model_patch":"```lua\nlocal parts = {}\nfor i = 1, 10000 do\n    parts[i] = \"chunk\"\nend\nlocal result = table.concat(parts)\n```\nReason: table.concat avoids the overhead of creating and garbage-collecting thousands of temporary intermediate strings by buffering the pieces in a table and joining them in a single operation."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-drawrect.v1","fixtureId":"gmod.perf.surface-drawrect.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6121,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: Using surface.DrawRect directly avoids the Lua function call overhead, parameter validation, and conditional checks performed inside the draw.RoundedBox wrapper.","model_patch":"```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: Using surface.DrawRect directly avoids the Lua function call overhead, parameter validation, and conditional checks performed inside the draw.RoundedBox wrapper."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-text.v1","fixtureId":"gmod.perf.surface-text.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5486,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetFont( \"Default\" )\nsurface.SetTextColor( 255, 255, 255, 255 )\nsurface.SetTextPos( x, y )\nsurface.DrawText( text )\n```\nReason: Low-level surface.* functions are direct C-bindings, whereas draw.DrawText and draw.SimpleTextOutlined are higher-level Lua wrappers that introduce performance overhead by parsing alignments, splitting strings, and executing additional calculations before ultimately calling the surface.* functions.","model_patch":"```lua\nsurface.SetFont( \"Default\" )\nsurface.SetTextColor( 255, 255, 255, 255 )\nsurface.SetTextPos( x, y )\nsurface.DrawText( text )\n```\nReason: Low-level surface.* functions are direct C-bindings, whereas draw.DrawText and draw.SimpleTextOutlined are higher-level Lua wrappers that introduce performance overhead by parsing alignments, splitting strings, and executing additional calculations before ultimately calling the surface.* functions."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-count-hash.v1","fixtureId":"gmod.perf.table-count-hash.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4809,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal length = #myTable\n```\nReason: The `#` operator is the standard, built-in Lua length operator and is the most efficient way to get the length of a sequential, array-like table.","model_patch":"```lua\nlocal length = #myTable\n```\nReason: The `#` operator is the standard, built-in Lua length operator and is the most efficient way to get the length of a sequential, array-like table."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-empty.v1","fixtureId":"gmod.perf.table-empty.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5737,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nt = {}\n```\nReason: Reassigning to a new table is an O(1) operation, whereas table.Empty(t) iterates over all elements to set them to nil, which is an O(N) operation and significantly slower for large tables.","model_patch":"```lua\nt = {}\n```\nReason: Reassigning to a new table is an O(1) operation, whereas table.Empty(t) iterates over all elements to set them to nil, which is an O(N) operation and significantly slower for large tables."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-hasvalue.v1","fixtureId":"gmod.perf.table-hasvalue.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5327,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal mySet = {\n    [\"value1\"] = true,\n    [\"value2\"] = true,\n    [\"value3\"] = true\n}\n\nif mySet[\"value2\"] then\n    -- Found\nend\n```\nReason: Key-based lookup uses Lua's internal hash table matching, which operates in O(1) constant time, whereas table.HasValue performs a sequential scan over array values in O(N) linear time.","model_patch":"```lua\nlocal mySet = {\n    [\"value1\"] = true,\n    [\"value2\"] = true,\n    [\"value3\"] = true\n}\n\nif mySet[\"value2\"] then\n    -- Found\nend\n```\nReason: Key-based lookup uses Lua's internal hash table matching, which operates in O(1) constant time, whereas table.HasValue performs a sequential scan over array values in O(N) linear time."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-literal.v1","fixtureId":"gmod.perf.table-literal.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5564,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal t = {\n    x = 1,\n    y = 2,\n    z = 3\n}\n```\nReason: Putting fields in the table constructor allows LuaJIT to pre-allocate the table with the correct size in a single operation, avoiding multiple re-allocations and re-hashing steps that occur when assigning fields one-by-one to an empty table.","model_patch":"```lua\nlocal t = {\n    x = 1,\n    y = 2,\n    z = 3\n}\n```\nReason: Putting fields in the table constructor allows LuaJIT to pre-allocate the table with the correct size in a single operation, avoiding multiple re-allocations and re-hashing steps that occur when assigning fields one-by-one to an empty table."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-random.v1","fixtureId":"gmod.perf.table-random.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5437,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal randomElement = tbl[math.random(#tbl)]\n```\nReason: Directly indexing the table using `math.random` with the length operator `#` is an O(1) operation, whereas `table.Random` traverses the entire table to handle arbitrary non-sequential keys, resulting in O(N) complexity and garbage collection overhead.","model_patch":"```lua\nlocal randomElement = tbl[math.random(#tbl)]\n```\nReason: Directly indexing the table using `math.random` with the length operator `#` is an O(1) operation, whereas `table.Random` traverses the entire table to handle arbitrary non-sequential keys, resulting in O(N) complexity and garbage collection overhead."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.x-times-x.v1","fixtureId":"gmod.perf.x-times-x.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5335,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal squared = x * x\n```\nReason: Local multiplication is the fastest arithmetic operation in LuaJIT, bypassing the overhead of the exponentiation operator or math library function calls.","model_patch":"```lua\nlocal squared = x * x\n```\nReason: Local multiplication is the fastest arithmetic operation in LuaJIT, bypassing the overhead of the exponentiation operator or math library function calls."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.player-iterator.v1","fixtureId":"gmod.player-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (Medium)","model_name_or_path":"Gemini 3.5 Flash (Medium)","attemptIndex":1,"status":"pass","detail":"Uses player.Iterator() (wiki-recommended Lua-cached iterator).","durationMs":4759,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ply in player.Iterator() do\n    -- ply:Ping(), ply:Nick(), etc.\nend\n```\nReason: player.Iterator() is the modern and highly optimized way to loop through players in Garry's Mod, replacing pairs(player.GetAll()) to avoid unnecessary table allocations and garbage collection overhead.","model_patch":"```lua\nfor _, ply in player.Iterator() do\n    -- ply:Ping(), ply:Nick(), etc.\nend\n```\nReason: player.Iterator() is the modern and highly optimized way to loop through players in Garry's Mod, replacing pairs(player.GetAll()) to avoid unnecessary table allocations and garbage collection overhead."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.ents-iterator.v1","fixtureId":"gmod.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6774,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ent in ipairs(ents.FindByClass(\"prop_physics\")) do\n    -- Process each prop_physics entity here\nend\n```\nReason: Using `ents.FindByClass` retrieves a filtered table containing only the specified class directly from the engine, avoiding the overhead of creating or filtering a table of every entity in the map.","model_patch":"```lua\nfor _, ent in ipairs(ents.FindByClass(\"prop_physics\")) do\n    -- Process each prop_physics entity here\nend\n```\nReason: Using `ents.FindByClass` retrieves a filtered table containing only the specified class directly from the engine, avoiding the overhead of creating or filtering a table of every entity in the map."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.hook-add.v1","fixtureId":"gmod.hook-add.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Registers a named hook with hook.Add.","durationMs":4759,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Minimal callback body\nend)\n```\nReason: In Garry's Mod, hook.Add is the standard API function used to register a callback function to a hook event like \"Think\" with a unique string identifier.","model_patch":"```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Minimal callback body\nend)\n```\nReason: In Garry's Mod, hook.Add is the standard API function used to register a callback function to a hook event like \"Think\" with a unique string identifier."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.isvalid.v1","fixtureId":"gmod.isvalid.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Uses IsValid for entity/object validity.","durationMs":5237,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nif IsValid(ent) then\n    -- Safe to use ent\nend\n```\nReason: The global `IsValid` function safely handles cases where `ent` is `nil` or a NULL entity without throwing a Lua error, unlike calling the `:IsValid()` method directly.","model_patch":"```lua\nif IsValid(ent) then\n    -- Safe to use ent\nend\n```\nReason: The global `IsValid` function safely handles cases where `ent` is `nil` or a NULL entity without throwing a Lua error, unlike calling the `:IsValid()` method directly."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.net-receivers.v1","fixtureId":"gmod.net-receivers.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4867,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle incoming net message data here\nend)\n```\nReason: net.Receive is the standard Garry's Mod Lua function used to register a receiver callback for a net message name.","model_patch":"```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle incoming net message data here\nend)\n```\nReason: net.Receive is the standard Garry's Mod Lua function used to register a receiver callback for a net message name."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.angle-zero.v1","fixtureId":"gmod.perf.angle-zero.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":8393,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal myAngle = Angle()\n\n-- Inside the hot path:\nmyAngle:Zero()\n```\nReason: Reusing a cached local Angle and calling `:Zero()` resets its values in-place, avoiding new object allocations and reducing garbage collection overhead in the hot path.","model_patch":"```lua\nlocal myAngle = Angle()\n\n-- Inside the hot path:\nmyAngle:Zero()\n```\nReason: Reusing a cached local Angle and calling `:Zero()` resets its values in-place, avoiding new object allocations and reducing garbage collection overhead in the hot path."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.config-var.v1","fixtureId":"gmod.perf.config-var.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":33576,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal myaddon_color = Color(255, 0, 0)\n\n-- Read\nlocal drawColor = myaddon_color\n```\nReason: Local variables are stored in virtual machine registers and accessed directly by index, completely avoiding the multiple hash map lookups required by nested tables.","model_patch":"```lua\nlocal myaddon_color = Color(255, 0, 0)\n\n-- Read\nlocal drawColor = myaddon_color\n```\nReason: Local variables are stored in virtual machine registers and accessed directly by index, completely avoiding the multiple hash map lookups required by nested tables."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.darkrpvar.v1","fixtureId":"gmod.perf.darkrpvar.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6160,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\n-- Preferred\nlocal jobName = ply:getDarkRPVar(\"job\")\n\n-- Avoid\nlocal jobName = ply:GetNWString(\"job\")\n```\nReason: `ply:getDarkRPVar(\"job\")` utilizes DarkRP's optimized custom networking system, which is faster and avoids the performance overhead and potential synchronization issues of GMod's native `GetNWString`.","model_patch":"```lua\n-- Preferred\nlocal jobName = ply:getDarkRPVar(\"job\")\n\n-- Avoid\nlocal jobName = ply:GetNWString(\"job\")\n```\nReason: `ply:getDarkRPVar(\"job\")` utilizes DarkRP's optimized custom networking system, which is faster and avoids the performance overhead and potential synchronization issues of GMod's native `GetNWString`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.disttosqr.v1","fixtureId":"gmod.perf.disttosqr.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4808,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal isWithinRange = vec1:DistToSqr(vec2) < (threshold * threshold)\n```\nReason: `Vector:DistToSqr` calculates the squared distance between two vectors, which avoids the computationally expensive square root calculation required by `Vector:Distance`.","model_patch":"```lua\nlocal isWithinRange = vec1:DistToSqr(vec2) < (threshold * threshold)\n```\nReason: `Vector:DistToSqr` calculates the squared distance between two vectors, which avoids the computationally expensive square root calculation required by `Vector:Distance`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ents-iterator.v1","fixtureId":"gmod.perf.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5296,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ent in ents.Iterator() do\n    -- code\nend\n```\nReason: `ents.Iterator()` is preferred over `ents.GetAll()` because it iterates over entities without allocating a new table on every call, significantly reducing garbage collection overhead in performance-sensitive environments.","model_patch":"```lua\nfor _, ent in ents.Iterator() do\n    -- code\nend\n```\nReason: `ents.Iterator()` is preferred over `ents.GetAll()` because it iterates over entities without allocating a new table on every call, significantly reducing garbage collection overhead in performance-sensitive environments."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-ents-near.v1","fixtureId":"gmod.perf.find-ents-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":6015,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal entities = ents.FindInSphere(ply:GetPos(), radius)\n```\nReason: ents.FindInSphere queries the engine's internal spatial partitioning (BSP tree/leaf system) in C++, avoiding the overhead of iterating over all entities in Lua.","model_patch":"```lua\nlocal entities = ents.FindInSphere(ply:GetPos(), radius)\n```\nReason: ents.FindInSphere queries the engine's internal spatial partitioning (BSP tree/leaf system) in C++, avoiding the overhead of iterating over all entities in Lua."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-players-near.v1","fixtureId":"gmod.perf.find-players-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6608,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function GetPlayersInSphere(pos, radius)\n    local players = {}\n    local radiusSqr = radius * radius\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    return players\nend\n```\nReason: player.Iterator() and DistToSqr avoid the overhead of ents.FindInSphere querying all map entities (props, weapons, etc.) and allocating tables/Lua objects for them, checking only the active player list instead.","model_patch":"```lua\nlocal function GetPlayersInSphere(pos, radius)\n    local players = {}\n    local radiusSqr = radius * radius\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    return players\nend\n```\nReason: player.Iterator() and DistToSqr avoid the overhead of ents.FindInSphere querying all map entities (props, weapons, etc.) and allocating tables/Lua objects for them, checking only the active player list instead."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.for-vs-while.v1","fixtureId":"gmod.perf.for-vs-while.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4660,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: Numeric for loops are optimized at the Lua VM level using dedicated bytecode instructions, making them faster than while loops which require manual variable increments and conditional checks.","model_patch":"```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: Numeric for loops are optimized at the Lua VM level using dedicated bytecode instructions, making them faster than while loops which require manual variable increments and conditional checks."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hook-once.v1","fixtureId":"gmod.perf.hook-once.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6929,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\n-- Faster Pattern: Call hook.Run once per tick, passing the array of all players\nlocal players = player.GetAll()\nhook.Run(\"TickAllPlayers\", players)\n```\nReason: Calling hook.Run once avoids the significant overhead of repeated table lookups, string evaluations, and call overhead inside the Garry's Mod hook library for every individual player on every tick.","model_patch":"```lua\n-- Faster Pattern: Call hook.Run once per tick, passing the array of all players\nlocal players = player.GetAll()\nhook.Run(\"TickAllPlayers\", players)\n```\nReason: Calling hook.Run once avoids the significant overhead of repeated table lookups, string evaluations, and call overhead inside the Garry's Mod hook library for every individual player on every tick."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hudpaint-cache.v1","fixtureId":"gmod.perf.hudpaint-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":7534,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal ply = LocalPlayer()\n\nhook.Add(\"HUDPaint\", \"OptimizedHealthHUD\", function()\n    if not IsValid(ply) then\n        ply = LocalPlayer()\n        if not IsValid(ply) then return end\n    end\n\n    local hp = ply:Health()\n    -- Use the local variable 'hp' in the three draw calls here\nend)\n```\nReason: Caching the player reference and the health integer in local variables avoids the overhead of repeated Lua-to-C boundary transitions and table lookups on every frame.","model_patch":"```lua\nlocal ply = LocalPlayer()\n\nhook.Add(\"HUDPaint\", \"OptimizedHealthHUD\", function()\n    if not IsValid(ply) then\n        ply = LocalPlayer()\n        if not IsValid(ply) then return end\n    end\n\n    local hp = ply:Health()\n    -- Use the local variable 'hp' in the three draw calls here\nend)\n```\nReason: Caching the player reference and the health integer in local variables avoids the overhead of repeated Lua-to-C boundary transitions and table lookups on every frame."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-color.v1","fixtureId":"gmod.perf.local-color.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4798,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal color_white = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FasterPaintExample\", function()\n    surface.SetDrawColor(color_white)\n    surface.DrawRect(50, 50, 100, 100)\nend)\n```\nReason: Caching the color object in a local variable outside the paint loop prevents the overhead of creating and garbage collecting a new color table on every frame.","model_patch":"```lua\nlocal color_white = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"FasterPaintExample\", function()\n    surface.SetDrawColor(color_white)\n    surface.DrawRect(50, 50, 100, 100)\nend)\n```\nReason: Caching the color object in a local variable outside the paint loop prevents the overhead of creating and garbage collecting a new color table on every frame."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-vs-global.v1","fixtureId":"gmod.perf.local-vs-global.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5153,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal sin = math.sin\n```\nReason: Caching the function in a local variable avoids repeated table lookups for the global table 'math' and the key 'sin' by accessing it directly from the Lua stack.","model_patch":"```lua\nlocal sin = math.sin\n```\nReason: Caching the function in a local variable avoids repeated table lookups for the global table 'math' and the key 'sin' by accessing it directly from the Lua stack."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.localplayer-cache.v1","fixtureId":"gmod.perf.localplayer-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":6942,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal ply\nlocal function GetLocalPlayer()\n    if ply and ply:IsValid() then return ply end\n    ply = LocalPlayer()\n    return ply\nend\n```\nReason: Caching the player object in a local upvalue avoids the overhead of repeated global lookups and C-boundary transitions of LocalPlayer(), while dynamically initializing it handles cases where the player is not yet valid during early load.","model_patch":"```lua\nlocal ply\nlocal function GetLocalPlayer()\n    if ply and ply:IsValid() then return ply end\n    ply = LocalPlayer()\n    return ply\nend\n```\nReason: Caching the player object in a local upvalue avoids the overhead of repeated global lookups and C-boundary transitions of LocalPlayer(), while dynamically initializing it handles cases where the player is not yet valid during early load."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.looking-at.v1","fixtureId":"gmod.perf.looking-at.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":7533,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function ArePlayersLookingAtEachOther(ply1, ply2, threshold)\n    threshold = threshold or 0.7 -- ~45 degrees FOV threshold\n    local dir = (ply2:GetShootPos() - ply1:GetShootPos()):GetNormalized()\n    return ply1:GetAimVector():Dot(dir) > threshold and ply2:GetAimVector():Dot(dir) < -threshold\nend\n```\nReason: Vector dot products compare alignment using fast multiply-add operations, bypassing the CPU-intensive inverse trigonometric functions needed to find the actual angle.","model_patch":"```lua\nlocal function ArePlayersLookingAtEachOther(ply1, ply2, threshold)\n    threshold = threshold or 0.7 -- ~45 degrees FOV threshold\n    local dir = (ply2:GetShootPos() - ply1:GetShootPos()):GetNormalized()\n    return ply1:GetAimVector():Dot(dir) > threshold and ply2:GetAimVector():Dot(dir) < -threshold\nend\n```\nReason: Vector dot products compare alignment using fast multiply-add operations, bypassing the CPU-intensive inverse trigonometric functions needed to find the actual angle."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.meta-vs-arg.v1","fixtureId":"gmod.perf.meta-vs-arg.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5111,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nSomeHelper(ply)\n```\nReason: Calling a direct function is faster because it avoids the overhead of a metatable lookup on the player userdata object.","model_patch":"```lua\nSomeHelper(ply)\n```\nReason: Calling a direct function is faster because it avoids the overhead of a metatable lookup on the player userdata object."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.msg-vs-print.v1","fixtureId":"gmod.perf.msg-vs-print.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5660,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nMsgN(\"Debug message\")\n```\nReason: MsgN is faster than print because it writes directly to the console output stream without the overhead of print's string conversion, tab separation, and formatting logic.","model_patch":"```lua\nMsgN(\"Debug message\")\n```\nReason: MsgN is faster than print because it writes directly to the console output stream without the overhead of print's string conversion, tab separation, and formatting logic."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.pairs-ipairs-for.v1","fixtureId":"gmod.perf.pairs-ipairs-for.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6889,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor i = 1, #tbl do\n    local val = tbl[i]\nend\n```\nReason: Numeric for loops compile to direct, low-overhead bytecode instructions that are highly optimized by LuaJIT in Garry's Mod, completely avoiding the iterator function overhead of ipairs and pairs.","model_patch":"```lua\nfor i = 1, #tbl do\n    local val = tbl[i]\nend\n```\nReason: Numeric for loops compile to direct, low-overhead bytecode instructions that are highly optimized by LuaJIT in Garry's Mod, completely avoiding the iterator function overhead of ipairs and pairs."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.plain-lua-vs-fn.v1","fixtureId":"gmod.perf.plain-lua-vs-fn.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"incorrect","detail":"Matched an incorrect-answer pattern.","durationMs":6541,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\n-- Faster single-pass imperative loop replacing: fn.Map(fn.GetName, fn.Filter(fn.Self.Alive, player.GetAll()))\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 -- Filter\n        count = count + 1\n        aliveNames[count] = ply:Nick() -- Map\n    end\nend\n```\nReason: Direct imperative loops avoid the excessive closure allocations, intermediate table creations, and function call overhead inherent in the fn library, allowing LuaJIT to fully optimize the execution path.","model_patch":"```lua\n-- Faster single-pass imperative loop replacing: fn.Map(fn.GetName, fn.Filter(fn.Self.Alive, player.GetAll()))\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 -- Filter\n        count = count + 1\n        aliveNames[count] = ply:Nick() -- Map\n    end\nend\n```\nReason: Direct imperative loops avoid the excessive closure allocations, intermediate table creations, and function call overhead inherent in the fn library, allowing LuaJIT to fully optimize the execution path."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.player-cache-hooks.v1","fixtureId":"gmod.perf.player-cache-hooks.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5899,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal cachedPlayers = player.GetAll()\n\nlocal function rebuildCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"CachePlayers_Join\", function()\n    timer.Simple(0, rebuildCache)\nend)\n\nhook.Add(\"PlayerDisconnected\", \"CachePlayers_Leave\", function()\n    timer.Simple(0, rebuildCache)\nend)\n\nhook.Add(\"Think\", \"OptimizedPlayerThink\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        -- Perform your per-tick player logic here\n    end\nend)\n```\nReason: Calling player.GetAll() and ipairs every tick allocates a new table and iterator, causing garbage collection overhead, whereas caching the table on player join/leave hooks using timer.Simple(0) avoids per-tick allocation and ensures the cache updates only when players actually transition.","model_patch":"```lua\nlocal cachedPlayers = player.GetAll()\n\nlocal function rebuildCache()\n    cachedPlayers = player.GetAll()\nend\n\nhook.Add(\"PlayerInitialSpawn\", \"CachePlayers_Join\", function()\n    timer.Simple(0, rebuildCache)\nend)\n\nhook.Add(\"PlayerDisconnected\", \"CachePlayers_Leave\", function()\n    timer.Simple(0, rebuildCache)\nend)\n\nhook.Add(\"Think\", \"OptimizedPlayerThink\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        -- Perform your per-tick player logic here\n    end\nend)\n```\nReason: Calling player.GetAll() and ipairs every tick allocates a new table and iterator, causing garbage collection overhead, whereas caching the table on player join/leave hooks using timer.Simple(0) avoids per-tick allocation and ensures the cache updates only when players actually transition."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ply-table-index.v1","fixtureId":"gmod.perf.ply-table-index.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":6461,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal playerData = {}\nsetmetatable(playerData, { __mode = \"k\" })\n\n-- Write\nplayerData[ply] = value\n\n-- Read\nlocal value = playerData[ply]\n```\nReason: Indexing a local Lua table with the player object as a key avoids the overhead of the Player metatable __index and __newindex metamethods, while a weak-keyed table prevents memory leaks when players disconnect.","model_patch":"```lua\nlocal playerData = {}\nsetmetatable(playerData, { __mode = \"k\" })\n\n-- Write\nplayerData[ply] = value\n\n-- Read\nlocal value = playerData[ply]\n```\nReason: Indexing a local Lua table with the player object as a key avoids the overhead of the Player metatable __index and __newindex metamethods, while a weak-keyed table prevents memory leaks when players disconnect."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.seq-tables.v1","fixtureId":"gmod.perf.seq-tables.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":16903,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal array = { \"value1\", \"value2\", \"value3\" }\n\nfor i = 1, #array do\n    local value = array[i]\n    -- Process value\nend\n```\nReason: Sequential number-indexed arrays iterated via a numeric for loop allow LuaJIT to compile the traversal into direct array-offset operations in machine code, bypassing the hash-table lookup and iterator overhead of pairs/next used for string-keyed maps.","model_patch":"```lua\nlocal array = { \"value1\", \"value2\", \"value3\" }\n\nfor i = 1, #array do\n    local value = array[i]\n    -- Process value\nend\n```\nReason: Sequential number-indexed arrays iterated via a numeric for loop allow LuaJIT to compile the traversal into direct array-offset operations in machine code, bypassing the hash-table lookup and iterator overhead of pairs/next used for string-keyed maps."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.setdrawcolor-split.v1","fixtureId":"gmod.perf.setdrawcolor-split.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5189,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(r, g, b, a)\n```\nReason: Passing separate numeric arguments avoids the performance overhead of indexing a table or allocating a new Color object, reducing garbage collection pressure in hot draw loops.","model_patch":"```lua\nsurface.SetDrawColor(r, g, b, a)\n```\nReason: Passing separate numeric arguments avoids the performance overhead of indexing a table or allocating a new Color object, reducing garbage collection pressure in hot draw loops."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.sqlite-vs-mysql.v1","fixtureId":"gmod.perf.sqlite-vs-mysql.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5306,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal steamID = sql.SQLStr(ply:SteamID64())\nlocal result = sql.Query(\"SELECT * FROM player_stats WHERE steamid = \" .. steamID)\nif result == false then\n    ErrorNoHalt(\"SQLite Error: \" .. sql.LastError() .. \"\\n\")\nend\n```\nReason: Local SQLite runs in-process and writes directly to the server's local disk (sv.db), completely eliminating the network round-trip overhead and connection latency required by a remote MySQL database.","model_patch":"```lua\nlocal steamID = sql.SQLStr(ply:SteamID64())\nlocal result = sql.Query(\"SELECT * FROM player_stats WHERE steamid = \" .. steamID)\nif result == false then\n    ErrorNoHalt(\"SQLite Error: \" .. sql.LastError() .. \"\\n\")\nend\n```\nReason: Local SQLite runs in-process and writes directly to the server's local disk (sv.db), completely eliminating the network round-trip overhead and connection latency required by a remote MySQL database."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.steamid-cache.v1","fixtureId":"gmod.perf.steamid-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":5501,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal plyMeta = FindMetaTable(\"Player\")\nlocal oldSteamID = plyMeta.SteamID\n\nfunction plyMeta:SteamID()\n    local id = self.CachedSteamID\n    if not id then\n        id = oldSteamID(self)\n        self.CachedSteamID = id\n    end\n    return id\nend\n```\nReason: Overriding the Player metatable method to cache the SteamID on the player's Lua table prevents repeated expensive Lua-to-C boundary crossings.","model_patch":"```lua\nlocal plyMeta = FindMetaTable(\"Player\")\nlocal oldSteamID = plyMeta.SteamID\n\nfunction plyMeta:SteamID()\n    local id = self.CachedSteamID\n    if not id then\n        id = oldSteamID(self)\n        self.CachedSteamID = id\n    end\n    return id\nend\n```\nReason: Overriding the Player metatable method to cache the SteamID on the player's Lua table prevents repeated expensive Lua-to-C boundary crossings."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.string-table-concat.v1","fixtureId":"gmod.perf.string-table-concat.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"protocol_error","detail":"Answer must contain 0 through 0 candidate loops.","durationMs":4456,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal pieces = {}\nfor i = 1, 10000 do\n    pieces[#pieces + 1] = \"piece\"\nend\nlocal result = table.concat(pieces)\n```\nReason: table.concat is faster because it builds the final string in a single allocation at the C level, whereas repeated .. concatenation creates new intermediate string objects for every operation, generating excessive garbage and triggering frequent garbage collection cycles.","model_patch":"```lua\nlocal pieces = {}\nfor i = 1, 10000 do\n    pieces[#pieces + 1] = \"piece\"\nend\nlocal result = table.concat(pieces)\n```\nReason: table.concat is faster because it builds the final string in a single allocation at the C level, whereas repeated .. concatenation creates new intermediate string objects for every operation, generating excessive garbage and triggering frequent garbage collection cycles."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-drawrect.v1","fixtureId":"gmod.perf.surface-drawrect.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5699,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: Bypasses the Lua-level overhead of `draw.RoundedBox`, which performs argument checks and conditional logic before eventually calling the lower-level C-backed `surface.DrawRect`.","model_patch":"```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: Bypasses the Lua-level overhead of `draw.RoundedBox`, which performs argument checks and conditional logic before eventually calling the lower-level C-backed `surface.DrawRect`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-text.v1","fixtureId":"gmod.perf.surface-text.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5675,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetFont(\"Default\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(x, y)\nsurface.DrawText(\"text\")\n```\nReason: The surface methods compile directly to C++ engine calls, avoiding the Lua-side wrapper overhead, alignment/size calculations, and multiple drawing passes performed by the draw library.","model_patch":"```lua\nsurface.SetFont(\"Default\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(x, y)\nsurface.DrawText(\"text\")\n```\nReason: The surface methods compile directly to C++ engine calls, avoiding the Lua-side wrapper overhead, alignment/size calculations, and multiple drawing passes performed by the draw library."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-count-hash.v1","fixtureId":"gmod.perf.table-count-hash.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5334,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal tbl = { \"apple\", \"banana\", \"cherry\" }\nlocal length = #tbl\n```\nReason: The `#` operator is the standard, built-in, and most efficient way to retrieve the length of a sequential array-like table in Lua and LuaJIT.","model_patch":"```lua\nlocal tbl = { \"apple\", \"banana\", \"cherry\" }\nlocal length = #tbl\n```\nReason: The `#` operator is the standard, built-in, and most efficient way to retrieve the length of a sequential array-like table in Lua and LuaJIT."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-empty.v1","fixtureId":"gmod.perf.table-empty.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":7978,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\ntable.Empty(t)\n```\nReason: table.Empty(t) is faster because it recycles the existing table, avoiding garbage collection (GC) pressure and the CPU overhead of reallocating and resizing memory when the table is repeatedly repopulated.","model_patch":"```lua\ntable.Empty(t)\n```\nReason: table.Empty(t) is faster because it recycles the existing table, avoiding garbage collection (GC) pressure and the CPU overhead of reallocating and resizing memory when the table is repeatedly repopulated."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-hasvalue.v1","fixtureId":"gmod.perf.table-hasvalue.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"incorrect","detail":"Matched an incorrect-answer pattern.","durationMs":4710,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\n-- Instead of: table.HasValue(list, val) which is O(N)\nlocal mySet = {\n    [\"value1\"] = true,\n    [\"value2\"] = true,\n    [\"value3\"] = true,\n}\n\nif mySet[val] then\n    -- Value exists in the set\nend\n```\nReason: Using values as keys allows for O(1) hash table lookup, whereas table.HasValue performs an O(N) linear search.","model_patch":"```lua\n-- Instead of: table.HasValue(list, val) which is O(N)\nlocal mySet = {\n    [\"value1\"] = true,\n    [\"value2\"] = true,\n    [\"value3\"] = true,\n}\n\nif mySet[val] then\n    -- Value exists in the set\nend\n```\nReason: Using values as keys allows for O(1) hash table lookup, whereas table.HasValue performs an O(N) linear search."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-literal.v1","fixtureId":"gmod.perf.table-literal.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5392,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal tbl = { x = 1, y = 2, z = 3 }\n```\nReason: Putting fields directly in the table constructor allows LuaJIT to pre-allocate the table with the exact required hash/array sizes, avoiding the performance overhead of multiple reallocations and rehashes that occur when assigning fields one by one to an empty table.","model_patch":"```lua\nlocal tbl = { x = 1, y = 2, z = 3 }\n```\nReason: Putting fields directly in the table constructor allows LuaJIT to pre-allocate the table with the exact required hash/array sizes, avoiding the performance overhead of multiple reallocations and rehashes that occur when assigning fields one by one to an empty table."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-random.v1","fixtureId":"gmod.perf.table-random.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":5319,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal randomElement = tbl[math.random(#tbl)]\n```\nReason: `table.Random` is designed for arbitrary tables and must retrieve all keys (which is $O(N)$ and allocates memory), whereas indexing with `math.random(#tbl)` is $O(1)$ and avoids allocations.","model_patch":"```lua\nlocal randomElement = tbl[math.random(#tbl)]\n```\nReason: `table.Random` is designed for arbitrary tables and must retrieve all keys (which is $O(N)$ and allocates memory), whereas indexing with `math.random(#tbl)` is $O(1)$ and avoids allocations."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.x-times-x.v1","fixtureId":"gmod.perf.x-times-x.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":4533,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal squared = x * x\n```\nReason: Multiplying the variable by itself is significantly faster than using the exponentiation operator `x^2` or calling `math.pow(x, 2)`, as it avoids function call and power-operation overhead by compiling directly to a single CPU multiplication instruction.","model_patch":"```lua\nlocal squared = x * x\n```\nReason: Multiplying the variable by itself is significantly faster than using the exponentiation operator `x^2` or calling `math.pow(x, 2)`, as it avoids function call and power-operation overhead by compiling directly to a single CPU multiplication instruction."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.player-iterator.v1","fixtureId":"gmod.player-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.5 Flash (High)","model_name_or_path":"Gemini 3.5 Flash (High)","attemptIndex":1,"status":"pass","detail":"Uses player.Iterator() (wiki-recommended Lua-cached iterator).","durationMs":5926,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ply in player.Iterator() do\n    -- ...\nend\n```\nReason: player.Iterator() is the modern, optimized iteration method in Garry's Mod that avoids the memory allocation overhead of creating a temporary table copy compared to player.GetAll().","model_patch":"```lua\nfor _, ply in player.Iterator() do\n    -- ...\nend\n```\nReason: player.Iterator() is the modern, optimized iteration method in Garry's Mod that avoids the memory allocation overhead of creating a temporary table copy compared to player.GetAll()."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.ents-iterator.v1","fixtureId":"gmod.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":14701,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ent in ipairs(ents.FindByClass(\"prop_physics\")) do\n    -- Do something with ent\nend\n```\nReason: `ents.FindByClass` filters the entity list internally in C++ and only allocates a table containing the matching entities, avoiding the massive overhead and memory allocation of using `ents.GetAll()`.","model_patch":"```lua\nfor _, ent in ipairs(ents.FindByClass(\"prop_physics\")) do\n    -- Do something with ent\nend\n```\nReason: `ents.FindByClass` filters the entity list internally in C++ and only allocates a table containing the matching entities, avoiding the massive overhead and memory allocation of using `ents.GetAll()`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.hook-add.v1","fixtureId":"gmod.hook-add.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Registers a named hook with hook.Add.","durationMs":8348,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Callback code here\nend)\n```\nReason: hook.Add is the standard Garry's Mod function used to bind a callback to a specific engine event hook like Think.","model_patch":"```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Callback code here\nend)\n```\nReason: hook.Add is the standard Garry's Mod function used to bind a callback to a specific engine event hook like Think."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.isvalid.v1","fixtureId":"gmod.isvalid.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Uses IsValid for entity/object validity.","durationMs":8705,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nif IsValid(ent) then\n    -- It is safe to call methods on ent here\nend\n```\nReason: The IsValid() function safely checks both that the variable is not nil and that the underlying C++ entity object hasn't been removed from the game world by the engine.","model_patch":"```lua\nif IsValid(ent) then\n    -- It is safe to call methods on ent here\nend\n```\nReason: The IsValid() function safely checks both that the variable is not nil and that the underlying C++ entity object hasn't been removed from the game world by the engine."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.net-receivers.v1","fixtureId":"gmod.net-receivers.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":8266,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the incoming message here\nend)\n```\nReason: In Garry's Mod Lua, the `net.Receive` function is used to register a callback that executes whenever a specific network message is received from the server (or client).","model_patch":"```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handle the incoming message here\nend)\n```\nReason: In Garry's Mod Lua, the `net.Receive` function is used to register a callback that executes whenever a specific network message is received from the server (or client)."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.angle-zero.v1","fixtureId":"gmod.perf.angle-zero.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":18538,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal temp_angle = Angle()\n\nlocal function HotPathFunction()\n    temp_angle:Zero()\n    -- Mutate and use temp_angle here instead of calling Angle()\nend\n```\n\nReason: Pre-allocating the Angle object once and resetting its values in-place with `:Zero()` avoids the expensive C++ userdata allocation and garbage collection overhead that comes with calling `Angle()` repeatedly.","model_patch":"```lua\nlocal temp_angle = Angle()\n\nlocal function HotPathFunction()\n    temp_angle:Zero()\n    -- Mutate and use temp_angle here instead of calling Angle()\nend\n```\n\nReason: Pre-allocating the Angle object once and resetting its values in-place with `:Zero()` avoids the expensive C++ userdata allocation and garbage collection overhead that comes with calling `Angle()` repeatedly."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.config-var.v1","fixtureId":"gmod.perf.config-var.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10726,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal myaddon_config_color = Color(255, 0, 0)\n\nhook.Add(\"HUDPaint\", \"MyAddon_Draw\", function()\n    surface.SetDrawColor(myaddon_config_color)\nend)\n```\nReason: Local variables use fast register-based opcodes, whereas global variables and nested tables require comparatively slower hash-based dictionary lookups.","model_patch":"```lua\nlocal myaddon_config_color = Color(255, 0, 0)\n\nhook.Add(\"HUDPaint\", \"MyAddon_Draw\", function()\n    surface.SetDrawColor(myaddon_config_color)\nend)\n```\nReason: Local variables use fast register-based opcodes, whereas global variables and nested tables require comparatively slower hash-based dictionary lookups."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.darkrpvar.v1","fixtureId":"gmod.perf.darkrpvar.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"incorrect","detail":"Did not match a fixture answer pattern.","durationMs":15567,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal jobName = team.GetName(ply:Team())\n```\nReason: It relies on the built-in Garry's Mod team system which networks a single integer (the team index) instead of redundantly transmitting a full string for every player, significantly reducing network bandwidth.","model_patch":"```lua\nlocal jobName = team.GetName(ply:Team())\n```\nReason: It relies on the built-in Garry's Mod team system which networks a single integer (the team index) instead of redundantly transmitting a full string for every player, significantly reducing network bandwidth."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.disttosqr.v1","fixtureId":"gmod.perf.disttosqr.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":9777,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal isClose = vec1:DistToSqr(vec2) <= (threshold * threshold)\n```\nReason: DistToSqr avoids the computationally expensive square root operation required to calculate the exact distance, making it significantly faster for simple threshold checks.","model_patch":"```lua\nlocal isClose = vec1:DistToSqr(vec2) <= (threshold * threshold)\n```\nReason: DistToSqr avoids the computationally expensive square root operation required to calculate the exact distance, making it significantly faster for simple threshold checks."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ents-iterator.v1","fixtureId":"gmod.perf.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10314,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ent in ents.Iterator() do\n    -- Do something with ent\nend\n```\nReason: `ents.Iterator()` is significantly more efficient than `ipairs(ents.GetAll())` because it iterates directly over the engine's internal entity list without allocating and garbage collecting a new Lua table every time the loop runs.","model_patch":"```lua\nfor _, ent in ents.Iterator() do\n    -- Do something with ent\nend\n```\nReason: `ents.Iterator()` is significantly more efficient than `ipairs(ents.GetAll())` because it iterates directly over the engine's internal entity list without allocating and garbage collecting a new Lua table every time the loop runs."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-ents-near.v1","fixtureId":"gmod.perf.find-ents-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"protocol_error","detail":"Answer must contain 0 through 0 candidate loops.","durationMs":9968,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function GetEntitiesNearPlayer(ply, radius)\n    local entsNear = ents.FindInSphere(ply:GetPos(), radius)\n    for i = 1, #entsNear do\n        local ent = entsNear[i]\n        -- Process entity\n    end\n    return entsNear\nend\n```\nReason: ents.FindInSphere utilizes the engine's internal spatial partitioning to quickly return entities within a radius without iterating over all entities in the map.","model_patch":"```lua\nlocal function GetEntitiesNearPlayer(ply, radius)\n    local entsNear = ents.FindInSphere(ply:GetPos(), radius)\n    for i = 1, #entsNear do\n        local ent = entsNear[i]\n        -- Process entity\n    end\n    return entsNear\nend\n```\nReason: ents.FindInSphere utilizes the engine's internal spatial partitioning to quickly return entities within a radius without iterating over all entities in the map."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-players-near.v1","fixtureId":"gmod.perf.find-players-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":11586,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function GetPlayersInRadius(pos, radius)\n    local players = {}\n    local radiusSqr = radius * radius\n    for _, ply in ipairs(player.GetAll()) do\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            table.insert(players, ply)\n        end\n    end\n    return players\nend\n```\nReason: Iterating the small `player.GetAll()` table and calculating squared distance avoids the heavy overhead of querying the physics engine's spatial partition for all entities.","model_patch":"```lua\nlocal function GetPlayersInRadius(pos, radius)\n    local players = {}\n    local radiusSqr = radius * radius\n    for _, ply in ipairs(player.GetAll()) do\n        if ply:GetPos():DistToSqr(pos) <= radiusSqr then\n            table.insert(players, ply)\n        end\n    end\n    return players\nend\n```\nReason: Iterating the small `player.GetAll()` table and calculating squared distance avoids the heavy overhead of querying the physics engine's spatial partition for all entities."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.for-vs-while.v1","fixtureId":"gmod.perf.for-vs-while.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":9212,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor i = 1, n do\n    -- loop body\nend\n```\n\nReason: Numeric for loops in LuaJIT are highly optimized with single internal instructions for bounds checking and incrementing, whereas while loops require manual variable manipulation overhead.","model_patch":"```lua\nfor i = 1, n do\n    -- loop body\nend\n```\n\nReason: Numeric for loops in LuaJIT are highly optimized with single internal instructions for bounds checking and incrementing, whereas while loops require manual variable manipulation overhead."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hook-once.v1","fixtureId":"gmod.perf.hook-once.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":13909,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nhook.Add(\"Tick\", \"ProcessAllPlayers\", function()\n    local players = player.GetAll()\n    hook.Run(\"CustomPlayerTick\", players)\nend)\n```\nReason: Calling hook.Run has a baseline performance overhead for table lookups and function iteration, so invoking it once per tick is vastly faster than paying that overhead for every single player per tick.","model_patch":"```lua\nhook.Add(\"Tick\", \"ProcessAllPlayers\", function()\n    local players = player.GetAll()\n    hook.Run(\"CustomPlayerTick\", players)\nend)\n```\nReason: Calling hook.Run has a baseline performance overhead for table lookups and function iteration, so invoking it once per tick is vastly faster than paying that overhead for every single player per tick."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hudpaint-cache.v1","fixtureId":"gmod.perf.hudpaint-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":14466,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nhook.Add(\"HUDPaint\", \"OptimizedHealthDraw\", function()\n    local ply = LocalPlayer()\n    if not IsValid(ply) then return end\n    \n    local hp = ply:Health()\n    \n    draw.SimpleText(\"Health 1: \" .. hp, \"DermaDefault\", 10, 10, color_white)\n    draw.SimpleText(\"Health 2: \" .. hp, \"DermaDefault\", 10, 30, color_white)\n    draw.SimpleText(\"Health 3: \" .. hp, \"DermaDefault\", 10, 50, color_white)\nend)\n```\nReason: Caching the result of LocalPlayer():Health() in a local variable prevents the expensive overhead of crossing the C/Lua boundary multiple times per frame.","model_patch":"```lua\nhook.Add(\"HUDPaint\", \"OptimizedHealthDraw\", function()\n    local ply = LocalPlayer()\n    if not IsValid(ply) then return end\n    \n    local hp = ply:Health()\n    \n    draw.SimpleText(\"Health 1: \" .. hp, \"DermaDefault\", 10, 10, color_white)\n    draw.SimpleText(\"Health 2: \" .. hp, \"DermaDefault\", 10, 30, color_white)\n    draw.SimpleText(\"Health 3: \" .. hp, \"DermaDefault\", 10, 50, color_white)\nend)\n```\nReason: Caching the result of LocalPlayer():Health() in a local variable prevents the expensive overhead of crossing the C/Lua boundary multiple times per frame."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-color.v1","fixtureId":"gmod.perf.local-color.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":12348,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal cached_color = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"OptimizedPaintLoop\", function()\n    surface.SetDrawColor(cached_color)\n    surface.DrawRect(50, 50, 100, 100)\nend)\n```\nReason: Caching the Color object outside the paint loop prevents unnecessary table allocations and reduces garbage collection overhead every frame.","model_patch":"```lua\nlocal cached_color = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"OptimizedPaintLoop\", function()\n    surface.SetDrawColor(cached_color)\n    surface.DrawRect(50, 50, 100, 100)\nend)\n```\nReason: Caching the Color object outside the paint loop prevents unnecessary table allocations and reduces garbage collection overhead every frame."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-vs-global.v1","fixtureId":"gmod.perf.local-vs-global.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":8094,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal sin = math.sin\nfor i = 1, 1000000 do\n    local result = sin(i)\nend\n```\nReason: Local variable lookups in Lua are significantly faster than global table lookups because they bypass hash table checks and are registered directly as bytecode registers, which LuaJIT heavily optimizes.","model_patch":"```lua\nlocal sin = math.sin\nfor i = 1, 1000000 do\n    local result = sin(i)\nend\n```\nReason: Local variable lookups in Lua are significantly faster than global table lookups because they bypass hash table checks and are registered directly as bytecode registers, which LuaJIT heavily optimizes."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.localplayer-cache.v1","fixtureId":"gmod.perf.localplayer-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":14513,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal LocalPlayer = LocalPlayer\n\nhook.Add(\"Think\", \"OptimizedPlayerLogic\", function()\n    local ply = LocalPlayer()\n    \n    if not IsValid(ply) then return end\n    \n    -- Use 'ply' here instead of calling LocalPlayer() multiple times\n    local pos = ply:GetPos()\n    local health = ply:Health()\nend)\n```\nReason: Localizing the `LocalPlayer` function avoids expensive global table lookups, and caching its result in a local variable within the scope prevents redundant function calls.","model_patch":"```lua\nlocal LocalPlayer = LocalPlayer\n\nhook.Add(\"Think\", \"OptimizedPlayerLogic\", function()\n    local ply = LocalPlayer()\n    \n    if not IsValid(ply) then return end\n    \n    -- Use 'ply' here instead of calling LocalPlayer() multiple times\n    local pos = ply:GetPos()\n    local health = ply:Health()\nend)\n```\nReason: Localizing the `LocalPlayer` function avoids expensive global table lookups, and caching its result in a local variable within the scope prevents redundant function calls."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.looking-at.v1","fixtureId":"gmod.perf.looking-at.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":19316,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function ArePlayersLookingAtEachOther(ply1, ply2, threshold)\n    -- threshold is a cosine value (e.g., 0.8 is roughly a 36-degree cone)\n    threshold = threshold or 0.8\n    \n    local dir = (ply2:EyePos() - ply1:EyePos()):GetNormalized()\n    \n    local ply1LookingAt2 = ply1:GetAimVector():Dot(dir) > threshold\n    local ply2LookingAt1 = ply2:GetAimVector():Dot(-dir) > threshold\n    \n    return ply1LookingAt2 and ply2LookingAt1\nend\n```\nReason: The vector dot product calculates the cosine of the angle between normalized vectors, bypassing the expensive `math.acos` function by comparing the result directly against a cosine threshold.","model_patch":"```lua\nlocal function ArePlayersLookingAtEachOther(ply1, ply2, threshold)\n    -- threshold is a cosine value (e.g., 0.8 is roughly a 36-degree cone)\n    threshold = threshold or 0.8\n    \n    local dir = (ply2:EyePos() - ply1:EyePos()):GetNormalized()\n    \n    local ply1LookingAt2 = ply1:GetAimVector():Dot(dir) > threshold\n    local ply2LookingAt1 = ply2:GetAimVector():Dot(-dir) > threshold\n    \n    return ply1LookingAt2 and ply2LookingAt1\nend\n```\nReason: The vector dot product calculates the cosine of the angle between normalized vectors, bypassing the expensive `math.acos` function by comparing the result directly against a cosine threshold."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.meta-vs-arg.v1","fixtureId":"gmod.perf.meta-vs-arg.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":9841,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nSomeHelper(ply)\n```\nReason: Direct function calls are faster because they avoid the table and metatable __index lookup overhead required by object-oriented method call syntax.","model_patch":"```lua\nSomeHelper(ply)\n```\nReason: Direct function calls are faster because they avoid the table and metatable __index lookup overhead required by object-oriented method call syntax."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.msg-vs-print.v1","fixtureId":"gmod.perf.msg-vs-print.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":8855,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nMsgN(\"debug information\")\n```\nReason: MsgN is a direct C++ binding to the engine's message system, which avoids the string formatting and global environment overhead of Lua's standard print function.","model_patch":"```lua\nMsgN(\"debug information\")\n```\nReason: MsgN is a direct C++ binding to the engine's message system, which avoids the string formatting and global environment overhead of Lua's standard print function."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.pairs-ipairs-for.v1","fixtureId":"gmod.perf.pairs-ipairs-for.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"incorrect","detail":"Did not match a fixture answer pattern.","durationMs":10778,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal len = #myTable\nfor i = 1, len do\n    local value = myTable[i]\nend\n```\nReason: A numeric for loop avoids the function call overhead of iterators and is heavily optimized by LuaJIT.","model_patch":"```lua\nlocal len = #myTable\nfor i = 1, len do\n    local value = myTable[i]\nend\n```\nReason: A numeric for loop avoids the function call overhead of iterators and is heavily optimized by LuaJIT."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.plain-lua-vs-fn.v1","fixtureId":"gmod.perf.plain-lua-vs-fn.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":13928,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal result = {}\nlocal index = 1\nlocal players = player.GetAll()\n\nfor i = 1, #players do\n    local ply = players[i]\n    if IsValid(ply) and ply:Alive() then -- Filter operation\n        result[index] = ply:Nick()       -- Map operation\n        index = index + 1\n    end\nend\n```\nReason: Fusing the filter and map steps into a single imperative loop avoids the closure overhead and intermediate table allocations of the `fn` library, allowing Garry's Mod's LuaJIT to effectively compile and optimize the trace.","model_patch":"```lua\nlocal result = {}\nlocal index = 1\nlocal players = player.GetAll()\n\nfor i = 1, #players do\n    local ply = players[i]\n    if IsValid(ply) and ply:Alive() then -- Filter operation\n        result[index] = ply:Nick()       -- Map operation\n        index = index + 1\n    end\nend\n```\nReason: Fusing the filter and map steps into a single imperative loop avoids the closure overhead and intermediate table allocations of the `fn` library, allowing Garry's Mod's LuaJIT to effectively compile and optimize the trace."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.player-cache-hooks.v1","fixtureId":"gmod.perf.player-cache-hooks.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":16477,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"UpdatePlayerCache_Join\", function(ply)\n    if not table.HasValue(cachedPlayers, ply) then\n        table.insert(cachedPlayers, ply)\n    end\nend)\n\nhook.Add(\"PlayerDisconnected\", \"UpdatePlayerCache_Leave\", function(ply)\n    table.RemoveByValue(cachedPlayers, ply)\nend)\n\nhook.Add(\"Tick\", \"OptimizedTickExample\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- Perform per-player tick logic here\n        end\n    end\nend)\n```\nReason: Calling `player.GetAll()` generates a new table every time it is invoked, causing unnecessary memory allocation and garbage collection overhead on every tick, whereas a cached sequential array updated only on join/leave allows for much faster iteration without the memory cost.","model_patch":"```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"UpdatePlayerCache_Join\", function(ply)\n    if not table.HasValue(cachedPlayers, ply) then\n        table.insert(cachedPlayers, ply)\n    end\nend)\n\nhook.Add(\"PlayerDisconnected\", \"UpdatePlayerCache_Leave\", function(ply)\n    table.RemoveByValue(cachedPlayers, ply)\nend)\n\nhook.Add(\"Tick\", \"OptimizedTickExample\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- Perform per-player tick logic here\n        end\n    end\nend)\n```\nReason: Calling `player.GetAll()` generates a new table every time it is invoked, causing unnecessary memory allocation and garbage collection overhead on every tick, whereas a cached sequential array updated only on join/leave allows for much faster iteration without the memory cost."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ply-table-index.v1","fixtureId":"gmod.perf.ply-table-index.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10940,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal playerData = {}\n\n-- Write\nplayerData[ply] = \"some_value\"\n\n-- Read (faster)\nlocal val = playerData[ply]\n```\nReason: Storing data in a plain Lua table using the player object as a key bypasses the slow C++ `__index` metamethod lookups required when reading fields directly from Player userdata objects.","model_patch":"```lua\nlocal playerData = {}\n\n-- Write\nplayerData[ply] = \"some_value\"\n\n-- Read (faster)\nlocal val = playerData[ply]\n```\nReason: Storing data in a plain Lua table using the player object as a key bypasses the slow C++ `__index` metamethod lookups required when reading fields directly from Player userdata objects."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.seq-tables.v1","fixtureId":"gmod.perf.seq-tables.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10543,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal fast_array = {\n    \"item1\",\n    \"item2\",\n    \"item3\"\n}\n\nfor i = 1, #fast_array do\n    local value = fast_array[i]\nend\n```\nReason: Sequential number-indexed arrays with a numeric for-loop read directly from the table's array part, bypassing hash map lookup overhead and benefiting heavily from LuaJIT optimization compared to pairs().","model_patch":"```lua\nlocal fast_array = {\n    \"item1\",\n    \"item2\",\n    \"item3\"\n}\n\nfor i = 1, #fast_array do\n    local value = fast_array[i]\nend\n```\nReason: Sequential number-indexed arrays with a numeric for-loop read directly from the table's array part, bypassing hash map lookup overhead and benefiting heavily from LuaJIT optimization compared to pairs()."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.setdrawcolor-split.v1","fixtureId":"gmod.perf.setdrawcolor-split.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":12579,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing separate numeric arguments is faster because it avoids table allocation and the overhead of field lookups within the engine's C++ bindings.","model_patch":"```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing separate numeric arguments is faster because it avoids table allocation and the overhead of field lookups within the engine's C++ bindings."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.sqlite-vs-mysql.v1","fixtureId":"gmod.perf.sqlite-vs-mysql.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":9451,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal result = sql.Query(\"SELECT * FROM player_data WHERE steamid = 'STEAM_0:1:1234567'\")\nif result then\n    PrintTable(result)\nend\n```\nReason: Local SQLite reads from and writes directly to a local file, completely avoiding the network overhead and round-trip delays associated with remote MySQL connections.","model_patch":"```lua\nlocal result = sql.Query(\"SELECT * FROM player_data WHERE steamid = 'STEAM_0:1:1234567'\")\nif result then\n    PrintTable(result)\nend\n```\nReason: Local SQLite reads from and writes directly to a local file, completely avoiding the network overhead and round-trip delays associated with remote MySQL connections."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.steamid-cache.v1","fixtureId":"gmod.perf.steamid-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":13330,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function GetFastSteamID(ply)\n    local id = steamIDCache[ply]\n    if not id then\n        id = ply:SteamID()\n        steamIDCache[ply] = id\n    end\n    return id\nend\n```\nReason: Reading from a local weak-keyed Lua table avoids the costly Lua-to-C++ context switch and userdata metamethod lookups associated with repeatedly calling `ply:SteamID()`.","model_patch":"```lua\nlocal steamIDCache = setmetatable({}, { __mode = \"k\" })\n\nlocal function GetFastSteamID(ply)\n    local id = steamIDCache[ply]\n    if not id then\n        id = ply:SteamID()\n        steamIDCache[ply] = id\n    end\n    return id\nend\n```\nReason: Reading from a local weak-keyed Lua table avoids the costly Lua-to-C++ context switch and userdata metamethod lookups associated with repeatedly calling `ply:SteamID()`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.string-table-concat.v1","fixtureId":"gmod.perf.string-table-concat.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"protocol_error","detail":"Answer must contain 0 through 0 candidate loops.","durationMs":11074,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal parts = {}\nfor i = 1, 10000 do\n    parts[i] = \"piece_\" .. i\nend\nlocal finalString = table.concat(parts)\n```\nReason: `table.concat` is significantly faster because it calculates the total required length and allocates memory exactly once, avoiding the O(N^2) overhead of repeatedly allocating and garbage-collecting intermediate strings created by the `..` operator.","model_patch":"```lua\nlocal parts = {}\nfor i = 1, 10000 do\n    parts[i] = \"piece_\" .. i\nend\nlocal finalString = table.concat(parts)\n```\nReason: `table.concat` is significantly faster because it calculates the total required length and allocates memory exactly once, avoiding the O(N^2) overhead of repeatedly allocating and garbage-collecting intermediate strings created by the `..` operator."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-drawrect.v1","fixtureId":"gmod.perf.surface-drawrect.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":11080,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: Calling the underlying surface functions directly avoids the overhead of the draw.RoundedBox Lua wrapper function and its internal conditional checks for rounded corners.","model_patch":"```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, w, h)\n```\nReason: Calling the underlying surface functions directly avoids the overhead of the draw.RoundedBox Lua wrapper function and its internal conditional checks for rounded corners."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-text.v1","fixtureId":"gmod.perf.surface-text.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":11688,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nhook.Add(\"HUDPaint\", \"DrawFastText\", function()\n    surface.SetFont(\"DermaDefault\")\n    surface.SetTextColor(255, 255, 255, 255)\n    surface.SetTextPos(10, 10)\n    surface.DrawText(\"Fast single-line text\")\nend)\n```\nReason: Direct surface.* functions are faster because they are direct C++ bindings that bypass the extra Lua function call overhead, argument validation, and alignment calculations present in the draw.* wrapper functions.","model_patch":"```lua\nhook.Add(\"HUDPaint\", \"DrawFastText\", function()\n    surface.SetFont(\"DermaDefault\")\n    surface.SetTextColor(255, 255, 255, 255)\n    surface.SetTextPos(10, 10)\n    surface.DrawText(\"Fast single-line text\")\nend)\n```\nReason: Direct surface.* functions are faster because they are direct C++ bindings that bypass the extra Lua function call overhead, argument validation, and alignment calculations present in the draw.* wrapper functions."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-count-hash.v1","fixtureId":"gmod.perf.table-count-hash.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":8749,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\n#my_table\n```\nReason: The `#` operator is native to Lua and is the most performant way to get the length of a sequential (array-like) table without unnecessary iteration overhead.","model_patch":"```lua\n#my_table\n```\nReason: The `#` operator is native to Lua and is the most performant way to get the length of a sequential (array-like) table without unnecessary iteration overhead."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-empty.v1","fixtureId":"gmod.perf.table-empty.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":13863,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nt = {}\n```\nReason: Assigning a new empty table is an O(1) operation that is significantly faster than `table.Empty(t)`, which incurs O(N) overhead by iterating through and deleting every key individually.","model_patch":"```lua\nt = {}\n```\nReason: Assigning a new empty table is an O(1) operation that is significantly faster than `table.Empty(t)`, which incurs O(N) overhead by iterating through and deleting every key individually."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-hasvalue.v1","fixtureId":"gmod.perf.table-hasvalue.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":8456,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal mySet = {\n    [\"apple\"] = true,\n    [\"banana\"] = true,\n    [\"cherry\"] = true\n}\n\nif mySet[\"apple\"] then\n    -- Value exists\nend\n```\nReason: Table key indexing provides O(1) lookup time, whereas table.HasValue performs an O(n) sequential iteration through the list.","model_patch":"```lua\nlocal mySet = {\n    [\"apple\"] = true,\n    [\"banana\"] = true,\n    [\"cherry\"] = true\n}\n\nif mySet[\"apple\"] then\n    -- Value exists\nend\n```\nReason: Table key indexing provides O(1) lookup time, whereas table.HasValue performs an O(n) sequential iteration through the list."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-literal.v1","fixtureId":"gmod.perf.table-literal.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":8757,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal t = { field1 = 1, field2 = 2 }\n```\nReason: Using the table constructor pre-allocates the table to the correct size, avoiding the expensive memory reallocations and rehashing that occur when adding fields to an initially empty table.","model_patch":"```lua\nlocal t = { field1 = 1, field2 = 2 }\n```\nReason: Using the table constructor pre-allocates the table to the correct size, avoiding the expensive memory reallocations and rehashing that occur when adding fields to an initially empty table."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-random.v1","fixtureId":"gmod.perf.table-random.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":9603,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal randomElement = myTable[math.random(#myTable)]\n```\nReason: `table.Random` uses `pairs` and `table.Count` resulting in O(N) time complexity, whereas `math.random(#myTable)` allows for direct O(1) index access on sequential tables.","model_patch":"```lua\nlocal randomElement = myTable[math.random(#myTable)]\n```\nReason: `table.Random` uses `pairs` and `table.Count` resulting in O(N) time complexity, whereas `math.random(#myTable)` allows for direct O(1) index access on sequential tables."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.x-times-x.v1","fixtureId":"gmod.perf.x-times-x.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":7685,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal y = x * x\n```\nReason: Direct multiplication avoids the overhead of function calls or exponentiation operators and is highly optimized by LuaJIT.","model_patch":"```lua\nlocal y = x * x\n```\nReason: Direct multiplication avoids the overhead of function calls or exponentiation operators and is highly optimized by LuaJIT."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.player-iterator.v1","fixtureId":"gmod.player-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (Low)","model_name_or_path":"Gemini 3.1 Pro (Low)","attemptIndex":1,"status":"partial","detail":"Uses ipairs but still allocates via player.GetAll() each time.","durationMs":9303,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- do something with ply\nend\n```\nReason: `ipairs` is more efficient and appropriate than `pairs` because `player.GetAll()` returns a sequentially indexed table, not a dictionary.","model_patch":"```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- do something with ply\nend\n```\nReason: `ipairs` is more efficient and appropriate than `pairs` because `player.GetAll()` returns a sequentially indexed table, not a dictionary."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.ents-iterator.v1","fixtureId":"gmod.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":27214,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ent in ipairs(ents.FindByClass(\"prop_physics\")) do\n    -- Do something with ent\nend\n```\n\nReason: `ents.FindByClass` performs the class filtering directly in the engine's C++ side and returns a table containing only the matched entities, avoiding the massive memory allocation and garbage collection overhead of building a table of every single entity in the map like `ents.GetAll()` does.","model_patch":"```lua\nfor _, ent in ipairs(ents.FindByClass(\"prop_physics\")) do\n    -- Do something with ent\nend\n```\n\nReason: `ents.FindByClass` performs the class filtering directly in the engine's C++ side and returns a table containing only the matched entities, avoiding the massive memory allocation and garbage collection overhead of building a table of every single entity in the map like `ents.GetAll()` does."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.hook-add.v1","fixtureId":"gmod.hook-add.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Registers a named hook with hook.Add.","durationMs":8254,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Callback body\nend)\n```\nReason: The hook.Add function is the standard API in Garry's Mod for attaching custom callback functions to engine events like Think.","model_patch":"```lua\nhook.Add(\"Think\", \"MyAddon.Think\", function()\n    -- Callback body\nend)\n```\nReason: The hook.Add function is the standard API in Garry's Mod for attaching custom callback functions to engine events like Think."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.isvalid.v1","fixtureId":"gmod.isvalid.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Uses IsValid for entity/object validity.","durationMs":10119,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nif IsValid(ent) then\n    -- Safe to call methods on ent here\nend\n```\nReason: The global `IsValid()` function safely checks both that the variable is not `nil` and that the underlying C++ entity object has not been removed from the game world.","model_patch":"```lua\nif IsValid(ent) then\n    -- Safe to call methods on ent here\nend\n```\nReason: The global `IsValid()` function safely checks both that the variable is not `nil` and that the underlying C++ entity object has not been removed from the game world."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.net-receivers.v1","fixtureId":"gmod.net-receivers.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":9505,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handler logic here\nend)\n```\nReason: The `net.Receive` function is the built-in Garry's Mod API for hooking a callback to an incoming network message by its identifier.","model_patch":"```lua\nnet.Receive(\"MyAddon.Sync\", function(len, ply)\n    -- Handler logic here\nend)\n```\nReason: The `net.Receive` function is the built-in Garry's Mod API for hooking a callback to an incoming network message by its identifier."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.angle-zero.v1","fixtureId":"gmod.perf.angle-zero.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":19061,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal cached_angle = Angle()\n\nlocal function HotPath()\n    cached_angle:Zero()\n    -- Use cached_angle\nend\n```\nReason: Reusing a pre-allocated Angle object and resetting it with :Zero() avoids the expensive C++ memory allocation and garbage collection overhead caused by repeatedly calling Angle() every time.","model_patch":"```lua\nlocal cached_angle = Angle()\n\nlocal function HotPath()\n    cached_angle:Zero()\n    -- Use cached_angle\nend\n```\nReason: Reusing a pre-allocated Angle object and resetting it with :Zero() avoids the expensive C++ memory allocation and garbage collection overhead caused by repeatedly calling Angle() every time."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.config-var.v1","fixtureId":"gmod.perf.config-var.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":12040,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal myaddon_config_color = Color(255, 255, 255)\nlocal current_color = myaddon_config_color\n```\nReason: Local variables are accessed directly by a fast register index in the Lua VM, completely avoiding the expensive hash map lookups required for nested tables or global variables.","model_patch":"```lua\nlocal myaddon_config_color = Color(255, 255, 255)\nlocal current_color = myaddon_config_color\n```\nReason: Local variables are accessed directly by a fast register index in the Lua VM, completely avoiding the expensive hash map lookups required for nested tables or global variables."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.darkrpvar.v1","fixtureId":"gmod.perf.darkrpvar.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":13643,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nply:getDarkRPVar(\"job\")\n```\nReason: DarkRP uses its own custom, optimized networking system (DarkRPVars) which is significantly more efficient than standard Garry's Mod NWStrings.","model_patch":"```lua\nply:getDarkRPVar(\"job\")\n```\nReason: DarkRP uses its own custom, optimized networking system (DarkRPVars) which is significantly more efficient than standard Garry's Mod NWStrings."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.disttosqr.v1","fixtureId":"gmod.perf.disttosqr.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10884,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nif vec1:DistToSqr(vec2) < (threshold * threshold) then\n    -- Vectors are closer than the threshold distance\nend\n```\nReason: Using DistToSqr is faster than Distance because it avoids the computationally expensive square root operation.","model_patch":"```lua\nif vec1:DistToSqr(vec2) < (threshold * threshold) then\n    -- Vectors are closer than the threshold distance\nend\n```\nReason: Using DistToSqr is faster than Distance because it avoids the computationally expensive square root operation."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ents-iterator.v1","fixtureId":"gmod.perf.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":9956,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ent in ents.Iterator() do\n    -- Do something with ent\nend\n```\nReason: ents.Iterator() is the wiki-recommended approach because it is a stateless, allocation-free iterator that completely avoids the expensive table creation and subsequent garbage collection overhead caused by ents.GetAll().","model_patch":"```lua\nfor _, ent in ents.Iterator() do\n    -- Do something with ent\nend\n```\nReason: ents.Iterator() is the wiki-recommended approach because it is a stateless, allocation-free iterator that completely avoids the expensive table creation and subsequent garbage collection overhead caused by ents.GetAll()."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-ents-near.v1","fixtureId":"gmod.perf.find-ents-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":13324,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function GetEntitiesNearPlayer(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 widely benchmarked as faster than ents.FindInSphere because it utilizes highly optimized AABB (Axis-Aligned Bounding Box) checks against the engine's spatial partition tree, avoiding expensive distance calculations.","model_patch":"```lua\nlocal function GetEntitiesNearPlayer(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 widely benchmarked as faster than ents.FindInSphere because it utilizes highly optimized AABB (Axis-Aligned Bounding Box) checks against the engine's spatial partition tree, avoiding expensive distance calculations."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-players-near.v1","fixtureId":"gmod.perf.find-players-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":12888,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function GetPlayersInRadius(centerPos, radius)\n    local result = {}\n    local radiusSqr = radius * radius\n    local players = player.GetAll()\n    \n    for i = 1, #players do\n        local ply = players[i]\n        if ply:GetPos():DistToSqr(centerPos) <= radiusSqr then\n            result[#result + 1] = ply\n        end\n    end\n    \n    return result\nend\n```\nReason: Iterating over the small `player.GetAll()` table using `DistToSqr` is much faster than `ents.FindInSphere` because it bypasses scanning the spatial partition tree containing thousands of irrelevant game entities.","model_patch":"```lua\nlocal function GetPlayersInRadius(centerPos, radius)\n    local result = {}\n    local radiusSqr = radius * radius\n    local players = player.GetAll()\n    \n    for i = 1, #players do\n        local ply = players[i]\n        if ply:GetPos():DistToSqr(centerPos) <= radiusSqr then\n            result[#result + 1] = ply\n        end\n    end\n    \n    return result\nend\n```\nReason: Iterating over the small `player.GetAll()` table using `DistToSqr` is much faster than `ents.FindInSphere` because it bypasses scanning the spatial partition tree containing thousands of irrelevant game entities."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.for-vs-while.v1","fixtureId":"gmod.perf.for-vs-while.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10189,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: Numeric for loops use dedicated opcodes in LuaJIT that handle the counter and condition internally, avoiding the overhead of manual variable increments and conditional jumps required by a while loop.","model_patch":"```lua\nfor i = 1, n do\n    -- loop body\nend\n```\nReason: Numeric for loops use dedicated opcodes in LuaJIT that handle the counter and condition internally, avoiding the overhead of manual variable increments and conditional jumps required by a while loop."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hook-once.v1","fixtureId":"gmod.perf.hook-once.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":13726,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nhook.Add(\"Tick\", \"ProcessAllPlayers\", function()\n    local players = player.GetAll()\n    hook.Run(\"CustomLogicAllPlayers\", players)\nend)\n```\nReason: Calling hook.Run has internal iteration and lookup overhead, so invoking it once per tick with the players table avoids multiplying this overhead by the player count.","model_patch":"```lua\nhook.Add(\"Tick\", \"ProcessAllPlayers\", function()\n    local players = player.GetAll()\n    hook.Run(\"CustomLogicAllPlayers\", players)\nend)\n```\nReason: Calling hook.Run has internal iteration and lookup overhead, so invoking it once per tick with the players table avoids multiplying this overhead by the player count."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hudpaint-cache.v1","fixtureId":"gmod.perf.hudpaint-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":23131,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal hp = LocalPlayer():Health()\ndraw.SimpleText(hp, \"DermaDefault\", 10, 10, color_white)\ndraw.SimpleText(hp, \"DermaDefault\", 10, 30, color_white)\ndraw.SimpleText(hp, \"DermaDefault\", 10, 50, color_white)\n```\nReason: Caching the result in a local variable avoids the performance overhead of redundant global lookups and C++ method calls every frame.","model_patch":"```lua\nlocal hp = LocalPlayer():Health()\ndraw.SimpleText(hp, \"DermaDefault\", 10, 10, color_white)\ndraw.SimpleText(hp, \"DermaDefault\", 10, 30, color_white)\ndraw.SimpleText(hp, \"DermaDefault\", 10, 50, color_white)\n```\nReason: Caching the result in a local variable avoids the performance overhead of redundant global lookups and C++ method calls every frame."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-color.v1","fixtureId":"gmod.perf.local-color.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":16104,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal drawColor = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"OptimizedPaint\", function()\n    surface.SetDrawColor(drawColor)\n    -- Alternatively, use the built-in global: color_white\nend)\n```\nReason: Caching the Color object outside the loop prevents continuous table allocations and reduces garbage collection overhead every frame.","model_patch":"```lua\nlocal drawColor = Color(255, 255, 255)\n\nhook.Add(\"HUDPaint\", \"OptimizedPaint\", function()\n    surface.SetDrawColor(drawColor)\n    -- Alternatively, use the built-in global: color_white\nend)\n```\nReason: Caching the Color object outside the loop prevents continuous table allocations and reduces garbage collection overhead every frame."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-vs-global.v1","fixtureId":"gmod.perf.local-vs-global.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":9540,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal sin = math.sin\nfor i = 1, 10000 do\n    local result = sin(i)\nend\n```\nReason: Local variables in Lua are stored in virtual machine registers, making them significantly faster to access than performing a table lookup for math.sin on every iteration.","model_patch":"```lua\nlocal sin = math.sin\nfor i = 1, 10000 do\n    local result = sin(i)\nend\n```\nReason: Local variables in Lua are stored in virtual machine registers, making them significantly faster to access than performing a table lookup for math.sin on every iteration."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.localplayer-cache.v1","fixtureId":"gmod.perf.localplayer-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":24236,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal cached_ply\n\nlocal function GetLocalPlayer()\n    if IsValid(cached_ply) then return cached_ply end\n    cached_ply = LocalPlayer()\n    return cached_ply\nend\n```\nReason: Caching the player entity in a local variable avoids the recurring overhead of a global environment lookup and a C-side engine function call, while checking `IsValid` ensures the reference is safely refreshed if it becomes invalid.","model_patch":"```lua\nlocal cached_ply\n\nlocal function GetLocalPlayer()\n    if IsValid(cached_ply) then return cached_ply end\n    cached_ply = LocalPlayer()\n    return cached_ply\nend\n```\nReason: Caching the player entity in a local variable avoids the recurring overhead of a global environment lookup and a C-side engine function call, while checking `IsValid` ensures the reference is safely refreshed if it becomes invalid."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.looking-at.v1","fixtureId":"gmod.perf.looking-at.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":18769,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function AreLookingAtEachOther(ply1, ply2, threshold)\n    local dir = (ply2:EyePos() - ply1:EyePos()):GetNormalized()\n    return ply1:GetAimVector():Dot(dir) > threshold and ply2:GetAimVector():Dot(dir) < -threshold\nend\n```\nReason: The vector dot product directly returns the cosine of the angle between two normalized vectors, allowing you to check against a threshold (e.g., 0.8) and bypass the computationally expensive math.acos function entirely.","model_patch":"```lua\nlocal function AreLookingAtEachOther(ply1, ply2, threshold)\n    local dir = (ply2:EyePos() - ply1:EyePos()):GetNormalized()\n    return ply1:GetAimVector():Dot(dir) > threshold and ply2:GetAimVector():Dot(dir) < -threshold\nend\n```\nReason: The vector dot product directly returns the cosine of the angle between two normalized vectors, allowing you to check against a threshold (e.g., 0.8) and bypass the computationally expensive math.acos function entirely."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.meta-vs-arg.v1","fixtureId":"gmod.perf.meta-vs-arg.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":12634,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nSomeHelper(ply)\n```\nReason: Direct function calls avoid the expensive metatable lookup overhead associated with userdata objects in Garry's Mod.","model_patch":"```lua\nSomeHelper(ply)\n```\nReason: Direct function calls avoid the expensive metatable lookup overhead associated with userdata objects in Garry's Mod."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.msg-vs-print.v1","fixtureId":"gmod.perf.msg-vs-print.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":13385,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nMsgN(\"debug line here\")\n```\nReason: `MsgN` is a direct engine binding that avoids the overhead of GMod's `print` function, which is a Lua wrapper that iterates over all arguments, calls `tostring` on them, and concatenates the results before printing.","model_patch":"```lua\nMsgN(\"debug line here\")\n```\nReason: `MsgN` is a direct engine binding that avoids the overhead of GMod's `print` function, which is a Lua wrapper that iterates over all arguments, calls `tostring` on them, and concatenates the results before printing."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.pairs-ipairs-for.v1","fixtureId":"gmod.perf.pairs-ipairs-for.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10906,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor i = 1, #tbl do\n    local val = tbl[i]\nend\n```\nReason: In Garry's Mod (which uses LuaJIT), a numeric for loop avoids the function call overhead of iterators and is the most easily optimized and compiled by the JIT compiler.","model_patch":"```lua\nfor i = 1, #tbl do\n    local val = tbl[i]\nend\n```\nReason: In Garry's Mod (which uses LuaJIT), a numeric for loop avoids the function call overhead of iterators and is the most easily optimized and compiled by the JIT compiler."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.plain-lua-vs-fn.v1","fixtureId":"gmod.perf.plain-lua-vs-fn.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":20152,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal result = {}\nlocal index = 1\nlocal players = player.GetAll()\n\nfor i = 1, #players do\n    local ply = players[i]\n    if ply:IsAdmin() then\n        result[index] = ply:Nick()\n        index = index + 1\n    end\nend\n```\nReason: Procedural loops with manual array indexing avoid closure allocations and intermediate table creations, allowing Garry's Mod's LuaJIT compiler to fully trace and optimize the code without garbage collection overhead.","model_patch":"```lua\nlocal result = {}\nlocal index = 1\nlocal players = player.GetAll()\n\nfor i = 1, #players do\n    local ply = players[i]\n    if ply:IsAdmin() then\n        result[index] = ply:Nick()\n        index = index + 1\n    end\nend\n```\nReason: Procedural loops with manual array indexing avoid closure allocations and intermediate table creations, allowing Garry's Mod's LuaJIT compiler to fully trace and optimize the code without garbage collection overhead."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.player-cache-hooks.v1","fixtureId":"gmod.perf.player-cache-hooks.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":15750,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"UpdatePlayerCacheJoin\", function(ply)\n    table.insert(cachedPlayers, ply)\nend)\n\nhook.Add(\"PlayerDisconnected\", \"UpdatePlayerCacheLeave\", function(ply)\n    for i, p in ipairs(cachedPlayers) do\n        if p == ply then\n            table.remove(cachedPlayers, i)\n            break\n        end\n    end\nend)\n\nhook.Add(\"Tick\", \"OptimizedTickHook\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- Your tick logic here\n        end\n    end\nend)\n```\nReason: Calling `player.GetAll()` every tick creates a new table that causes significant garbage collection overhead, whereas updating a cached sequential array only when players join or leave eliminates this per-tick allocation cost.","model_patch":"```lua\nlocal cachedPlayers = player.GetAll()\n\nhook.Add(\"PlayerInitialSpawn\", \"UpdatePlayerCacheJoin\", function(ply)\n    table.insert(cachedPlayers, ply)\nend)\n\nhook.Add(\"PlayerDisconnected\", \"UpdatePlayerCacheLeave\", function(ply)\n    for i, p in ipairs(cachedPlayers) do\n        if p == ply then\n            table.remove(cachedPlayers, i)\n            break\n        end\n    end\nend)\n\nhook.Add(\"Tick\", \"OptimizedTickHook\", function()\n    for i = 1, #cachedPlayers do\n        local ply = cachedPlayers[i]\n        if IsValid(ply) then\n            -- Your tick logic here\n        end\n    end\nend)\n```\nReason: Calling `player.GetAll()` every tick creates a new table that causes significant garbage collection overhead, whereas updating a cached sequential array only when players join or leave eliminates this per-tick allocation cost."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ply-table-index.v1","fixtureId":"gmod.perf.ply-table-index.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":12146,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal playerData = {}\n\nhook.Add(\"PlayerInitialSpawn\", \"InitTemporaryData\", function(ply)\n    playerData[ply] = { someField = \"value\" }\nend)\n\nhook.Add(\"PlayerDisconnected\", \"CleanupTemporaryData\", function(ply)\n    playerData[ply] = nil\nend)\n\n-- Read access is now a direct table lookup rather than a userdata metatable lookup\n-- local val = playerData[ply].someField\n```\nReason: Indexing a plain local Lua table directly avoids the slow `__index` metatable lookups and C-API boundary crossings that occur when reading fields from a userdata Player object.","model_patch":"```lua\nlocal playerData = {}\n\nhook.Add(\"PlayerInitialSpawn\", \"InitTemporaryData\", function(ply)\n    playerData[ply] = { someField = \"value\" }\nend)\n\nhook.Add(\"PlayerDisconnected\", \"CleanupTemporaryData\", function(ply)\n    playerData[ply] = nil\nend)\n\n-- Read access is now a direct table lookup rather than a userdata metatable lookup\n-- local val = playerData[ply].someField\n```\nReason: Indexing a plain local Lua table directly avoids the slow `__index` metatable lookups and C-API boundary crossings that occur when reading fields from a userdata Player object."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.seq-tables.v1","fixtureId":"gmod.perf.seq-tables.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":11898,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal fast_array = {\n    \"apple\",\n    \"banana\",\n    \"cherry\"\n}\n\nfor i = 1, #fast_array do\n    local value = fast_array[i]\nend\n```\nReason: Sequential number-indexed arrays iterated with a numeric for loop read directly from the contiguous array portion of the table, avoiding hash lookup overhead and allowing LuaJIT to optimize the iteration significantly better than `pairs` on a string-keyed map.","model_patch":"```lua\nlocal fast_array = {\n    \"apple\",\n    \"banana\",\n    \"cherry\"\n}\n\nfor i = 1, #fast_array do\n    local value = fast_array[i]\nend\n```\nReason: Sequential number-indexed arrays iterated with a numeric for loop read directly from the contiguous array portion of the table, avoiding hash lookup overhead and allowing LuaJIT to optimize the iteration significantly better than `pairs` on a string-keyed map."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.setdrawcolor-split.v1","fixtureId":"gmod.perf.setdrawcolor-split.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":12183,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing primitive number arguments avoids the performance overhead of Lua table indexing associated with Color objects.","model_patch":"```lua\nsurface.SetDrawColor(255, 255, 255, 255)\n```\nReason: Passing primitive number arguments avoids the performance overhead of Lua table indexing associated with Color objects."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.sqlite-vs-mysql.v1","fixtureId":"gmod.perf.sqlite-vs-mysql.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10879,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal result = sql.Query(\"SELECT money FROM player_data WHERE steamid = 'STEAM_0:0:123456'\")\nif result then\n    print(result[1].money)\nend\n```\nReason: Local SQLite operates directly on the server's local file system, avoiding the network round-trip overhead and latency associated with remote MySQL connections.","model_patch":"```lua\nlocal result = sql.Query(\"SELECT money FROM player_data WHERE steamid = 'STEAM_0:0:123456'\")\nif result then\n    print(result[1].money)\nend\n```\nReason: Local SQLite operates directly on the server's local file system, avoiding the network round-trip overhead and latency associated with remote MySQL connections."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.steamid-cache.v1","fixtureId":"gmod.perf.steamid-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"partial","detail":"Matched a partial-answer pattern.","durationMs":15501,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal function GetCachedSteamID(ply)\n    local sid = ply.CachedSteamID\n    if not sid then\n        sid = ply:SteamID()\n        ply.CachedSteamID = sid\n    end\n    return sid\nend\n```\nReason: Lua table lookups on the entity object are significantly faster than repeatedly calling the C++ function `ply:SteamID()` across the Lua-C boundary.","model_patch":"```lua\nlocal function GetCachedSteamID(ply)\n    local sid = ply.CachedSteamID\n    if not sid then\n        sid = ply:SteamID()\n        ply.CachedSteamID = sid\n    end\n    return sid\nend\n```\nReason: Lua table lookups on the entity object are significantly faster than repeatedly calling the C++ function `ply:SteamID()` across the Lua-C boundary."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.string-table-concat.v1","fixtureId":"gmod.perf.string-table-concat.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"protocol_error","detail":"Answer must contain 0 through 0 candidate loops.","durationMs":12369,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal pieces = {}\nfor i = 1, 10000 do\n    pieces[#pieces + 1] = \"small_piece\"\nend\nlocal large_string = table.concat(pieces)\n```\nReason: table.concat allocates memory once for the final combined string, avoiding the O(N^2) memory reallocation and copying overhead caused by Lua's immutable strings during repeated concatenation.","model_patch":"```lua\nlocal pieces = {}\nfor i = 1, 10000 do\n    pieces[#pieces + 1] = \"small_piece\"\nend\nlocal large_string = table.concat(pieces)\n```\nReason: table.concat allocates memory once for the final combined string, avoiding the O(N^2) memory reallocation and copying overhead caused by Lua's immutable strings during repeated concatenation."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-drawrect.v1","fixtureId":"gmod.perf.surface-drawrect.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":28269,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, width, height)\n```\nReason: Directly using the C++ bound `surface` API bypasses the execution overhead of the Lua `draw` library wrapper and its internal corner radius conditional checks, while also allowing you to hoist the color setup outside of your rendering loop for even greater performance.","model_patch":"```lua\nsurface.SetDrawColor(color)\nsurface.DrawRect(x, y, width, height)\n```\nReason: Directly using the C++ bound `surface` API bypasses the execution overhead of the Lua `draw` library wrapper and its internal corner radius conditional checks, while also allowing you to hoist the color setup outside of your rendering loop for even greater performance."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-text.v1","fixtureId":"gmod.perf.surface-text.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":16849,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(100, 100)\nsurface.DrawText(\"Hello World\")\n```\nReason: Calling `surface.*` methods directly is faster because it executes native C bindings, avoiding the extra Lua wrapper overhead, table allocations, and argument validation found in `draw.SimpleText` and `draw.DrawText`.","model_patch":"```lua\nsurface.SetFont(\"DermaDefault\")\nsurface.SetTextColor(255, 255, 255, 255)\nsurface.SetTextPos(100, 100)\nsurface.DrawText(\"Hello World\")\n```\nReason: Calling `surface.*` methods directly is faster because it executes native C bindings, avoiding the extra Lua wrapper overhead, table allocations, and argument validation found in `draw.SimpleText` and `draw.DrawText`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-count-hash.v1","fixtureId":"gmod.perf.table-count-hash.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":11100,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal length = #myTable\n```\nReason: The `#` operator is the native built-in method for sequential tables in Lua 5.1, providing O(log n) performance compared to the O(n) iteration overhead of GMod's `table.Count`.","model_patch":"```lua\nlocal length = #myTable\n```\nReason: The `#` operator is the native built-in method for sequential tables in Lua 5.1, providing O(log n) performance compared to the O(n) iteration overhead of GMod's `table.Count`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-empty.v1","fixtureId":"gmod.perf.table-empty.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":29261,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nt = {}\n```\nReason: Reassigning to a new table is an O(1) operation that avoids the O(N) iteration overhead of `table.Empty`, which uses `pairs` internally.","model_patch":"```lua\nt = {}\n```\nReason: Reassigning to a new table is an O(1) operation that avoids the O(N) iteration overhead of `table.Empty`, which uses `pairs` internally."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-hasvalue.v1","fixtureId":"gmod.perf.table-hasvalue.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10211,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal mySet = {\n    apple = true,\n    banana = true,\n    orange = true\n}\n\nif mySet[\"apple\"] then\n    -- The value exists in the set\nend\n```\nReason: Key lookups in Lua tables use an O(1) hash map approach, which is significantly faster than `table.HasValue` performing an O(n) linear search through an array.","model_patch":"```lua\nlocal mySet = {\n    apple = true,\n    banana = true,\n    orange = true\n}\n\nif mySet[\"apple\"] then\n    -- The value exists in the set\nend\n```\nReason: Key lookups in Lua tables use an O(1) hash map approach, which is significantly faster than `table.HasValue` performing an O(n) linear search through an array."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-literal.v1","fixtureId":"gmod.perf.table-literal.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":11560,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal myTable = {\n    name = \"Player\",\n    health = 100,\n    armor = 50\n}\n```\nReason: Defining fields directly in the table constructor allows Lua/LuaJIT to pre-allocate the correct amount of memory in a single step, avoiding the performance overhead of resizing and rehashing the table with each individual assignment.","model_patch":"```lua\nlocal myTable = {\n    name = \"Player\",\n    health = 100,\n    armor = 50\n}\n```\nReason: Defining fields directly in the table constructor allows Lua/LuaJIT to pre-allocate the correct amount of memory in a single step, avoiding the performance overhead of resizing and rehashing the table with each individual assignment."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-random.v1","fixtureId":"gmod.perf.table-random.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":12924,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal element = tbl[math.random(#tbl)]\n```\nReason: table.Random iterates through the table using pairs() which takes O(n) time to support associative keys, whereas math.random(#tbl) directly indexes the table in O(1) time.","model_patch":"```lua\nlocal element = tbl[math.random(#tbl)]\n```\nReason: table.Random iterates through the table using pairs() which takes O(n) time to support associative keys, whereas math.random(#tbl) directly indexes the table in O(1) time."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.x-times-x.v1","fixtureId":"gmod.perf.x-times-x.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"pass","detail":"Matched a pass pattern.","durationMs":10468,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nlocal result = x * x\n```\nReason: Direct multiplication avoids the overhead of function calls (like math.pow) and the more complex exponentiation operator (x^2), making it the fastest method in Garry's Mod's LuaJIT environment.","model_patch":"```lua\nlocal result = x * x\n```\nReason: Direct multiplication avoids the overhead of function calls (like math.pow) and the more complex exponentiation operator (x^2), making it the fastest method in Garry's Mod's LuaJIT environment."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.player-iterator.v1","fixtureId":"gmod.player-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Gemini 3.1 Pro (High)","model_name_or_path":"Gemini 3.1 Pro (High)","attemptIndex":1,"status":"partial","detail":"Uses ipairs but still allocates via player.GetAll() each time.","durationMs":11363,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":"```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- Do something with the player\nend\n```\nReason: `ipairs` is more efficient and semantically correct than `pairs` for iterating over sequentially indexed tables like the array returned by `player.GetAll()`.","model_patch":"```lua\nfor _, ply in ipairs(player.GetAll()) do\n    -- Do something with the player\nend\n```\nReason: `ipairs` is more efficient and semantically correct than `pairs` for iterating over sequentially indexed tables like the array returned by `player.GetAll()`."}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.ents-iterator.v1","fixtureId":"gmod.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6504,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.hook-add.v1","fixtureId":"gmod.hook-add.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6623,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.isvalid.v1","fixtureId":"gmod.isvalid.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6138,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.net-receivers.v1","fixtureId":"gmod.net-receivers.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6928,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.angle-zero.v1","fixtureId":"gmod.perf.angle-zero.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6710,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.config-var.v1","fixtureId":"gmod.perf.config-var.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6818,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.darkrpvar.v1","fixtureId":"gmod.perf.darkrpvar.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5830,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.disttosqr.v1","fixtureId":"gmod.perf.disttosqr.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6058,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ents-iterator.v1","fixtureId":"gmod.perf.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6548,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-ents-near.v1","fixtureId":"gmod.perf.find-ents-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6894,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-players-near.v1","fixtureId":"gmod.perf.find-players-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6741,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.for-vs-while.v1","fixtureId":"gmod.perf.for-vs-while.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6944,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hook-once.v1","fixtureId":"gmod.perf.hook-once.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6130,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hudpaint-cache.v1","fixtureId":"gmod.perf.hudpaint-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6898,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-color.v1","fixtureId":"gmod.perf.local-color.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6967,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-vs-global.v1","fixtureId":"gmod.perf.local-vs-global.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6515,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.localplayer-cache.v1","fixtureId":"gmod.perf.localplayer-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7022,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.looking-at.v1","fixtureId":"gmod.perf.looking-at.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6132,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.meta-vs-arg.v1","fixtureId":"gmod.perf.meta-vs-arg.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7093,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.msg-vs-print.v1","fixtureId":"gmod.perf.msg-vs-print.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7115,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.pairs-ipairs-for.v1","fixtureId":"gmod.perf.pairs-ipairs-for.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6194,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.plain-lua-vs-fn.v1","fixtureId":"gmod.perf.plain-lua-vs-fn.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6731,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.player-cache-hooks.v1","fixtureId":"gmod.perf.player-cache-hooks.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6904,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ply-table-index.v1","fixtureId":"gmod.perf.ply-table-index.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6143,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.seq-tables.v1","fixtureId":"gmod.perf.seq-tables.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6910,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.setdrawcolor-split.v1","fixtureId":"gmod.perf.setdrawcolor-split.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6012,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.sqlite-vs-mysql.v1","fixtureId":"gmod.perf.sqlite-vs-mysql.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6936,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.steamid-cache.v1","fixtureId":"gmod.perf.steamid-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7043,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.string-table-concat.v1","fixtureId":"gmod.perf.string-table-concat.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6748,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-drawrect.v1","fixtureId":"gmod.perf.surface-drawrect.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6473,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-text.v1","fixtureId":"gmod.perf.surface-text.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5915,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-count-hash.v1","fixtureId":"gmod.perf.table-count-hash.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6897,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-empty.v1","fixtureId":"gmod.perf.table-empty.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6234,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-hasvalue.v1","fixtureId":"gmod.perf.table-hasvalue.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5925,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-literal.v1","fixtureId":"gmod.perf.table-literal.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6926,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-random.v1","fixtureId":"gmod.perf.table-random.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6067,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.x-times-x.v1","fixtureId":"gmod.perf.x-times-x.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5993,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.player-iterator.v1","fixtureId":"gmod.player-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Sonnet 4.6 (Thinking)","model_name_or_path":"Claude Sonnet 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5958,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.ents-iterator.v1","fixtureId":"gmod.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7321,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.hook-add.v1","fixtureId":"gmod.hook-add.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6900,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.isvalid.v1","fixtureId":"gmod.isvalid.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6674,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.net-receivers.v1","fixtureId":"gmod.net-receivers.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6396,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.angle-zero.v1","fixtureId":"gmod.perf.angle-zero.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6123,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.config-var.v1","fixtureId":"gmod.perf.config-var.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6890,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.darkrpvar.v1","fixtureId":"gmod.perf.darkrpvar.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7092,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.disttosqr.v1","fixtureId":"gmod.perf.disttosqr.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6877,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ents-iterator.v1","fixtureId":"gmod.perf.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6770,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-ents-near.v1","fixtureId":"gmod.perf.find-ents-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6160,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-players-near.v1","fixtureId":"gmod.perf.find-players-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6381,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.for-vs-while.v1","fixtureId":"gmod.perf.for-vs-while.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7126,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hook-once.v1","fixtureId":"gmod.perf.hook-once.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6851,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hudpaint-cache.v1","fixtureId":"gmod.perf.hudpaint-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6150,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-color.v1","fixtureId":"gmod.perf.local-color.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6117,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-vs-global.v1","fixtureId":"gmod.perf.local-vs-global.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6370,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.localplayer-cache.v1","fixtureId":"gmod.perf.localplayer-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6987,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.looking-at.v1","fixtureId":"gmod.perf.looking-at.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6175,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.meta-vs-arg.v1","fixtureId":"gmod.perf.meta-vs-arg.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6992,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.msg-vs-print.v1","fixtureId":"gmod.perf.msg-vs-print.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6153,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.pairs-ipairs-for.v1","fixtureId":"gmod.perf.pairs-ipairs-for.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6988,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.plain-lua-vs-fn.v1","fixtureId":"gmod.perf.plain-lua-vs-fn.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6802,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.player-cache-hooks.v1","fixtureId":"gmod.perf.player-cache-hooks.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6186,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ply-table-index.v1","fixtureId":"gmod.perf.ply-table-index.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6243,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.seq-tables.v1","fixtureId":"gmod.perf.seq-tables.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7350,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.setdrawcolor-split.v1","fixtureId":"gmod.perf.setdrawcolor-split.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7201,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.sqlite-vs-mysql.v1","fixtureId":"gmod.perf.sqlite-vs-mysql.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7236,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.steamid-cache.v1","fixtureId":"gmod.perf.steamid-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7164,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.string-table-concat.v1","fixtureId":"gmod.perf.string-table-concat.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6188,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-drawrect.v1","fixtureId":"gmod.perf.surface-drawrect.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6051,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-text.v1","fixtureId":"gmod.perf.surface-text.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6741,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-count-hash.v1","fixtureId":"gmod.perf.table-count-hash.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6838,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-empty.v1","fixtureId":"gmod.perf.table-empty.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7051,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-hasvalue.v1","fixtureId":"gmod.perf.table-hasvalue.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6940,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-literal.v1","fixtureId":"gmod.perf.table-literal.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6158,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-random.v1","fixtureId":"gmod.perf.table-random.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7171,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.x-times-x.v1","fixtureId":"gmod.perf.x-times-x.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6833,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.player-iterator.v1","fixtureId":"gmod.player-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"Claude Opus 4.6 (Thinking)","model_name_or_path":"Claude Opus 4.6 (Thinking)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6755,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.ents-iterator.v1","fixtureId":"gmod.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6919,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.hook-add.v1","fixtureId":"gmod.hook-add.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5917,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.isvalid.v1","fixtureId":"gmod.isvalid.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6154,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.net-receivers.v1","fixtureId":"gmod.net-receivers.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7057,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.angle-zero.v1","fixtureId":"gmod.perf.angle-zero.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6758,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.config-var.v1","fixtureId":"gmod.perf.config-var.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5942,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.darkrpvar.v1","fixtureId":"gmod.perf.darkrpvar.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6590,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.disttosqr.v1","fixtureId":"gmod.perf.disttosqr.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6103,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ents-iterator.v1","fixtureId":"gmod.perf.ents-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5707,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-ents-near.v1","fixtureId":"gmod.perf.find-ents-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7132,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.find-players-near.v1","fixtureId":"gmod.perf.find-players-near.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6165,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.for-vs-while.v1","fixtureId":"gmod.perf.for-vs-while.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6496,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hook-once.v1","fixtureId":"gmod.perf.hook-once.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6395,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.hudpaint-cache.v1","fixtureId":"gmod.perf.hudpaint-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7077,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-color.v1","fixtureId":"gmod.perf.local-color.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7015,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.local-vs-global.v1","fixtureId":"gmod.perf.local-vs-global.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7250,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.localplayer-cache.v1","fixtureId":"gmod.perf.localplayer-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6790,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.looking-at.v1","fixtureId":"gmod.perf.looking-at.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7016,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.meta-vs-arg.v1","fixtureId":"gmod.perf.meta-vs-arg.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5972,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.msg-vs-print.v1","fixtureId":"gmod.perf.msg-vs-print.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6737,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.pairs-ipairs-for.v1","fixtureId":"gmod.perf.pairs-ipairs-for.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6121,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.plain-lua-vs-fn.v1","fixtureId":"gmod.perf.plain-lua-vs-fn.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6204,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.player-cache-hooks.v1","fixtureId":"gmod.perf.player-cache-hooks.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6146,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.ply-table-index.v1","fixtureId":"gmod.perf.ply-table-index.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7182,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.seq-tables.v1","fixtureId":"gmod.perf.seq-tables.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6926,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.setdrawcolor-split.v1","fixtureId":"gmod.perf.setdrawcolor-split.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5946,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.sqlite-vs-mysql.v1","fixtureId":"gmod.perf.sqlite-vs-mysql.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5978,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.steamid-cache.v1","fixtureId":"gmod.perf.steamid-cache.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":5894,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.string-table-concat.v1","fixtureId":"gmod.perf.string-table-concat.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6140,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-drawrect.v1","fixtureId":"gmod.perf.surface-drawrect.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6849,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.surface-text.v1","fixtureId":"gmod.perf.surface-text.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":7075,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-count-hash.v1","fixtureId":"gmod.perf.table-count-hash.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6280,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-empty.v1","fixtureId":"gmod.perf.table-empty.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6942,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-hasvalue.v1","fixtureId":"gmod.perf.table-hasvalue.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6725,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-literal.v1","fixtureId":"gmod.perf.table-literal.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6081,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.table-random.v1","fixtureId":"gmod.perf.table-random.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6286,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.perf.x-times-x.v1","fixtureId":"gmod.perf.x-times-x.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6370,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
{"runId":"0f05b466-ff5a-469a-9def-8077a159a510","instance_id":"gmod.player-iterator.v1","fixtureId":"gmod.player-iterator.v1","fixtureVersion":null,"rubricVersion":null,"promptHash":null,"adapterId":"agy","model":"GPT-OSS 120B (Medium)","model_name_or_path":"GPT-OSS 120B (Medium)","attemptIndex":1,"status":"protocol_error","detail":"CLI exited without a valid strict response.","durationMs":6164,"startedAt":null,"completedAt":null,"answerBytes":null,"answerChars":null,"httpStatus":null,"httpAttempts":null,"exitCode":null,"usage":null,"finalResponse":null,"model_patch":null}
