Skip to content
SHAMPOO

Tool catalogue

debate_worker_no_action

Write · Internal · Debate

debate_worker_no_action

  • Category: debate
  • Access: write
  • Audience: internal (ordinary users do not normally call this directly)

Purpose

Completes a worker claim without posting when no work remains. Advances only the worker cursor so idle workers never leak active claims.

Arguments

Required: topic_id, role, worker_session_id, trigger_msg_id.

Optional: reason.

  • topic_id: existing debate topic.
  • role.
  • worker_session_id. Note: The derived worker owning the claim.
  • trigger_msg_id. Note: The trigger being stood down from.
  • reason. Note: Optional note preserved with the completion.

Result

Claim object with no_action true, duplicate and cursor_unchanged markers, and the worker's last processed cursor triple.

Boundaries

Only the owning worker's claim completes; foreign claims are never addressable through this path. The parent trigger stays visible for reconciliation.

Lifecycle / side effects

Completion persists atomically with an audit/history event. Without this call, no-op workers would pin triggers as busy until requeue or reap luck.

Errors

Unknown claims, mismatched worker/trigger pairs, and inactive parents are rejected without moving any cursor.

Example

{
  "reason": "Trigger already answered",
  "role": "EXECUTOR_1",
  "topic_id": "<uuid>",
  "trigger_msg_id": "<uuid>",
  "worker_session_id": "<uuid>"
}

Result shape:

{
  "duplicate": false,
  "no_action": true,
  "role": "EXECUTOR_1",
  "state": "completed",
  "topic_id": "<uuid>",
  "trigger_msg_id": "<uuid>",
  "worker_session_id": "<uuid>"
}

See also

debate_worker_claim, debate_worker_reap, debate_worker_recover_stale, debate_signal_advance.

On this page