cancel_trial
Cancel a running trial or abandon a designed one to stop execution, mark failure, and preserve clean terminal states.
Instructions
Cancel a running trial, or abandon a designed one.
running → failed: kills the subprocess, marks failed. The
record's failed here reflects the cancellation act, not an
observed execution failure — cancelled: true in the payload
marks the distinction, and an already finished executor
reply means the executor completed first. A cancel landing
before the task registers tombstones the id so no child can
spawn under the terminal row.
designed → abandoned: no executor to kill, no evidence lost —
the honest terminal for a design that will never run (e.g. a
bundle locked to code that no longer exists). The FSM has
always permitted designed → abandoned; close_programme uses
the same transition for programme-scoped sweeps.
Enforcement: commitment 1 — the loop is the unit (orphan check).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| trial_id | Yes | ID of the target trial. | |
| programme_id | Yes | ID of the target research programme. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| trial_id | No | ||
| cancelled | No | ||
| executor_output | No |