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.