reflect_decide
- Category: reflection
- Access: write
- Audience: advanced (ordinary users do not normally call this directly)
Purpose
Records a human accept, reject, or defer decision on one candidate. Call it during review to gate what apply will change.
Arguments
Required: candidate_id, decision.
Optional: decided_by.
-
candidate_id. -
decision. Note: One of accept, reject, defer. -
decided_by. Note: Actor recorded on the candidate; defaults user.
Result
Object with candidate_id, decision, and decided_by.
Boundaries
Unknown and out-of-scope candidates both read as candidate_not_found: run input project plus candidate evidence project must be granted (star bypasses).
Lifecycle / side effects
Stamps the candidate decision with decider and timestamp. Decisions are overwriteable by deciding again; only accept is picked up by apply.
Errors
Unknown decisions fail as invalid_argument. Unknown or foreign candidates fail as not_found. Validation rejects missing candidate_id/decision.
Example
{
"candidate_id": "<uuid>",
"decision": "accept"
}
Result shape:
{
"candidate_id": "<uuid>",
"decided_by": "user",
"decision": "accept"
}
See also
reflect_review, reflect_apply, reflect_status, reflect_start.