Skip to main content

Jobs

A job is one unit of work the platform runs on one device: a benchmark leg, a script, a data collection pass. It has a lifecycle (queued, running, finished), it produces an execution log and an output file, and it may produce per-sample results the platform scores afterwards.

Most jobs are created for you. Launching a benchmark group creates one job per model and device pair; a job definition pushed as desired state creates jobs on a schedule. You create one by hand when you want an ad-hoc run.

clika-rt jobs [command]

jobs list

clika-rt jobs list [flags]

Lists jobs, newest first.

FlagTypeDefaultMeaning
--statusstringallOne of pending, starting, running, completed, failed, cancelled, pushing_artifacts, running_setup, running_teardown, collecting_output, cleaning_artifacts or interrupted. The intermediate values are useful when a job seems stuck: they say which phase it is in.
--device_idstringallOnly jobs on one device, by UUID.
--artifact_idstringallOnly jobs involving one artifact, by UUID.
--searchstringnoneFull-text search on the job name.
--sortstringcreated_atSort column: created_at, status, name or device.
--dirstringdescSort direction, asc or desc.
--pagestring1Page number.
--page_sizestringserver defaultRows per page.
--rawboolfalsePrint the response body byte for byte.
$ clika-rt jobs list --status running
NAME STATUS DEVICE CREATED
nightly-llm-sweep-jetson-01 running jetson-01 2m ago
nightly-llm-sweep-orin-02 running orin-02 2m ago
clika-rt jobs list --status failed -o json | jq -r '.items[] | "\(.name)\t\(.error)"'

jobs get

clika-rt jobs get <name-or-id>

One job in full: its status and phase, the device it ran on, timings, the definition it came from, and any error. Accepts the job name as well as its UUID.

jobs create

clika-rt jobs create --body '<json>' [flags]

Dispatches a job. The body must set at least one of job_definition_id, script or artifact_id, which are the three ways of saying what to run.

Body fieldTypeMeaning
job_definition_idstringThe preferred form: run an existing job definition. Accepts the definition's name.
scriptobjectAn inline script configuration, when you do not want a stored definition. Requires output_path.
artifact_idstringThe legacy proxy-based form. Prefer a script or a definition.
device_idstringThe single device to run on.
device_idsarray of stringsSeveral devices, dispatching one job each.
model_idstringThe model artifact to run against.
model_idsarray of stringsSeveral models.
huggingface_urlstringSource the model from a Hugging Face repository instead of an uploaded artifact. Valid only alongside job_definition_id.
namestringJob name. Generated when omitted.
output_pathstringWhere on the device the job writes its output. Required for an inline script job.
result_typestringraw (default) or structured. Structured results are parsed and scored; raw ones are stored as they are.
interpreterstringWhich result interpreter to score with: llm, vision or audio.
idle_timeout_secintegerAbandon the job after this many seconds with no progress.
retry_configobjectmax_retries, retry_delay_ms and retry_on, a list of result statuses that trigger a retry.
artifactsarray of objectsArtifacts to push to the device, overriding the definition's own list.
forcebooleanSkip the device resource compatibility check. Also available as the --force flag.
clika-rt jobs create --body '{
"job_definition_id": "llm-latency",
"device_ids": ["jetson-01", "orin-02"],
"model_id": "Qwen2.5-0.5B-Instruct"
}'

Running a definition from a file instead, so the request is reviewable in git, is what apply is for:

kind: Job
job_definition: llm-latency
devices:
- jetson-01
- jetson-02

Following a job

There is no jobs watch. For a benchmark group use benchmarks watch, which follows every leg at once. For a single job, poll jobs get, or read its log as it grows:

clika-rt jobs execution-log nightly-llm-sweep-jetson-01

jobs execution-log downloads what the agent captured while the job ran, which is the first thing to read when a job failed.

Getting results back

A job produces up to three kinds of output, and each has its own command.

CommandWhat it returns
jobs output <name-or-id>The job's output file, as the job wrote it.
jobs execution-log <name-or-id>The execution log captured on the device.
jobs results <name-or-id>The per-sample proxy results, paginated. Takes --status (success, timeout, queue_full, server_error, proxy_error), --page and --page_size, which defaults to 50.
jobs results-body <name-or-id> <result_id>One proxy result's full response body, which the list view truncates.
jobs results-summary <name-or-id>The aggregate: counts, rates and the headline numbers.
jobs results-throughput <name-or-id>Throughput over the life of the run, for plotting.
jobs benchmark-results <name-or-id>The measured benchmark metrics for a benchmark job.
jobs benchmark-results-io <name-or-id>The per-sample input, model output and expected answer, when the run was created with detailed outputs enabled.
jobs benchmark-results-samples <name-or-id>The stored benchmark result samples.
jobs benchmark-results-summary <name-or-id>The aggregate of those benchmark results.
jobs results-latency-histogram <name-or-id>Latency distribution across the run, for plotting.
$ clika-rt jobs results-summary nightly-llm-sweep-jetson-01
{
"total": 500,
"success": 498,
"timeout": 2,
"p50_latency_ms": 210,
"p95_latency_ms": 470
}
clika-rt jobs results nightly-llm-sweep-jetson-01 --status timeout -o json

Rescoring

clika-rt jobs rescore <name-or-id>

Runs the server-side scoring pass again over an existing benchmark job's stored results. Use it when the scoring logic changed, or when a scorer failed while the run itself was fine. The device is not involved, so this is cheap compared with re-running the job.

Stopping and removing

clika-rt jobs cancel <name-or-id>
clika-rt jobs delete <name-or-id>

cancel stops a job that is queued or running. delete removes a finished job and its stored results.

Subcommand index

Every subcommand, as a quick index. The full detail for each one, with its flags and the API operation it dispatches, is in the full command reference below.

SubcommandPurpose
listList jobs with filters.
getGet one job.
createDispatch a job.
cancelCancel a queued or running job.
deleteDelete a job and its results.
outputDownload the job's output file.
execution-logDownload the execution log.
resultsList per-sample proxy results.
results-bodyDownload one result's response body.
results-summaryAggregate result summary.
results-throughputThroughput over time.
benchmark-resultsMeasured benchmark metrics.
benchmark-results-ioPer-sample input and output samples.
benchmark-results-samplesStored benchmark result samples.
benchmark-results-summaryAggregate of the benchmark results.
results-latency-histogramLatency histogram over the run.
rescoreRe-run server-side scoring.

Full command reference

Every command below is generated from the deployment's own API description, so one subcommand is exactly one platform operation. Each entry names the method, the endpoint and the MCP tool name, so the same operation is identifiable whichever surface you drive it from. Path parameters are positional arguments, query parameters are flags, and a request body is --body or --body-file. The hand-written commands, the ones that stream, propagate an exit code, or hand your terminal to ssh, carry no operation line.

The prose above covers the commands most people reach for. This section is the complete surface, for when you need the flag you have not used before.

clika-rt jobs

jobs has 17 subcommands.

clika-rt jobs benchmark-results

Get benchmark results

clika-rt jobs benchmark-results <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/jobs/{id}/benchmark-results. MCP tool name: get_jobs_id_benchmark_results.

clika-rt jobs benchmark-results-io

Get benchmark result I/O samples

clika-rt jobs benchmark-results-io <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--correctstringnoneFilter by correctness, accuracy-style schemas only
--filter_fieldstringnoneField filter (repeatable, aligned with filter_op / filter_value): a field the schema declares, correct, latency_ms, outcome, input.<key>, output.<key> or expected_output.<key>
--filter_opstringnoneField filter operator (repeatable, aligned): gte / lte for a range filter, eq for a boolean or categorical one
--filter_valuestringnoneField filter value (repeatable, aligned): a number for gte / lte, true / false for a boolean eq, a string for a categorical eq
--pagestringnonePage number (default: 1)
--page_sizestringnoneItems per page (default: 50, max: 500)
--rawboolfalseprint raw response without pretty-printing
--statusstringnoneFilter by sample status (e.g. success, failure)

Endpoint: GET /api/jobs/{id}/benchmark-results/io. MCP tool name: get_jobs_id_benchmark_results_io.

clika-rt jobs benchmark-results-samples

Get benchmark result samples

clika-rt jobs benchmark-results-samples <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--pagestringnonePage number (default: 1)
--page_sizestringnoneItems per page (default: 50)
--rawboolfalseprint raw response without pretty-printing
--statusstringnoneFilter by sample status

Endpoint: GET /api/jobs/{id}/benchmark-results/samples. MCP tool name: get_jobs_id_benchmark_results_samples.

clika-rt jobs benchmark-results-summary

Get benchmark results summary

clika-rt jobs benchmark-results-summary <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/jobs/{id}/benchmark-results/summary. MCP tool name: get_jobs_id_benchmark_results_summary.

clika-rt jobs cancel

Cancel job

clika-rt jobs cancel <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: POST /api/jobs/{id}/cancel. MCP tool name: post_jobs_id_cancel.

clika-rt jobs create

Create job

clika-rt jobs create [flags]
FlagTypeDefaultMeaning
--bodystringnonerequest body (inline JSON)
--body-filestringnonerequest body (path to a JSON file)
--forcestringnoneSkip resource compatibility check (default: false)
--rawboolfalseprint raw response without pretty-printing

Endpoint: POST /api/jobs. MCP tool name: post_jobs.

clika-rt jobs delete

Delete job

clika-rt jobs delete <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: DELETE /api/jobs/{id}. MCP tool name: delete_jobs_id.

clika-rt jobs execution-log

Download job execution log

clika-rt jobs execution-log <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/jobs/{id}/execution-log. MCP tool name: get_jobs_id_execution_log.

clika-rt jobs get

Get job

clika-rt jobs get <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/jobs/{id}. MCP tool name: get_jobs_id.

clika-rt jobs list

List jobs

clika-rt jobs list [flags]
FlagTypeDefaultMeaning
--artifact_idstringnoneFilter by artifact ID (UUID)
--device_idstringnoneFilter by device ID (UUID)
--dirstringnoneSort direction: desc (default), asc
--pagestringnonePage number (default: 1)
--page_sizestringnoneItems per page
--rawboolfalseprint raw response without pretty-printing
--searchstringnoneFull-text search on job name
--sortstringnoneSort column: created_at (default), status, name, device
--statusstringnoneFilter by status (pending|starting|running|completed|failed|cancelled|pushing_artifacts|running_setup|running_teardown|collecting_output|cleaning_artifacts|interrupted)

Endpoint: GET /api/jobs. MCP tool name: get_jobs.

clika-rt jobs output

Download job output

clika-rt jobs output <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/jobs/{id}/output. MCP tool name: get_jobs_id_output.

clika-rt jobs rescore

Re-run server-side scoring for a benchmark job

clika-rt jobs rescore <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: POST /api/jobs/{id}/rescore. MCP tool name: post_jobs_id_rescore.

clika-rt jobs results

List job proxy results

clika-rt jobs results <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--pagestringnonePage number (default: 1)
--page_sizestringnoneItems per page (default: 50)
--rawboolfalseprint raw response without pretty-printing
--statusstringnoneFilter by result status: success, timeout, queue_full, server_error, proxy_error

Endpoint: GET /api/jobs/{id}/results. MCP tool name: get_jobs_id_results.

clika-rt jobs results-body

Download one proxy result's response body

clika-rt jobs results-body <name-or-id> <result_id> [flags]

Positional arguments: required <name-or-id>, <result_id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/jobs/{id}/results/{result_id}/body. MCP tool name: get_jobs_id_results_result_id_body.

clika-rt jobs results-latency-histogram

Job latency histogram

clika-rt jobs results-latency-histogram <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--bucketsstringnoneNumber of histogram buckets (default: 20, max: 200)
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/jobs/{id}/results/latency-histogram. MCP tool name: get_jobs_id_results_latency_histogram.

clika-rt jobs results-summary

Job results summary

clika-rt jobs results-summary <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing

Endpoint: GET /api/jobs/{id}/results/summary. MCP tool name: get_jobs_id_results_summary.

clika-rt jobs results-throughput

Job throughput over time

clika-rt jobs results-throughput <name-or-id> [flags]

Positional arguments: required <name-or-id>.

FlagTypeDefaultMeaning
--rawboolfalseprint raw response without pretty-printing
--window_secstringnoneAggregation window in seconds (default: 10, max: 86400)

Endpoint: GET /api/jobs/{id}/results/throughput. MCP tool name: get_jobs_id_results_throughput.

  • Benchmarks: the usual way jobs get created, and how to watch a whole group of them.
  • job definitions: the reusable description a job runs from.
  • Devices: where jobs run, and the queue and dirty-state rules that decide when.
  • Artifacts: the inputs jobs consume and the outputs they leave behind.
  • Job concept: what a job is, in prose.