build_start
Starts a server-owned build run on a remote host, acquires the host lease, executes the SSH command, and returns a run ID immediately for status tracking.
Instructions
Start a server-owned build run on a host: acquires the host lease, runs the command over SSH and
returns a run id immediately. Do NOT poll with sleeps — use build_wait(run_id) or build_status. The
host lease is released automatically when the run reaches a terminal status. The lease's phase is
the run kind (e.g. 'compile'), so a run whose compile hangs while its heartbeat stays fresh reads
STUCK on list_hosts — the server, not the client, decides that.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Label for the run, e.g. 'build', 'resourcecompiler' | build |
| notes | No | ||
| command | Yes | Shell command to run on the host over SSH (detaching/hiding is its job) | |
| host_id | Yes | Host id from list_hosts, e.g. 'build-pc' | |
| log_path | No | Server-local path for the captured log |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| kind | No | build | |
| lock | No | The host lock this run holds (owner build:<id>), when it is still its own | |
| notes | No | ||
| owner | Yes | Host-lock owner holding this run's lease, 'build:<id>' | |
| handle | No | Process handle (pid) when known | |
| status | Yes | ||
| command | Yes | ||
| host_id | Yes | ||
| summary | No | Parsed counts from the log summary line | |
| web_url | No | Absolute URL of this run's page in the web UI (Activity page) | |
| log_path | No | ||
| warnings | No | Material-guard findings; None when the log was clean or unscanned | |
| artifacts | No | ||
| exit_code | No | ||
| created_at | Yes | ||
| updated_at | Yes |