State passed between autoresearch pipeline phases.
| 110 | |
| 111 | @dataclass |
| 112 | class RunContext: |
| 113 | """State passed between autoresearch pipeline phases.""" |
| 114 | |
| 115 | args: Any # Args (avoid circular import) |
| 116 | drivers: list[str] |
| 117 | json_rpc_commands: list[dict[str, Any]] |
| 118 | expect_keywords: list[str] |
| 119 | fail_keywords: list[str] |
| 120 | timeout_seconds: float |
| 121 | build_dir: Path |
| 122 | |
| 123 | # Mode flags |
| 124 | simd_test_mode: bool |
| 125 | coroutine_test_mode: bool |
| 126 | net_server_mode: bool |
| 127 | net_client_mode: bool |
| 128 | net_loopback_mode: bool |
| 129 | ota_mode: bool |
| 130 | ble_mode: bool |
| 131 | decode_mode: bool |
| 132 | gpio_only_mode: bool |
| 133 | parallel_mode: bool |
| 134 | |
| 135 | # Resolved after port/environment detection |
| 136 | final_environment: str | None = None |
| 137 | upload_port: str | None = None |
| 138 | use_fbuild: bool = False |
| 139 | |
| 140 | # Build driver (set during _resolve_port_and_environment) |
| 141 | build_driver: BuildDriver | None = None |
| 142 | |
| 143 | # Set during pin setup |
| 144 | serial_iface: Any = None |
| 145 | crash_decoder: Any = None |
| 146 | effective_tx_pin: int | None = None |
| 147 | effective_rx_pin: int | None = None |
| 148 | discovery_client: Any = None |
| 149 | pins_discovered: bool = False |
| 150 | |
| 151 | |
| 152 | # ============================================================ |
no outgoing calls