# TOOL-EXEC Runner Stub (ERA) This document describes the current behavior and limitations of the initial TOOL-EXEC runner. ## What It Does Now - Validates Tool Requests (`tools/validate_tool_request.py`) - Enforces network=none - Executes a single command using `tool-exec/era/era-wrapper.sh` - Captures stdout/stderr - Emits a schema-conforming Tool Result Markdown + stdout/stderr artifacts ## What It Intentionally Does Not Do Yet - Mount `/in` and `/out` into the guest - Support file-based inputs/outputs - Allow network allowlists - Enforce CPU/memory/time limits (future work) - Persist anything between runs ## How to Run (from repo root) ```sh chmod +x tool-exec/era/era-wrapper.sh chmod +x tool-exec/era/run_tool_request.py # Ensure python can find tools/ export PYTHONPATH="$(pwd)" # Run a request (see examples below) python3 tool-exec/era/run_tool_request.py \ --request tool-exec/examples/TR-hello-python.md \ --results-dir infra/volumes/tool-exec/results_out