Skip to content
SHAMPOO

Tool catalogue

reflect_decide

Write · Advanced · Reflection

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.

On this page