pome run is the core workflow: it loads a task markdown file (or every .md in a
directory), boots the matching twin, spawns your agent with injected environment
variables, records the trace, and scores the result against the acceptance criteria.
Hosted is the default — runs are recorded and scored on app.pome.sh. Use
pome run --local to run against the in-process local twin (GitHub, Stripe, or
Slack depending on the task): it records the trace but does not score —
evaluation is a hosted feature.
Usage
Arguments
Options
Environment variables
Pome injects these into the agent process during a run:
For hosted Stripe runs, Pome may also set
POME_STRIPE_API_BASE and
POME_STRIPE_API_KEY instead of the generic twin URL pattern.
Use pome run --local to run against the local in-process twin and skip hosted
auth — it records a trace but does not score (evaluation is a hosted
feature).
POME_LOCAL=1 is the internal escape hatch that runs locally and scores
(used by pome matrix).
Examples
Output
Each run writes artifacts underruns/<task>/<run-id>/:
events.jsonl— canonical event stream (TwinHttpEvent,LlmCallEvent, etc.)score.json— per-criterion verdicts and aggregate satisfaction score. Not written for--localruns (evaluation is hosted;--localcaptures the trace only).state_initial.json/state_final.json— twin state before and after the agent
cloud: URL to the dashboard.