reflect_discard
- Category: reflection
- Access: write
- Audience: advanced (ordinary users do not normally call this directly)
Purpose
Discards a terminal run as a lifecycle transition: it resolves as absent while its candidates are preserved. Call it to retire runs without losing review evidence.
Arguments
Required: run_id.
-
run_id.
Result
Object with run_id and rows_deleted (1 on success, kept for oracle wire shape).
Boundaries
Run access follows the input-project gate: foreign or unfiltered runs read as not-found for non-star callers.
Lifecycle / side effects
Lifecycle transition to discarded with timestamp, actor, and reason; inputs, candidates, and snapshots are preserved, so candidate-centric review and decide keep working while run-centric tools resolve the run as absent. The narrow sanctioned retirement path; nothing is physically removed.
Errors
Unknown, already-discarded, or foreign runs fail as not_found. Pending or running runs fail as cannot_discard_active_run: cancel first.
Example
{
"run_id": "<uuid>"
}
Result shape:
{
"rows_deleted": 1,
"run_id": "<uuid>"
}
See also
reflect_archive, reflect_cancel, reflect_review, reflect_status.