API

Following a run

progress returns a phase. Poll it about every 10 seconds — that is what the app’s own screen does — and stop when the phase is one of the terminal ones. heartbeatAgeSeconds is how long since the machine doing the work last checked in; it is only set while something is actually running, and a number climbing past a minute or two is the signal that a run is in trouble rather than merely slow.

phaseStop?Meaning
uploadingnoThe bytes are still arriving. Nothing is queued yet, and that is correct.
not-dispatchedyesNothing was ever queued for this broadcast. An upload that never finished — start again.
queuednoWaiting for a machine. The queue is swept once a minute, so this can sit for that long.
startingnoA machine is being brought up. It has not picked the job up yet.
analysingnoRunning. The only phase with a heartbeat: `heartbeatAgeSeconds` is how long since the machine last checked in.
retryingnoThe machine stopped answering or was refused, and another is being tried. `generation` counts the attempts.
loadingnoThe run finished and its results are being read in. Nearly done.
doneyesFinished. The timeline is readable.
failedyesIt will not finish. Nothing to wait for.
cancelledyesStopped because it was asked to stop.

There is no percentage and no estimate, because there is no honest one to give: the analyser is a single opaque run that reports nothing from inside itself, and the measured read rate varies by nearly three times across broadcasts. The phases are what is actually known.

Something here wrong or missing? Tell us — it is the kind of bug nobody reports.Back to KAIROS

KAIROS needs one cookie to keep you signed in, and remembers your light/dark choice. May we also measure which adverts bring people here, and which parts of the app get used? Those set a Google advertising cookie and a PostHog one, and refusing changes nothing about the product.

Privacy