Ways in

The CLI

The commands you use, what each is for, and the flags it takes.

Every command explains itself with --help. The flags below are read from the command line tool itself, so this page cannot list one that does not exist.

Account

  • trialone login

    Connect this terminal to your account. The key is checked before it is saved.

    --no-browser--paste

  • trialone whoami

    Which account this terminal is connected to, and whether it is approved.

  • trialone update

    Install the newest version in one step.

What changed in each version, and what reads differently after an upgrade, is in the changelog.

Diagnose and prove

  • trialone diagnose <recording>

    Find the fault in one recording, say what is wrong and how to repair it, routed to the right person.

    --description--explain--full--group-col--healthy--healthy-label--history--json--label-col--machine--max-false-alarm--max-faults--no-explain--no-push--no-upload-raw--out--project--push--robot-hint--state--symptom--time-col--upload-raw

  • trialone verify <diagnosis.json> <new recording>

    Measure a new recording against an earlier diagnosis and rule per finding.

    --group-col--healthy--json--max-false-alarm--no-push--push

  • trialone push <diagnosis.json>

    Send a diagnosis that is already on disk to your account, without analysing again.

    --machine

  • trialone fix <diagnosis.json>

    Hand a finished diagnosis to a coding agent on this machine, after asking.

    --agent--yes

  • trialone mark

    Say that something just went wrong, now or about a recording, and get one page back.

    --json--robot

On the robot

  • trialone watch

    Watch a running robot and stay silent until something changes.

    --baud--expect-silent-after--explain-budget--follow--healthy--history--incident-at--json--max-false-alarm--no-push--no-upload-raw--project--push--replay--robot--robot-hint--seconds--serial--speed--state--time-col--topics--upload-raw--window

  • trialone learn <folder>

    Read recordings the robot already made as earlier behaviour for the watcher.

    --label--max

  • trialone install-service

    Run the watcher as a service that survives a closed terminal and a reboot.

    --github--install--project

  • trialone watch-folder <folder>

    Diagnose every new recording that lands in a folder.

    --every--github--once--project

  • trialone attach

    Record what this robot is: board, OS, ROS distribution and packages, devices. Run it again after changes.

    --json--machine

Exit codes

CommandCodeMeans
diagnose0The recording was read. The report is the answer, with or without findings.
diagnose2The recording could not be read. Nothing in the output is about the machine.
diagnose, push3The report is complete on disk but did not reach your account.
verify0, 1, 2Pass, fail, inconclusive.
any77This terminal is not signed in with an approved account.

Environment

VariableWhat it does
TRIALONE_MACHINEThe machine name runs are filed under, instead of the hostname.
TRIALONE_HOMEWhere TrialONE keeps its local state. Default ~/.trialone.
TRIALONE_CLI_TOKENA CLI key without trialone login, for CI and containers.

Access

Every command that starts the engine first checks that the terminal is signed in and the account is approved. It asks the website at most once a day. Without a network, the last confirmation counts for 30 days, so a robot in a hall without Wi-Fi keeps running. login, whoami, update and --help work without it.

Update or remove

trialone update installs the newest version. To remove the tool, uninstall it with pip. If the watcher runs as a service on this machine, stop it first with systemctl --user disable --now trialone-watch.service.

Terminal
$ pip uninstall trialone

Uninstalling leaves the sign-in and local state in ~/.trialone (on Windows %USERPROFILE%\.trialone); delete that folder too for a clean start. Revoke the key of a machine you no longer use under Settings, CLI keys.

Something missing or wrong here? Tell us.