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 app | verlet-agent | verletrc | |
|---|---|---|---|
| What it is | The desktop window | The service that does the work | The remote control on each remote machine |
| Runs on | Your computer | Your computer | Each remote machine you add |
| Started by | You | The app | verlet-agent, over SSH |
| Keeps | Nothing of its own | Your simulations, versions, runs and settings | The runs and builds on that machine |
The verlet app
Section titled “The verlet app”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.
verlet-agent
Section titled “verlet-agent”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.
verletrc
Section titled “verletrc”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
~/.verletwhen asked. - Stays private. Listens on loopback only, on a port it picks, and answers only requests
carrying the token it writes to
~/.verlet/runat 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.
verlet-probe
Section titled “verlet-probe”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.