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.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--status | string | all | One 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_id | string | all | Only jobs on one device, by UUID. |
--artifact_id | string | all | Only jobs involving one artifact, by UUID. |
--search | string | none | Full-text search on the job name. |
--sort | string | created_at | Sort column: created_at, status, name or device. |
--dir | string | desc | Sort direction, asc or desc. |
--page | string | 1 | Page number. |
--page_size | string | server default | Rows per page. |
--raw | bool | false | Print 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 field | Type | Meaning |
|---|---|---|
job_definition_id | string | The preferred form: run an existing job definition. Accepts the definition's name. |
script | object | An inline script configuration, when you do not want a stored definition. Requires output_path. |
artifact_id | string | The legacy proxy-based form. Prefer a script or a definition. |
device_id | string | The single device to run on. |
device_ids | array of strings | Several devices, dispatching one job each. |
model_id | string | The model artifact to run against. |
model_ids | array of strings | Several models. |
huggingface_url | string | Source the model from a Hugging Face repository instead of an uploaded artifact. Valid only alongside job_definition_id. |
name | string | Job name. Generated when omitted. |
output_path | string | Where on the device the job writes its output. Required for an inline script job. |
result_type | string | raw (default) or structured. Structured results are parsed and scored; raw ones are stored as they are. |
interpreter | string | Which result interpreter to score with: llm, vision or audio. |
idle_timeout_sec | integer | Abandon the job after this many seconds with no progress. |
retry_config | object | max_retries, retry_delay_ms and retry_on, a list of result statuses that trigger a retry. |
artifacts | array of objects | Artifacts to push to the device, overriding the definition's own list. |
force | boolean | Skip 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.
| Command | What 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.
| Subcommand | Purpose |
|---|---|
list | List jobs with filters. |
get | Get one job. |
create | Dispatch a job. |
cancel | Cancel a queued or running job. |
delete | Delete a job and its results. |
output | Download the job's output file. |
execution-log | Download the execution log. |
results | List per-sample proxy results. |
results-body | Download one result's response body. |
results-summary | Aggregate result summary. |
results-throughput | Throughput over time. |
benchmark-results | Measured benchmark metrics. |
benchmark-results-io | Per-sample input and output samples. |
benchmark-results-samples | Stored benchmark result samples. |
benchmark-results-summary | Aggregate of the benchmark results. |
results-latency-histogram | Latency histogram over the run. |
rescore | Re-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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--correct | string | none | Filter by correctness, accuracy-style schemas only |
--filter_field | string | none | Field 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_op | string | none | Field filter operator (repeatable, aligned): gte / lte for a range filter, eq for a boolean or categorical one |
--filter_value | string | none | Field filter value (repeatable, aligned): a number for gte / lte, true / false for a boolean eq, a string for a categorical eq |
--page | string | none | Page number (default: 1) |
--page_size | string | none | Items per page (default: 50, max: 500) |
--raw | bool | false | print raw response without pretty-printing |
--status | string | none | Filter 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--page | string | none | Page number (default: 1) |
--page_size | string | none | Items per page (default: 50) |
--raw | bool | false | print raw response without pretty-printing |
--status | string | none | Filter 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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]
| Flag | Type | Default | Meaning |
|---|---|---|---|
--body | string | none | request body (inline JSON) |
--body-file | string | none | request body (path to a JSON file) |
--force | string | none | Skip resource compatibility check (default: false) |
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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]
| Flag | Type | Default | Meaning |
|---|---|---|---|
--artifact_id | string | none | Filter by artifact ID (UUID) |
--device_id | string | none | Filter by device ID (UUID) |
--dir | string | none | Sort direction: desc (default), asc |
--page | string | none | Page number (default: 1) |
--page_size | string | none | Items per page |
--raw | bool | false | print raw response without pretty-printing |
--search | string | none | Full-text search on job name |
--sort | string | none | Sort column: created_at (default), status, name, device |
--status | string | none | Filter 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--page | string | none | Page number (default: 1) |
--page_size | string | none | Items per page (default: 50) |
--raw | bool | false | print raw response without pretty-printing |
--status | string | none | Filter 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--buckets | string | none | Number of histogram buckets (default: 20, max: 200) |
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print 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>.
| Flag | Type | Default | Meaning |
|---|---|---|---|
--raw | bool | false | print raw response without pretty-printing |
--window_sec | string | none | Aggregation window in seconds (default: 10, max: 86400) |
Endpoint: GET /api/jobs/{id}/results/throughput. MCP tool name: get_jobs_id_results_throughput.
Related
- 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.