Skip to content
SHAMPOO

Tool catalogue

debate_message_claim_reclaim

Write · Internal · Debate

debate_message_claim_reclaim

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

Purpose

Reclaims stale active standing=false DECISION claims past a cutoff: late terminal answers complete them, the rest move to reclaimed or expired. Keeps a crashed one-shot owner from blocking a decision forever.

Arguments

Required: topic_id, older_than_ts.

Optional: minimum_age_seconds.

  • topic_id: existing debate topic. Note: Topic whose one-shot DECISION claims are swept; gated before the sweep so non-participants cannot enumerate claim metadata.
  • older_than_ts. Note: Strict ISO-8601 UTC cutoff.
  • minimum_age_seconds. Note: Floor for reclaim age, defaults to 60.

Result

Object with topic_id, topic_state, reclaimed entries, and reclaimed_count. Completed claims report done; the rest report reclaimed or expired.

Boundaries

Only caller-owned claims complete or reclaim; the sweep never exposes foreign claim state. Claims exist implicitly from the one-shot DECISION post path; no dedicated claim tool creates them.

Lifecycle / side effects

Each outcome is a lifecycle transition with one audit/history event. Late terminal replies may still move a claim to done after reclaim.

Errors

Malformed ids, bad cutoffs, below-floor ages, and unreachable topics are rejected uniformly; failures change nothing.

Example

{
  "minimum_age_seconds": 60,
  "older_than_ts": "2026-09-01T00:00:00Z",
  "topic_id": "<uuid>"
}

Result shape:

{
  "reclaimed": [],
  "reclaimed_count": 0,
  "topic_id": "<uuid>",
  "topic_state": "ACTIVE"
}

See also

debate_post, debate_post_with_recipients, debate_worker_reap, debate_state, debate_signal_advance.

On this page