diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0affe60373][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_maximum].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0affe60373][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_maximum].json
index 79195fd87fec..bb8a59cb4d66 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0affe60373][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_maximum].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[0affe60373][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_maximum].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterDefinitionError [line 104]: Maximum is type 'str', but must be of parameter type 'int'",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterDefinitionError: Maximum is type 'str', but must be of parameter type 'int'",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "(\"Maximum is type 'str', but must be of parameter type 'int'\",)",
-            "class": "ParameterDefinitionError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_maximum.py\", line 104, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 56, in add_int\n    parameter = parameter_definition.create_int_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 178, in create_int_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 73, in __init__\n    validation.validate_options(default, minimum, maximum, choices, parameter_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 266, in validate_options\n    _validate_min_and_max(minimum, maximum, parameter_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 218, in _validate_min_and_max\n    raise ParameterDefinitionError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_maximum.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterDefinitionError [line 104]: Maximum is type 'str', but must be of parameter type 'int'\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Description Too Long 2.18"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[19ffa9c839][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[19ffa9c839][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2].json
index f0d76705138a..bcb0fe064fef 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[19ffa9c839][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[19ffa9c839][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2].json
@@ -478,7 +478,7 @@
           "errorInfo": {
             "args": "('trash bin in slot 12 prevents heaterShakerModuleV1 from using slot 9.',)",
             "class": "DeckConflictError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2.py\", line 11, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 814, in load_module\n    module_core = self._core.load_module(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 423, in load_module\n    deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n    wrapped_deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n    raise DeckConflictError(\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin2.py\", line 11, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 823, in load_module\n    module_core = self._core.load_module(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 423, in load_module\n    deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n    wrapped_deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n    raise DeckConflictError(\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[1e5825a070][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_minimum].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[1e5825a070][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_minimum].json
index 20c34cf527cf..3fc2e41b62e5 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[1e5825a070][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_minimum].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[1e5825a070][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_minimum].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterDefinitionError [line 95]: Minimum is type 'str', but must be of parameter type 'int'",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterDefinitionError: Minimum is type 'str', but must be of parameter type 'int'",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "(\"Minimum is type 'str', but must be of parameter type 'int'\",)",
-            "class": "ParameterDefinitionError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_minimum.py\", line 95, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 56, in add_int\n    parameter = parameter_definition.create_int_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 178, in create_int_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 73, in __init__\n    validation.validate_options(default, minimum, maximum, choices, parameter_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 266, in validate_options\n    _validate_min_and_max(minimum, maximum, parameter_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 213, in _validate_min_and_max\n    raise ParameterDefinitionError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_minimum.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterDefinitionError [line 95]: Minimum is type 'str', but must be of parameter type 'int'\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Description Too Long 2.18"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[24a6b167a7][OT2_X_v2_18_None_None_NoRTPdisplay_name].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[24a6b167a7][OT2_X_v2_18_None_None_NoRTPdisplay_name].json
index 1d6692d3961e..c7c1ea339715 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[24a6b167a7][OT2_X_v2_18_None_None_NoRTPdisplay_name].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[24a6b167a7][OT2_X_v2_18_None_None_NoRTPdisplay_name].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "TypeError [line 11]: ParameterContext.add_int() missing 1 required positional argument: 'display_name'",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "TypeError: ParameterContext.add_int() missing 1 required positional argument: 'display_name'",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "(\"ParameterContext.add_int() missing 1 required positional argument: 'display_name'\",)",
-            "class": "TypeError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_18_None_None_NoRTPdisplay_name.py\", line 11, in add_parameters\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "OT2_X_v2_18_None_None_NoRTPdisplay_name.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nDeck calibration not found.\n/root/.opentrons/deck_calibration.json not found. Loading defaults\nError: TypeError [line 11]: ParameterContext.add_int() missing 1 required positional argument: 'display_name'\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "No RTP Display Name"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-2 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[38b5298c77][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_less_than_minimum].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[38b5298c77][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_less_than_minimum].json
index 94b4b0ec4eb6..d95eaccc1f1c 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[38b5298c77][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_less_than_minimum].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[38b5298c77][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_less_than_minimum].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterValueError [line 32]: Parameter must be between 1 and 3 inclusive.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterValueError: Parameter must be between 1 and 3 inclusive.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('Parameter must be between 1 and 3 inclusive.',)",
-            "class": "ParameterValueError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_less_than_minimum.py\", line 32, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 56, in add_int\n    parameter = parameter_definition.create_int_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 178, in create_int_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 84, in __init__\n    self.value: ParamType = default\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 104, in value\n    raise ParameterValueError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_less_than_minimum.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterValueError [line 32]: Parameter must be between 1 and 3 inclusive.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Default not in range"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4458220422][OT2_S_v2_18_NO_PIPETTES_GoldenRTP_OT2].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4458220422][OT2_S_v2_18_NO_PIPETTES_GoldenRTP_OT2].json
index 0037466294b4..11c189fdd9ee 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4458220422][OT2_S_v2_18_NO_PIPETTES_GoldenRTP_OT2].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4458220422][OT2_S_v2_18_NO_PIPETTES_GoldenRTP_OT2].json
@@ -285,53 +285,53 @@
       "choices": [
         {
           "displayName": "20",
-          "value": 20.0
+          "value": 20
         },
         {
           "displayName": "16",
-          "value": 16.0
+          "value": 16
         }
       ],
-      "default": 20.0,
+      "default": 20,
       "description": "Reused description for all parameters.",
       "displayName": "int choices all",
       "type": "int",
-      "value": 20.0,
+      "value": 20,
       "variableName": "int_choices_all_fields"
     },
     {
       "choices": [
         {
           "displayName": "1X",
-          "value": 6.0
+          "value": 6
         },
         {
           "displayName": "2X",
-          "value": 12.0
+          "value": 12
         }
       ],
-      "default": 6.0,
+      "default": 6,
       "description": "Reused description for all parameters.",
       "displayName": "int choice no unit",
       "type": "int",
-      "value": 6.0,
+      "value": 6,
       "variableName": "int_choice_no_unit"
     },
     {
       "choices": [
         {
           "displayName": "10X",
-          "value": 10.0
+          "value": 10
         },
         {
           "displayName": "100X",
-          "value": 100.0
+          "value": 100
         }
       ],
-      "default": 10.0,
+      "default": 10,
       "displayName": "int choice no unit, desc",
       "type": "int",
-      "value": 10.0,
+      "value": 10,
       "variableName": "int_choice_no_unit_desc"
     },
     {
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4cb705bdbf][Flex_X_v2_16_NO_PIPETTES_MM_MagneticModuleInFlexProtocol].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4cb705bdbf][Flex_X_v2_16_NO_PIPETTES_MM_MagneticModuleInFlexProtocol].json
index 471419d2827e..eccc50990ffc 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4cb705bdbf][Flex_X_v2_16_NO_PIPETTES_MM_MagneticModuleInFlexProtocol].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4cb705bdbf][Flex_X_v2_16_NO_PIPETTES_MM_MagneticModuleInFlexProtocol].json
@@ -15,7 +15,7 @@
         "errorInfo": {
           "args": "('Module Type magneticModuleType does not have a related fixture ID.',)",
           "class": "ValueError",
-          "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/execution/command_executor.py\", line 146, in execute\n    result = await command_impl.execute(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/commands/load_module.py\", line 121, in execute\n    self._ensure_module_location(params.location.slotName, module_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/commands/load_module.py\", line 175, in _ensure_module_location\n    cutout_fixture_id = ModuleType.to_module_fixture_id(module_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/hardware_control/modules/types.py\", line 80, in to_module_fixture_id\n    raise ValueError(\n"
+          "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/execution/command_executor.py\", line 146, in execute\n    result = await command_impl.execute(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/commands/load_module.py\", line 121, in execute\n    self._ensure_module_location(params.location.slotName, module_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/commands/load_module.py\", line 175, in _ensure_module_location\n    cutout_fixture_id = ModuleType.to_module_fixture_id(module_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/hardware_control/modules/types.py\", line 84, in to_module_fixture_id\n    raise ValueError(\n"
         },
         "errorType": "PythonException",
         "wrappedErrors": []
@@ -56,7 +56,7 @@
               "errorInfo": {
                 "args": "('Module Type magneticModuleType does not have a related fixture ID.',)",
                 "class": "ValueError",
-                "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/execution/command_executor.py\", line 146, in execute\n    result = await command_impl.execute(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/commands/load_module.py\", line 121, in execute\n    self._ensure_module_location(params.location.slotName, module_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/commands/load_module.py\", line 175, in _ensure_module_location\n    cutout_fixture_id = ModuleType.to_module_fixture_id(module_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/hardware_control/modules/types.py\", line 80, in to_module_fixture_id\n    raise ValueError(\n"
+                "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/execution/command_executor.py\", line 146, in execute\n    result = await command_impl.execute(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/commands/load_module.py\", line 121, in execute\n    self._ensure_module_location(params.location.slotName, module_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_engine/commands/load_module.py\", line 175, in _ensure_module_location\n    cutout_fixture_id = ModuleType.to_module_fixture_id(module_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/hardware_control/modules/types.py\", line 84, in to_module_fixture_id\n    raise ValueError(\n"
               },
               "errorType": "PythonException",
               "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4fadc166c0][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_variable_name].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4fadc166c0][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_variable_name].json
index b41923a6a2db..0b65f53728a1 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4fadc166c0][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_variable_name].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[4fadc166c0][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_variable_name].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterNameError [line 39]: Variable name must be a string.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterNameError: Variable name must be a string.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('Variable name must be a string.',)",
-            "class": "ParameterNameError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_variable_name.py\", line 39, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 93, in add_float\n    parameter = parameter_definition.create_float_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 202, in create_float_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 57, in __init__\n    self._variable_name = validation.ensure_variable_name(variable_name)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 46, in ensure_variable_name\n    raise ParameterNameError(\"Variable name must be a string.\")\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_variable_name.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterNameError [line 39]: Variable name must be a string.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Description Too Long 2.18"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[51a761307d][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_greater_than_maximum].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[51a761307d][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_greater_than_maximum].json
index b54f76e6b5f8..4c5ed9827757 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[51a761307d][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_greater_than_maximum].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[51a761307d][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_greater_than_maximum].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterValueError [line 23]: Parameter must be between 1 and 3 inclusive.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterValueError: Parameter must be between 1 and 3 inclusive.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('Parameter must be between 1 and 3 inclusive.',)",
-            "class": "ParameterValueError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_greater_than_maximum.py\", line 23, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 56, in add_int\n    parameter = parameter_definition.create_int_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 178, in create_int_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 84, in __init__\n    self.value: ParamType = default\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 104, in value\n    raise ParameterValueError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultOutOfRangeRTP_Override_default_greater_than_maximum.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterValueError [line 23]: Parameter must be between 1 and 3 inclusive.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Default not in range"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[58750bf5fb][Flex_X_v2_16_NO_PIPETTES_TrashBinInStagingAreaCol4].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[58750bf5fb][Flex_X_v2_16_NO_PIPETTES_TrashBinInStagingAreaCol4].json
index c123a9162fc7..3dfb7940fce6 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[58750bf5fb][Flex_X_v2_16_NO_PIPETTES_TrashBinInStagingAreaCol4].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[58750bf5fb][Flex_X_v2_16_NO_PIPETTES_TrashBinInStagingAreaCol4].json
@@ -28,7 +28,7 @@
           "errorInfo": {
             "args": "('Staging areas not permitted for trash bin.',)",
             "class": "ValueError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_TrashBinInStagingAreaCol4.py\", line 15, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 512, in load_trash_bin\n    raise ValueError(\"Staging areas not permitted for trash bin.\")\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_TrashBinInStagingAreaCol4.py\", line 15, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 521, in load_trash_bin\n    raise ValueError(\"Staging areas not permitted for trash bin.\")\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[60015c6e65][OT2_X_v2_18_None_None_duplicateRTPVariableName].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[60015c6e65][OT2_X_v2_18_None_None_duplicateRTPVariableName].json
index 477935caf3a7..8c99787b7252 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[60015c6e65][OT2_X_v2_18_None_None_duplicateRTPVariableName].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[60015c6e65][OT2_X_v2_18_None_None_duplicateRTPVariableName].json
@@ -1,95 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterNameError [line 28]: \"variable_a\" is already defined as a variable name for another parameter. All variable names must be unique.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterNameError: \"variable_a\" is already defined as a variable name for another parameter. All variable names must be unique.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('\"variable_a\" is already defined as a variable name for another parameter. All variable names must be unique.',)",
-            "class": "ParameterNameError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_18_None_None_duplicateRTPVariableName.py\", line 28, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 55, in add_int\n    validation.validate_variable_name_unique(variable_name, set(self._parameters))\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 24, in validate_variable_name_unique\n    raise ParameterNameError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "OT2_X_v2_18_None_None_duplicateRTPVariableName.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nDeck calibration not found.\n/root/.opentrons/deck_calibration.json not found. Loading defaults\nError: ParameterNameError [line 28]: \"variable_a\" is already defined as a variable name for another parameter. All variable names must be unique.\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Multiple RTP Variables with Same Name"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-2 Standard",
-  "runTimeParameters": [
-    {
-      "default": 1.0,
-      "description": "This is a description",
-      "displayName": "int 1",
-      "max": 3.0,
-      "min": 1.0,
-      "type": "int",
-      "value": 1.0,
-      "variableName": "variable_a"
-    },
-    {
-      "default": 1.0,
-      "description": "This is a description",
-      "displayName": "int 2",
-      "max": 3.0,
-      "min": 1.0,
-      "type": "int",
-      "value": 1.0,
-      "variableName": "variable_b"
-    }
-  ]
+  "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[60c1d39463][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_int_default_no_matching_choices].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[60c1d39463][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_int_default_no_matching_choices].json
index 4670b2eed788..a938fd09c640 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[60c1d39463][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_int_default_no_matching_choices].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[60c1d39463][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_int_default_no_matching_choices].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterValueError [line 24]: Parameter must be set to one of the allowed values of {9, 20, 15}.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterValueError: Parameter must be set to one of the allowed values of {9, 20, 15}.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('Parameter must be set to one of the allowed values of {9, 20, 15}.',)",
-            "class": "ParameterValueError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_int_default_no_matching_choices.py\", line 24, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 56, in add_int\n    parameter = parameter_definition.create_int_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 178, in create_int_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 84, in __init__\n    self.value: ParamType = default\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 95, in value\n    raise ParameterValueError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_int_default_no_matching_choices.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterValueError [line 24]: Parameter must be set to one of the allowed values of {9, 20, 15}.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "default choice does not match a choice"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6126498df7][Flex_X_v2_16_NO_PIPETTES_TM_ModuleInStagingAreaCol4].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6126498df7][Flex_X_v2_16_NO_PIPETTES_TM_ModuleInStagingAreaCol4].json
index e8964ba8d4ce..22d9deb961c1 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6126498df7][Flex_X_v2_16_NO_PIPETTES_TM_ModuleInStagingAreaCol4].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6126498df7][Flex_X_v2_16_NO_PIPETTES_TM_ModuleInStagingAreaCol4].json
@@ -28,7 +28,7 @@
           "errorInfo": {
             "args": "('Cannot load a module onto a staging slot.',)",
             "class": "ValueError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_TM_ModuleInStagingAreaCol4.py\", line 15, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 812, in load_module\n    raise ValueError(\"Cannot load a module onto a staging slot.\")\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_TM_ModuleInStagingAreaCol4.py\", line 15, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 821, in load_module\n    raise ValueError(\"Cannot load a module onto a staging slot.\")\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[61619d5498][Flex_S_v2_18_NO_PIPETTES_GoldenRTP].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[61619d5498][Flex_S_v2_18_NO_PIPETTES_GoldenRTP].json
index 73acba655663..c5df0de2115f 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[61619d5498][Flex_S_v2_18_NO_PIPETTES_GoldenRTP].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[61619d5498][Flex_S_v2_18_NO_PIPETTES_GoldenRTP].json
@@ -285,53 +285,53 @@
       "choices": [
         {
           "displayName": "20",
-          "value": 20.0
+          "value": 20
         },
         {
           "displayName": "16",
-          "value": 16.0
+          "value": 16
         }
       ],
-      "default": 20.0,
+      "default": 20,
       "description": "Reused description for all parameters.",
       "displayName": "int choices all",
       "type": "int",
-      "value": 20.0,
+      "value": 20,
       "variableName": "int_choices_all_fields"
     },
     {
       "choices": [
         {
           "displayName": "1X",
-          "value": 6.0
+          "value": 6
         },
         {
           "displayName": "2X",
-          "value": 12.0
+          "value": 12
         }
       ],
-      "default": 6.0,
+      "default": 6,
       "description": "Reused description for all parameters.",
       "displayName": "int choice no unit",
       "type": "int",
-      "value": 6.0,
+      "value": 6,
       "variableName": "int_choice_no_unit"
     },
     {
       "choices": [
         {
           "displayName": "10X",
-          "value": 10.0
+          "value": 10
         },
         {
           "displayName": "100X",
-          "value": 100.0
+          "value": 100
         }
       ],
-      "default": 10.0,
+      "default": 10,
       "displayName": "int choice no unit, desc",
       "type": "int",
-      "value": 10.0,
+      "value": 10,
       "variableName": "int_choice_no_unit_desc"
     },
     {
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6ad5590adf][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_unit].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6ad5590adf][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_unit].json
index 5265e8ee7733..6d36977abab9 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6ad5590adf][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_unit].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6ad5590adf][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_unit].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterNameError [line 113]: Unit must be a string and at most 10 characters.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterNameError: Unit must be a string and at most 10 characters.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('Unit must be a string and at most 10 characters.',)",
-            "class": "ParameterNameError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_unit.py\", line 113, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 56, in add_int\n    parameter = parameter_definition.create_int_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 178, in create_int_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 59, in __init__\n    self._unit = validation.ensure_unit_string_length(unit)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 74, in ensure_unit_string_length\n    raise ParameterNameError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_unit.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterNameError [line 113]: Unit must be a string and at most 10 characters.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Description Too Long 2.18"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e5128f107][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e5128f107][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1].json
index cdbe1cbc2f66..11add1786515 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e5128f107][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e5128f107][OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1].json
@@ -478,7 +478,7 @@
           "errorInfo": {
             "args": "('trash bin in slot 12 prevents heaterShakerModuleV1 from using slot 11.',)",
             "class": "DeckConflictError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1.py\", line 11, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 814, in load_module\n    module_core = self._core.load_module(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 423, in load_module\n    deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n    wrapped_deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 223, in check\n    raise DeckConflictError(\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_16_None_None_HS_HeaterShakerConflictWithTrashBin1.py\", line 11, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 823, in load_module\n    module_core = self._core.load_module(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 423, in load_module\n    deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n    wrapped_deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 223, in check\n    raise DeckConflictError(\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e744cbb48][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_str_default_no_matching_choices].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e744cbb48][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_str_default_no_matching_choices].json
index 75501aa1ccdd..c15a2b18cce8 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e744cbb48][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_str_default_no_matching_choices].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[6e744cbb48][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_str_default_no_matching_choices].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterValueError [line 48]: Parameter must be set to one of the allowed values of {'flex_8channel_50', 'flex_1channel_50'}.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterValueError: Parameter must be set to one of the allowed values of {'flex_8channel_50', 'flex_1channel_50'}.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "(\"Parameter must be set to one of the allowed values of {'flex_8channel_50', 'flex_1channel_50'}.\",)",
-            "class": "ParameterValueError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_str_default_no_matching_choices.py\", line 48, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 152, in add_str\n    parameter = parameter_definition.create_str_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 241, in create_str_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 84, in __init__\n    self.value: ParamType = default\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 95, in value\n    raise ParameterValueError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_str_default_no_matching_choices.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterValueError [line 48]: Parameter must be set to one of the allowed values of {'flex_8channel_50', 'flex_1channel_50'}.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "default choice does not match a choice"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[7d06568bfe][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_display_name].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[7d06568bfe][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_display_name].json
index 41eeee384dbd..cd50ab60cfec 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[7d06568bfe][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_display_name].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[7d06568bfe][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_display_name].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterNameError [line 51]: Display name must be a string and at most 30 characters.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterNameError: Display name must be a string and at most 30 characters.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('Display name must be a string and at most 30 characters.',)",
-            "class": "ParameterNameError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_display_name.py\", line 51, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 152, in add_str\n    parameter = parameter_definition.create_str_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 241, in create_str_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 73, in __init__\n    validation.validate_options(default, minimum, maximum, choices, parameter_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 264, in validate_options\n    _validate_choices(minimum, maximum, choices, parameter_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 189, in _validate_choices\n    ensure_display_name(display_name)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 33, in ensure_display_name\n    raise ParameterNameError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_display_name.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterNameError [line 51]: Display name must be a string and at most 30 characters.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Description Too Long 2.18"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[7f2ef0eaff][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_float_default_no_matching_choices].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[7f2ef0eaff][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_float_default_no_matching_choices].json
index 8181845d3d43..9fd2b499862c 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[7f2ef0eaff][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_float_default_no_matching_choices].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[7f2ef0eaff][Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_float_default_no_matching_choices].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterValueError [line 36]: Parameter must be set to one of the allowed values of {160.0, 100.0, 200.0}.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterValueError: Parameter must be set to one of the allowed values of {160.0, 100.0, 200.0}.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('Parameter must be set to one of the allowed values of {160.0, 100.0, 200.0}.',)",
-            "class": "ParameterValueError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_float_default_no_matching_choices.py\", line 36, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 93, in add_float\n    parameter = parameter_definition.create_float_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 202, in create_float_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 84, in __init__\n    self.value: ParamType = default\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 95, in value\n    raise ParameterValueError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_DefaultChoiceNoMatchChoice_Override_float_default_no_matching_choices.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterValueError [line 36]: Parameter must be set to one of the allowed values of {160.0, 100.0, 200.0}.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "default choice does not match a choice"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[82e9853b34][Flex_X_v2_16_NO_PIPETTES_TrashBinInCol2].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[82e9853b34][Flex_X_v2_16_NO_PIPETTES_TrashBinInCol2].json
index 80b5f0999af2..852765217162 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[82e9853b34][Flex_X_v2_16_NO_PIPETTES_TrashBinInCol2].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[82e9853b34][Flex_X_v2_16_NO_PIPETTES_TrashBinInCol2].json
@@ -28,7 +28,7 @@
           "errorInfo": {
             "args": "('Invalid location for trash bin: C2.\\nValid slots: Any slot in column 1 or 3.',)",
             "class": "InvalidTrashBinLocationError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_TrashBinInCol2.py\", line 15, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 513, in load_trash_bin\n    addressable_area_name = validation.ensure_and_convert_trash_bin_location(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/validation.py\", line 331, in ensure_and_convert_trash_bin_location\n    raise InvalidTrashBinLocationError(\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_TrashBinInCol2.py\", line 15, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 522, in load_trash_bin\n    addressable_area_name = validation.ensure_and_convert_trash_bin_location(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/validation.py\", line 331, in ensure_and_convert_trash_bin_location\n    raise InvalidTrashBinLocationError(\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[89a255db0b][OT2_X_v2_18_None_None_StrRTPwith_unit].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[89a255db0b][OT2_X_v2_18_None_None_StrRTPwith_unit].json
index 7dd2a932a288..7a3002a3b2f2 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[89a255db0b][OT2_X_v2_18_None_None_StrRTPwith_unit].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[89a255db0b][OT2_X_v2_18_None_None_StrRTPwith_unit].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "TypeError [line 11]: ParameterContext.add_str() got an unexpected keyword argument 'unit'",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "TypeError: ParameterContext.add_str() got an unexpected keyword argument 'unit'",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "(\"ParameterContext.add_str() got an unexpected keyword argument 'unit'\",)",
-            "class": "TypeError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_18_None_None_StrRTPwith_unit.py\", line 11, in add_parameters\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "OT2_X_v2_18_None_None_StrRTPwith_unit.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nDeck calibration not found.\n/root/.opentrons/deck_calibration.json not found. Loading defaults\nError: TypeError [line 11]: ParameterContext.add_str() got an unexpected keyword argument 'unit'\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Str RTP with unit"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-2 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[9618a6623c][OT2_X_v2_11_P300S_TC1_TC2_ThermocyclerMoamError].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[9618a6623c][OT2_X_v2_11_P300S_TC1_TC2_ThermocyclerMoamError].json
index bdace9efaf6c..f5d5e4573f30 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[9618a6623c][OT2_X_v2_11_P300S_TC1_TC2_ThermocyclerMoamError].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[9618a6623c][OT2_X_v2_11_P300S_TC1_TC2_ThermocyclerMoamError].json
@@ -2680,7 +2680,7 @@
           "errorInfo": {
             "args": "('thermocyclerModuleV2 in slot 7 prevents thermocyclerModuleV1 from using slot 7.',)",
             "class": "DeckConflictError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_11_P300S_TC1_TC2_ThermocyclerMoamError.py\", line 19, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 814, in load_module\n    module_core = self._core.load_module(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/legacy/legacy_protocol_core.py\", line 333, in load_module\n    self._deck_layout[resolved_location] = geometry\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/legacy/deck.py\", line 186, in __setitem__\n    deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n    raise DeckConflictError(\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_11_P300S_TC1_TC2_ThermocyclerMoamError.py\", line 19, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 823, in load_module\n    module_core = self._core.load_module(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/legacy/legacy_protocol_core.py\", line 333, in load_module\n    self._deck_layout[resolved_location] = geometry\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/legacy/deck.py\", line 186, in __setitem__\n    deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n    raise DeckConflictError(\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[973fa979e6][Flex_S_v2_16_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[973fa979e6][Flex_S_v2_16_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json
index 7ce33092ad31..7ab498e0a361 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[973fa979e6][Flex_S_v2_16_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[973fa979e6][Flex_S_v2_16_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json
@@ -137,7 +137,7 @@
           "errorInfo": {
             "args": "()",
             "class": "AssertionError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_S_v2_16_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots.py\", line 13, in run\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_S_v2_16_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots.py\", line 13, in run\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a06502b2dc][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_description].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a06502b2dc][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_description].json
index fd0394ca3852..b844fcdebc24 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a06502b2dc][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_description].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a06502b2dc][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_description].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterNameError [line 84]: Description must be a string and at most 100 characters.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterNameError: Description must be a string and at most 100 characters.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('Description must be a string and at most 100 characters.',)",
-            "class": "ParameterNameError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_description.py\", line 84, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 152, in add_str\n    parameter = parameter_definition.create_str_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 241, in create_str_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 58, in __init__\n    self._description = validation.ensure_description(description)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 60, in ensure_description\n    raise ParameterNameError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_description.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterNameError [line 84]: Description must be a string and at most 100 characters.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Description Too Long 2.18"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a9557d762c][Flex_X_v2_16_NO_PIPETTES_AccessToFixedTrashProp].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a9557d762c][Flex_X_v2_16_NO_PIPETTES_AccessToFixedTrashProp].json
index 246e3a98216a..6ce76d78f4f1 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a9557d762c][Flex_X_v2_16_NO_PIPETTES_AccessToFixedTrashProp].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[a9557d762c][Flex_X_v2_16_NO_PIPETTES_AccessToFixedTrashProp].json
@@ -28,7 +28,7 @@
           "errorInfo": {
             "args": "('Fixed Trash is not supported on Flex protocols in API Version 2.16 and above.',)",
             "class": "APIVersionError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_AccessToFixedTrashProp.py\", line 15, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 1118, in fixed_trash\n    raise APIVersionError(\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_AccessToFixedTrashProp.py\", line 15, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 1127, in fixed_trash\n    raise APIVersionError(\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[b806f07be9][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_value].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[b806f07be9][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_value].json
index 04e274d2ef4f..d7f6c43538e5 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[b806f07be9][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_value].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[b806f07be9][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_value].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterDefinitionError [line 62]: All choices provided must be of type 'str'",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterDefinitionError: All choices provided must be of type 'str'",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "(\"All choices provided must be of type 'str'\",)",
-            "class": "ParameterDefinitionError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_value.py\", line 62, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 152, in add_str\n    parameter = parameter_definition.create_str_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 241, in create_str_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 73, in __init__\n    validation.validate_options(default, minimum, maximum, choices, parameter_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 264, in validate_options\n    _validate_choices(minimum, maximum, choices, parameter_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 191, in _validate_choices\n    raise ParameterDefinitionError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_choice_value.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterDefinitionError [line 62]: All choices provided must be of type 'str'\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Description Too Long 2.18"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c1c04baffd][Flex_S_v2_17_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c1c04baffd][Flex_S_v2_17_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json
index a04aaad78f33..b384c0eabcef 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c1c04baffd][Flex_S_v2_17_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c1c04baffd][Flex_S_v2_17_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json
@@ -137,7 +137,7 @@
           "errorInfo": {
             "args": "()",
             "class": "AssertionError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_S_v2_17_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots.py\", line 13, in run\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_S_v2_17_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots.py\", line 13, in run\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c9e6e3d59d][OT2_X_v4_P300M_P20S_MM_TC1_TM_e2eTests].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c9e6e3d59d][OT2_X_v4_P300M_P20S_MM_TC1_TM_e2eTests].json
index cbbef937c618..61a7b8d92367 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c9e6e3d59d][OT2_X_v4_P300M_P20S_MM_TC1_TM_e2eTests].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[c9e6e3d59d][OT2_X_v4_P300M_P20S_MM_TC1_TM_e2eTests].json
@@ -6965,7 +6965,7 @@
           "errorInfo": {
             "args": "('Cannot aspirate more than pipette max volume',)",
             "class": "AssertionError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/task_queue.py\", line 84, in _run\n    await self._run_func()\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/task_queue.py\", line 61, in _do_run\n    await func(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/protocol_runner.py\", line 224, in run_func\n    await self._protocol_executor.execute(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/python_protocol_wrappers.py\", line 155, in execute\n    await to_thread.run_sync(\n\n  File \"/usr/local/lib/python3.10/site-packages/anyio/to_thread.py\", line 33, in run_sync\n    return await get_asynclib().run_sync_in_worker_thread(\n\n  File \"/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py\", line 877, in run_sync_in_worker_thread\n    return await future\n\n  File \"/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py\", line 807, in run\n    result = context.run(func, *args)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute.py\", line 63, in run_protocol\n    execute_json_v4.dispatch_json(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_json_v4.py\", line 272, in dispatch_json\n    pipette_command_map[command_type](  # type: ignore\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_json_v3.py\", line 159, in _aspirate\n    pipette.aspirate(volume, location)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/instrument_context.py\", line 272, in aspirate\n    self._core.aspirate(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py\", line 119, in aspirate\n    new_volume <= self._pipette_dict[\"working_volume\"]\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/task_queue.py\", line 84, in _run\n    await self._run_func()\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/task_queue.py\", line 61, in _do_run\n    await func(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/protocol_runner.py\", line 235, in run_func\n    await self._protocol_executor.execute(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/python_protocol_wrappers.py\", line 156, in execute\n    await to_thread.run_sync(\n\n  File \"/usr/local/lib/python3.10/site-packages/anyio/to_thread.py\", line 33, in run_sync\n    return await get_asynclib().run_sync_in_worker_thread(\n\n  File \"/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py\", line 877, in run_sync_in_worker_thread\n    return await future\n\n  File \"/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py\", line 807, in run\n    result = context.run(func, *args)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute.py\", line 58, in run_protocol\n    execute_json_v4.dispatch_json(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_json_v4.py\", line 272, in dispatch_json\n    pipette_command_map[command_type](  # type: ignore\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_json_v3.py\", line 159, in _aspirate\n    pipette.aspirate(volume, location)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/instrument_context.py\", line 272, in aspirate\n    self._core.aspirate(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/legacy_simulator/legacy_instrument_core.py\", line 119, in aspirate\n    new_volume <= self._pipette_dict[\"working_volume\"]\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d6026e11c5][OT2_X_v2_7_P300S_TwinningError].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d6026e11c5][OT2_X_v2_7_P300S_TwinningError].json
index a67595aa67c6..145790291e5e 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d6026e11c5][OT2_X_v2_7_P300S_TwinningError].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d6026e11c5][OT2_X_v2_7_P300S_TwinningError].json
@@ -2714,7 +2714,7 @@
             "class": "AttributeError",
             "name": "pair_with",
             "obj": "P300 Single-Channel GEN2 on left mount",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_7_P300S_TwinningError.py\", line 23, in run\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"OT2_X_v2_7_P300S_TwinningError.py\", line 23, in run\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d8cb88b3b2][Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d8cb88b3b2][Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle].json
index bcd9c8951194..8f91eefd658a 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d8cb88b3b2][Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[d8cb88b3b2][Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle].json
@@ -3512,7 +3512,7 @@
           "errorInfo": {
             "args": "('Nozzle layout configuration of style SINGLE is currently unsupported.',)",
             "class": "ValueError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle.py\", line 16, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/instrument_context.py\", line 1961, in configure_nozzle_layout\n    raise ValueError(\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_S_v2_16_P1000_96_TC_PartialTipPickupSingle.py\", line 16, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/instrument_context.py\", line 1988, in configure_nozzle_layout\n    raise ValueError(\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de4249ddfb][Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de4249ddfb][Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict].json
index e367d7faa2d2..e0585037d2a9 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de4249ddfb][Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[de4249ddfb][Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict].json
@@ -137,7 +137,7 @@
           "errorInfo": {
             "args": "('thermocyclerModuleV2 in slot B1 prevents trash bin from using slot A1.',)",
             "class": "DeckConflictError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict.py\", line 13, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 518, in load_trash_bin\n    trash_bin = self._core.load_trash_bin(slot_name, addressable_area_name)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 528, in load_trash_bin\n    self._add_disposal_location_to_engine(trash_bin)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 148, in _add_disposal_location_to_engine\n    deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n    wrapped_deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n    raise DeckConflictError(\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_16_NO_PIPETTES_TC_TrashBinAndThermocyclerConflict.py\", line 13, in run\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/api_support/util.py\", line 383, in _check_version_wrapper\n    return decorated_obj(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/protocol_context.py\", line 527, in load_trash_bin\n    trash_bin = self._core.load_trash_bin(slot_name, addressable_area_name)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 528, in load_trash_bin\n    self._add_disposal_location_to_engine(trash_bin)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/protocol.py\", line 148, in _add_disposal_location_to_engine\n    deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/core/engine/deck_conflict.py\", line 203, in check\n    wrapped_deck_conflict.check(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/motion_planning/deck_conflict.py\", line 210, in check\n    raise DeckConflictError(\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e42e36e3ca][OT2_X_v2_13_None_None_PythonSyntaxError].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e42e36e3ca][OT2_X_v2_13_None_None_PythonSyntaxError].json
index 238873d6edbe..3da6a4035962 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e42e36e3ca][OT2_X_v2_13_None_None_PythonSyntaxError].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e42e36e3ca][OT2_X_v2_13_None_None_PythonSyntaxError].json
@@ -1,89 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      13
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "No module named 'superspecialmagic'",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "UnexpectedProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "ModuleNotFoundError: No module named 'superspecialmagic'",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "(\"No module named 'superspecialmagic'\",)",
-            "class": "ModuleNotFoundError",
-            "msg": "No module named 'superspecialmagic'",
-            "name": "superspecialmagic",
-            "path": "None",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/task_queue.py\", line 84, in _run\n    await self._run_func()\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/task_queue.py\", line 61, in _do_run\n    await func(*args, **kwargs)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/protocol_runner.py\", line 224, in run_func\n    await self._protocol_executor.execute(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_runner/python_protocol_wrappers.py\", line 155, in execute\n    await to_thread.run_sync(\n\n  File \"/usr/local/lib/python3.10/site-packages/anyio/to_thread.py\", line 33, in run_sync\n    return await get_asynclib().run_sync_in_worker_thread(\n\n  File \"/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py\", line 877, in run_sync_in_worker_thread\n    return await future\n\n  File \"/usr/local/lib/python3.10/site-packages/anyio/_backends/_asyncio.py\", line 807, in run\n    result = context.run(func, *args)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute.py\", line 40, in run_protocol\n    run_python(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 95, in run_python\n    exec(proto.contents, new_globs)\n\n  File \"OT2_X_v2_13_None_None_PythonSyntaxError.py\", line 4, in <module>\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "OT2_X_v2_13_None_None_PythonSyntaxError.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
-    }
-  ],
-  "labware": [
-    {
-      "definitionUri": "opentrons/opentrons_1_trash_1100ml_fixed/1",
-      "loadName": "opentrons_1_trash_1100ml_fixed",
-      "location": {
-        "slotName": "12"
-      }
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nDeck calibration not found.\n/root/.opentrons/deck_calibration.json not found. Loading defaults\nError: No module named 'superspecialmagic'\n"
     }
   ],
+  "files": [],
+  "labware": [],
   "liquids": [],
-  "metadata": {
-    "apiLevel": "2.13",
-    "author": "Opentrons Engineering <engineering@opentrons.com>",
-    "description": "import superspecialmagic",
-    "protocolName": "bad import",
-    "source": "Software Testing Team"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-2 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e496fec176][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_default].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e496fec176][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_default].json
index 4bb8dc2ba418..069496c6d0b5 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e496fec176][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_default].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[e496fec176][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_default].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterValueError [line 73]: Parameter default 6 has type 'int', but must be of type 'str'.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterValueError: Parameter default 6 has type 'int', but must be of type 'str'.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "(\"Parameter default 6 has type 'int', but must be of type 'str'.\",)",
-            "class": "ParameterValueError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_default.py\", line 73, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 152, in add_str\n    parameter = parameter_definition.create_str_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 241, in create_str_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 73, in __init__\n    validation.validate_options(default, minimum, maximum, choices, parameter_type)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 253, in validate_options\n    raise ParameterValueError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_default.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterValueError [line 73]: Parameter default 6 has type 'int', but must be of type 'str'.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Description Too Long 2.18"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f639acc89d][Flex_S_v2_15_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f639acc89d][Flex_S_v2_15_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json
index f2c22e7db812..4ad7c6779144 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f639acc89d][Flex_S_v2_15_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f639acc89d][Flex_S_v2_15_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots].json
@@ -137,7 +137,7 @@
           "errorInfo": {
             "args": "()",
             "class": "AssertionError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 124, in run_python\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_S_v2_15_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots.py\", line 13, in run\n"
+            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 147, in exec_run\n    exec(\"run(__context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_S_v2_15_NO_PIPETTES_TC_verifyThermocyclerLoadedSlots.py\", line 13, in run\n"
           },
           "errorType": "PythonException",
           "wrappedErrors": []
diff --git a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f88b7d6e30][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_display_name].json b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f88b7d6e30][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_display_name].json
index f39ac142b594..31f5d56e96e6 100644
--- a/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f88b7d6e30][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_display_name].json
+++ b/app-testing/tests/__snapshots__/analyses_snapshot_test/test_analysis_snapshot[f88b7d6e30][Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_display_name].json
@@ -1,74 +1,18 @@
 {
-  "commands": [
-    {
-      "commandType": "home",
-      "notes": [],
-      "params": {},
-      "result": {},
-      "status": "succeeded"
-    }
-  ],
-  "config": {
-    "apiVersion": [
-      2,
-      18
-    ],
-    "protocolType": "python"
-  },
+  "commands": [],
+  "config": {},
   "errors": [
     {
-      "detail": "ParameterNameError [line 30]: Display name must be a string and at most 30 characters.",
-      "errorCode": "4000",
-      "errorInfo": {},
-      "errorType": "ExceptionInProtocolError",
-      "wrappedErrors": [
-        {
-          "detail": "opentrons.protocols.parameters.types.ParameterNameError: Display name must be a string and at most 30 characters.",
-          "errorCode": "4000",
-          "errorInfo": {
-            "args": "('Display name must be a string and at most 30 characters.',)",
-            "class": "ParameterNameError",
-            "traceback": "  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/execution/execute_python.py\", line 80, in _parse_and_set_parameters\n    exec(\"add_parameters(__param_context)\", new_globs)\n\n  File \"<string>\", line 1, in <module>\n\n  File \"Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_display_name.py\", line 30, in add_parameters\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocol_api/_parameter_context.py\", line 56, in add_int\n    parameter = parameter_definition.create_int_parameter(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 178, in create_int_parameter\n    return ParameterDefinition(\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/parameter_definition.py\", line 56, in __init__\n    self._display_name = validation.ensure_display_name(display_name)\n\n  File \"/usr/local/lib/python3.10/site-packages/opentrons/protocols/parameters/validation.py\", line 33, in ensure_display_name\n    raise ParameterNameError(\n"
-          },
-          "errorType": "PythonException",
-          "wrappedErrors": []
-        }
-      ]
-    }
-  ],
-  "files": [
-    {
-      "name": "Flex_X_v2_18_NO_PIPETTES_Overrides_BadTypesInRTP_Override_wrong_type_in_display_name.py",
-      "role": "main"
-    },
-    {
-      "name": "cpx_4_tuberack_100ul.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_1000ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_200ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "opentrons_ot3_96_tiprack_50ul_rss.json",
-      "role": "labware"
-    },
-    {
-      "name": "sample_labware.json",
-      "role": "labware"
+      "analysis_execution_time": null,
+      "command_exit_code": 1,
+      "command_output": "/root/.opentrons/robot_settings.json not found. Loading defaults\n/root/.opentrons/robot_settings.json not found. Loading defaults\nBelt calibration not found.\nError: ParameterNameError [line 30]: Display name must be a string and at most 30 characters.\nfrom_conf {} default {<InstrumentProbeType.PRIMARY: 1>: '/data/pressure_sensor_data.csv'}\nresult {}\n"
     }
   ],
+  "files": [],
   "labware": [],
   "liquids": [],
-  "metadata": {
-    "protocolName": "Description Too Long 2.18"
-  },
+  "metadata": [],
   "modules": [],
   "pipettes": [],
-  "robotType": "OT-3 Standard",
   "runTimeParameters": []
 }