LICENSE
README.md
pyproject.toml
src/reacher/__init__.py
src/reacher/__main__.py
src/reacher/child_env.py
src/reacher/device_id.py
src/reacher/discovery.py
src/reacher/machines.py
src/reacher/monitor.py
src/reacher/pairing.py
src/reacher/pin_overrides.py
src/reacher/pump_target.py
src/reacher/schema.py
src/reacher/session_manager.py
src/reacher/api/__init__.py
src/reacher/api/app.py
src/reacher/api/middleware/__init__.py
src/reacher/api/middleware/auth.py
src/reacher/api/middleware/logging.py
src/reacher/api/routers/__init__.py
src/reacher/api/routers/data.py
src/reacher/api/routers/discovery.py
src/reacher/api/routers/file.py
src/reacher/api/routers/firmware.py
src/reacher/api/routers/hardware.py
src/reacher/api/routers/issues.py
src/reacher/api/routers/lifecycle.py
src/reacher/api/routers/logs.py
src/reacher/api/routers/pairing.py
src/reacher/api/routers/program.py
src/reacher/api/routers/proxy.py
src/reacher/api/routers/serial.py
src/reacher/api/routers/session.py
src/reacher/api/routers/update.py
src/reacher/api/routers/validate.py
src/reacher/api/routers/validators.py
src/reacher/api/routers/websocket.py
src/reacher/diagnostics/__init__.py
src/reacher/diagnostics/bridge.py
src/reacher/diagnostics/context.py
src/reacher/diagnostics/excerpt.py
src/reacher/diagnostics/redact.py
src/reacher/diagnostics/schema.py
src/reacher/diagnostics/setup.py
src/reacher/diagnostics/sink.py
src/reacher/hex/mega/fr.hex
src/reacher/hex/mega/omission.hex
src/reacher/hex/mega/pavlovian.hex
src/reacher/hex/mega/pr.hex
src/reacher/hex/mega/vi.hex
src/reacher/hex/uno/fr.hex
src/reacher/hex/uno/fr_lite.hex
src/reacher/hex/uno/omission.hex
src/reacher/hex/uno/omission_lite.hex
src/reacher/hex/uno/pavlovian.hex
src/reacher/hex/uno/pr.hex
src/reacher/hex/uno/pr_lite.hex
src/reacher/hex/uno/vi.hex
src/reacher/hex/uno/vi_lite.hex
src/reacher/issues/__init__.py
src/reacher/issues/prefill.py
src/reacher/kernel/__init__.py
src/reacher/kernel/commands.py
src/reacher/kernel/reacher.py
src/reacher/kernel/simulator.py
src/reacher/mcp/__init__.py
src/reacher/mcp/__main__.py
src/reacher/mcp/runner.py
src/reacher/mcp/schema_client.py
src/reacher/mcp/server.py
src/reacher/mcp/workspace.py
src/reacher/mcp/checks/__init__.py
src/reacher/mcp/checks/commands.py
src/reacher/mcp/checks/pins.py
src/reacher/mcp/checks/registry.py
src/reacher/mcp/sources/__init__.py
src/reacher/mcp/sources/ts.py
src/reacher/uploader/__init__.py
src/reacher/uploader/boards.py
src/reacher/uploader/uploader.py
src/reacher2p.egg-info/PKG-INFO
src/reacher2p.egg-info/SOURCES.txt
src/reacher2p.egg-info/dependency_links.txt
src/reacher2p.egg-info/entry_points.txt
src/reacher2p.egg-info/requires.txt
src/reacher2p.egg-info/top_level.txt
tests/test_api.py
tests/test_auth_token.py
tests/test_browser_gate.py
tests/test_child_env.py
tests/test_command_parity.py
tests/test_commands.py
tests/test_device_names.py
tests/test_external_trigger.py
tests/test_external_trigger_contract.py
tests/test_external_trigger_stress.py
tests/test_firmware_parity.py
tests/test_frontend_parity.py
tests/test_frontend_parity_ext_trigger.py
tests/test_frontend_parity_negatives.py
tests/test_issues.py
tests/test_lifecycle.py
tests/test_logging.py
tests/test_mcp_checks.py
tests/test_mcp_server.py
tests/test_mcp_workspace.py
tests/test_multimachine.py
tests/test_pin_overrides.py
tests/test_program_start_guard.py
tests/test_pump_target.py
tests/test_schema.py
tests/test_session_manager.py
tests/test_timeout_mode.py
tests/test_timeout_mode_e2e.py
tests/test_uploader.py
tests/test_uploader_avrdude.py
tests/test_uploader_e2e_qa.py
tests/test_validate.py
tests/test_websocket.py