# src/miniweb/evaluation/ Runs browser agents on the annotated MiniWeb tasks and grades them. The harness is [browser-use](https://github.com/browser-use/browser-use). Grading (LLM macro judge by default, per-task verifier alongside) is described in [docs/VERIFIER_DESIGN.md](../docs/VERIFIER_DESIGN.md). Use the conda env: `~/.conda/envs/miniweb/bin/python` (written `python` below). Gemini judge calls need Vertex credentials in `.env`. ## Files | File | Role | |---|---| | `run_agent_verify.py` | One agent on one task: start a MiniWeb server, run the agent, collect the trajectory, grade it, write the artifacts. | | `run_study.py` | A study from one config: N models x M tasks x repeats, with parallel workers, resume and a summary. | | `agents.py` | `AgentRunner` protocol, `BrowserUseAgent`, `MockAgent` (no LLM, no browser), `ChatLLM` (routes the agent through `helpers.llm`), `build_agent(model)` factory and `MODEL_ALIASES`. | | `macro_judge.py` | The LLM macro judge (default grader); also a CLI to judge a whole study. | | `verifiers.py`, `evidence_checks.py` | The deterministic verifier: `verify_task` and the check types. | | `trajectory.py` | `merge_server_log` (adds the server request log to the recorder stream), `filter_log_to_window`, `extract_final_reasoning`. | | `server.py` | Start, wait for and stop a MiniWeb server on a port. | | `xray.py` | Web viewer for result folders. | | `generate_fixtures.py` | Lists the real files of the simulated file system (`src/miniweb/filesystem/`) that uploads use. | | `configs/` | Study configs. `qwen35_4b_all_x3.json` is the current reference config. | | `results/` | Run outputs (git-ignored). | ## One task ```bash python src/miniweb/evaluation/run_agent_verify.py --task-id crm_bf9346 --model mock --grader verifier # pipeline smoke test, no LLM python src/miniweb/evaluation/run_agent_verify.py --task-id banking_357033 --model gemini-flash --obs visual python src/miniweb/evaluation/run_agent_verify.py --task-id qa-knowledge_471ddc --no-headless # watch the browser ``` | Flag | Default | Meaning | |---|---|---| | `--task-id` | (required) | `` or `/` | | `--model` | `gemini-flash` | model id, an alias from `agents.MODEL_ALIASES`, or `mock` | | `--obs` | `axtree` | `visual` = screenshots (`use_vision=True`); `axtree` / `html` = browser-use's text DOM | | `--native-llm` | off | use browser-use's provider-native LLM class instead of `ChatLLM` | | `--start-from` | `recorded` | `recorded` = first page of the human recording; `starting_url` = the task's field | | `--grader` | `judge` | `judge` = macro judge decides, verifier reported; `verifier` = verifier only | | `--port` | `8099` | server port | | `--max-steps`, `--timeout` | `50`, `300` | step and wall-clock limits | | `--no-headless` | off | show the browser | | `--out` | `src/miniweb/evaluation/results/agentverify___