use *;
use tempdir;
/// The coding_agent built-in runners are only reachable through the facade
/// (`register_tool` returns a tool name, not the runner), so the fixture drives
/// the "lua" runner via `coding_agent._test_helpers()` and asserts the
/// `{ok, stdout, stderr, exit_code}` contract compile_loop depends on.
///
/// CWD is the repository root so `require("coding_agent")` resolves from
/// `project_root/blocks/` — the facade lives in the top-level `blocks/` dir and
/// is not one of the embedded blocks.
///
/// The fixture needs a standalone `lua` interpreter for the pass/fail cases.
/// Where none is installed it prints `SKIP_NO_LUA` and asserts only the
/// spawn-failure shape; the marker makes that visible instead of silently
/// reporting green on an untested path.
///
/// Scratch files go in a per-run tempdir handed over in `RUNNER_SCRATCH_DIR`
/// (same pattern as `AGENT_BLOCK_HOME` in `e2e_build_tools_extra.rs`): fixed
/// `/tmp` names would race a concurrent run and collide with files owned by
/// another user on a shared machine.