pome run is the core workflow: load a scenario markdown file (or every .md in a
directory), boot the matching twin, spawn your agent with injected environment
variables, record the trace, and score acceptance criteria.
Hosted is the default — runs are recorded on app.pome.sh. Set POME_LOCAL=1 to
use the in-process local twin (GitHub, Stripe, or Slack depending on the scenario).
Usage
Arguments
| Argument | Required | Description |
|---|---|---|
<path> | Yes | Path to a scenario .md file or a directory. Directories run every .md file inside, in sorted order. |
Options
| Flag | Default | Description |
|---|---|---|
--agent <command> | pome.config.json → examples/agents/scripted-triage-agent.ts | Shell command Pome spawns as the agent process. |
--artifacts-dir <dir> | runs | Where to write per-run artifacts (events.jsonl, score.json, state snapshots). |
--api-url <url> | POME_API_URL or https://api.pome.sh | Control-plane base URL for hosted runs. |
--agent-model <name> | unknown | Informational model name recorded on the cloud run. |
--no-fix-prompt | off | Skip CLI-side LLM fix-prompt generation. Submits fix_prompt: null to save tokens on bulk runs. |
--no-capture | off | Self-host only. Skip the capture-server child and do not inject HTTP_PROXY / HTTPS_PROXY into the agent. No-op on hosted runs. |
--hosted | — | Deprecated no-op. Hosted is now the default. Kept for one release so existing scripts do not break. |
Environment variables
Pome injects these into the agent process during a run:| Variable | When |
|---|---|
POME_TASK | Always. The scenario prompt from ## Prompt. |
POME_<TWIN>_REST_URL | Always. Session-scoped REST root (GITHUB, STRIPE, or SLACK). |
POME_<TWIN>_MCP_URL | Always. MCP transport endpoint for the active twin. |
POME_AUTH_TOKEN | Always. Short-lived JWT for twin session auth. |
POME_RUN_ID | Always. Unique run identifier. |
POME_ARTIFACTS_DIR | Always. Per-run artifact directory path. |
POME_ADAPTER_SIGNALS_PATH | When the agent adapter writes supplemental signals. |
HTTP_PROXY / HTTPS_PROXY | Hosted and local capture-on runs. Agent outbound traffic flows through the capture-server. |
NO_PROXY | Set to 127.0.0.1,localhost so twin traffic stays in-process. |
POME_PREFLIGHT=1 | During agent preflight. Your agent should exit 0 immediately without doing work. |
POME_STRIPE_API_BASE and
POME_STRIPE_API_KEY instead of the generic twin URL pattern.
Set POME_LOCAL=1 before pome run to use the local in-process twin and skip
hosted auth.
Examples
Output
Each run writes artifacts underruns/<scenario>/<run-id>/:
events.jsonl— canonical event stream (TwinHttpEvent,LlmCallEvent, etc.)score.json— per-criterion verdicts and aggregate satisfaction scorestate_initial.json/state_final.json— twin state before and after the agent
cloud: URL to the dashboard.