Skip to content

The parts of verlet

verlet is three programs that work together, plus an optional profiler. You install the app; it brings verlet-agent and puts verletrc on remote machines when you add them.

your computer a remote machine
┌────────────────────────────┐ ┌──────────────────────┐
│ verlet app ── verlet-agent ├──── SSH ────┤ verletrc ── engine │
└────────────────────────────┘ └──────────────────────┘
verlet appverlet-agentverletrc
What it isThe desktop windowThe service that does the workThe remote control on each remote machine
Runs onYour computerYour computerEach remote machine you add
Started byYouThe appverlet-agent, over SSH
KeepsNothing of its ownYour simulations, versions, runs and settingsThe runs and builds on that machine

The window you work in: simulations and versions, the script editor, runs with their live charts, environments, executables and the agent.

The app holds no data; everything it shows comes from verlet-agent. It starts the bundled verlet-agent when it opens and stops it when you quit, asking first if runs are going: local runs stop with it, remote ones keep going. It can also connect to a verlet-agent you started yourself, on this computer or elsewhere.

A service on your computer, listening on 127.0.0.1 only, shipped with its own runtime.

  • Keeps your history. Simulations, runs, environments, executables and settings in one SQLite file; each simulation’s versions in a git repository of its own.
  • Runs checks and local runs, with the same live charts as remote ones.
  • Reaches remote machines with your own OpenSSH, installs and starts verletrc, forwards a port to it, and reconnects on its own when the connection drops.
  • Runs the agent that drafts inputs from its documentation index and checks them with your executable. It talks to the model API you configure, and to the web only when the agent searches during a draft.
  • Profiles runs on Linux by starting verlet-probe beside them.

verlet-agent is the whole service; the AI assistant is one thing it does. It also runs without the app: see the configuration.

A small service on each remote machine, running as you from ~/.verlet. verlet-agent puts it there the first time you connect: it checks the machine, copies verletrc with its runtime, and starts it. No root, nothing outside your home.

  • Runs simulations detached, so a run survives a sleeping laptop or a dropped connection, and finds its runs again after a restart.
  • Watches them, reading the log as it grows and keeping an event log so verlet-agent catches up after a reconnect.
  • Scans and builds. Finds engine executables, compilers and MPI, and builds the engine with Spack inside ~/.verlet when asked.
  • Stays private. Listens on loopback only, on a port it picks, and answers only requests carrying the token it writes to ~/.verlet/run at each start.
  • Looks after itself. Upgraded by verlet-agent when the app brings a newer one, runs carrying on through the upgrade; stops after 24 hours with no connection and nothing running.

Deleting ~/.verlet removes everything verlet put on a machine.

An eBPF profiler for Linux, started beside each MPI rank of a run you profile. The app merges what the probes sampled into one flame graph. See Profile a run.