Outputs and exit behavior
Interactive commands default to concise human-readable output. Use --json for scripts and integrations.
JSON fields
Section titled “JSON fields”Hosted commands return these top-level fields:
| Command | Fields |
|---|---|
rad remote doctor --json |
status, apiVersion, repositoryId, profiles, limits |
rad remote run --artifact <plan-path> --json |
run, created, sourceTransfer |
rad verify --yes --json |
run, created, sourceTransfer |
rad remote status --run <run-id> --json |
run |
rad remote findings --run <run-id> --json |
findings |
rad remote accept --run <run-id> --finding <finding-id> --reason <reason> --json |
accepted, manifest, noteRecommended |
rad remote cancel --run <run-id> --attempt <attempt-id> --reason <reason> --json |
run, applied |
rad remote retry --run <run-id> --json |
run, created |
rad waivers list --json |
version, waivers |
rad waivers prune --artifact <plan-path> --json |
removedCandidateIds, remaining, applied |
A run contains:
| Field | Meaning |
|---|---|
id |
Stable run identifier. |
state |
Current run state. |
authoritativeAttemptId |
Attempt that produced the terminal result. Empty before a result is authoritative. |
attempts |
Every attempt for the run in execution order. |
Each attempt contains id, state, and findingsCount. Each finding contains id, attemptId, sourcePath, sourceLine, kind, and payload. The finding payload contains candidateId, mutator, outcome, original, replacement, and durationMs.
sourceTransfer describes local source preparation without recording paths or
content:
| Field | Meaning |
|---|---|
protocol |
manifest-v1 for incremental transfer or archive-v1 for full upload. |
fallbackReason |
not-advertised, plan-unbound, or server-unsupported for an archive fallback. |
captureMilliseconds |
Time spent reading and validating tracked source. |
constructionMilliseconds |
Time spent constructing packs or the compressed archive. |
expandedBytes |
Total regular-file bytes represented by the snapshot. |
compressedBytes |
Size of the worker-facing compressed source archive. |
uploadedBytes |
Source-file or archive bytes uploaded by this command. |
reusedBytes |
Source-file bytes reused through the manifest protocol. |
uploadedBlobs |
Missing blobs uploaded, or 1 for a full archive. |
reusedBlobs |
Existing repository-scoped blobs reused. |
Planning JSON is the complete plan artifact. Its fields depend on the plan contract and language. Treat the generated artifact as immutable and submit it without editing it.
Run states
Section titled “Run states”| State | Meaning |
|---|---|
pending_dispatch |
Radforge accepted the run but has not queued its attempt. |
queued |
The attempt is waiting for hosted execution. |
running |
Hosted execution is active. |
succeeded_with_findings |
Execution completed and produced findings. |
succeeded_without_findings |
Execution completed without findings. |
customer_failed |
Repository preparation or customer tests failed, so Radforge produced no mutation result. |
infrastructure_failed |
Radforge infrastructure failed, so the run is not mutation evidence. |
mutation_timed_out |
Mutation execution exceeded its allowed time. |
cancelled |
The active attempt was canceled. |
unsupported |
The repository profile or input is outside the supported contract. |
Attempt states use pending, dispatched, and running before completion. Terminal attempt states use the same terminal values as runs.
Exit status
Section titled “Exit status”| Status | Meaning |
|---|---|
0 |
The command completed successfully. For remote status, this can include a failed or canceled run state. verify and remote run --wait require a successful terminal state. |
1 |
Readiness, planning, local preparation, output, or remote service work failed. |
2 |
Command syntax, required configuration, or authentication input is invalid or missing. |
Errors are written to standard error. Scripts should check the exit status and the expected JSON fields.
Run state is separate from command success. A successful remote status request can report a failed, canceled, or otherwise terminal run. Inspect the returned run and attempt states before consuming findings.
Scripts may rely on the fields and state values documented on this page. Terminal wording and formatting may change between releases.