Skip to main content
Version: 0.0.5 (stable)

agrag.candidates.review.move_candidates

move_candidates(graph_store:GraphStore, rows:list[dict[str, str | None]], *, to_state:CandidateState, now:datetime | None = None) -> ReviewOutcome

Move candidate groups whose current states allow to_state.

Groups that are missing or cannot make the transition remain unchanged and appear in skipped. Successful writes update the candidate state and decision time.

Parameters:

  • graph_store (GraphStore) – Store containing the candidate groups.
  • rows (list[dict[str, str | None]]) – Group keys and optional endpoint ids used for approval.
  • to_state (CandidateState) – State to enter.
  • now (datetime | None) – Decision time, or the current UTC time when omitted.

Returns:

  • ReviewOutcome – Keys changed and keys skipped with their reasons.