Skip to main content
For every method’s inputs, return values, and language differences, see the filesystem method reference.
Evolve exposes three file surfaces. They answer different questions.

Open a run’s filesystem

The same methods are available from:

What source will answer?

Omit source to prefer live files, then a capture. A missing required source raises filesystem_state.
A captured listing can include unchanged image files whose bytes were not saved. Check entry.captured; reading one with no stored bytes raises not_captured. A capture is not a complete disk image.
These paths are examples. Use status.work_dir and a listing to find the run’s actual files. TypeScript search takes {q, ...}; Python takes q as its first argument. Change phases are setup, agent, verifier, or all. Byte ranges: TypeScript {range: {start, end}} or {range: {suffix}}; Python start=, end=, or suffix=. End is inclusive. Suffix selects the last N bytes. List/change pages default to 500 rows; search defaults to 200. Their maximum is 1,000. A truncated search should be narrowed before treating it as complete.

Follow changes and logs

watch(paths) registers up to eight folders. events() yields filesystem, state, and heartbeat frames. Log streams are agent, verifier, system, setup, and metrics. System logs require system_log at job creation. A stream can be empty with a reason; reserved or unavailable streams do not imply missing agent work. Filesystem and log event streams connect once. To reconnect, retain the last event id and pass lastEventId / last_event_id. TypeScript also accepts signal. This is separate from the automatic reconnect behavior of jobs.watch().

Task package files

The dataset reference must pin a version. This client provides status(), list(), and read(path). List options are path, cursor, and limit: one object in TypeScript, keyword arguments in Python. Reads accept the same byte-range options as above. There is no live source, process list, or log stream.

Download options

Dataset, job, analysis, and check downloads use the same delivery choices. Run-filesystem archive() does too. to is a directory. The client chooses the archive filename from the response and returns the saved path. Buffer/bytes and saved-file downloads check declared length and digest when supplied. Saved files appear at their final path only after verification. TypeScript raw streams leave integrity checking to the caller.