Skip to content
SHAMPOO

Tool catalogue

debate_escalate

Write · Advanced · Debate

debate_escalate

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

Purpose

Force-writes a high-priority PING shaped [ESCALATE:reason] tagged for a target role (default HUMAN). A convenience over hand-formatting escalation messages.

Arguments

Required: topic_id, role, reason.

Optional: target_role.

  • topic_id: existing debate topic.
  • role. Note: Posts as this declared role, so the caller must own its binding.
  • reason. Note: Must be non-empty; carried inside the composed PING body.
  • target_role. Note: Defaults to HUMAN; validated as a role shape.

Result

Same post shape: msg_id, ts, topic_state, and vehicle, for the H/PING message.

Boundaries

Ownership authority matches debate_post with uniform denial for unknown or unowned positions. On debate/v1 topics the structured ESCALATE kind via debate_post is the packet-writing path; this legacy PING form coexists with it.

Lifecycle / side effects

Preserved as an H/PING message with an audit/history event. Nothing about human-packet close-out lives in this surface.

Errors

Empty reasons, malformed ids or roles, and unowned roles are rejected; failures preserve nothing.

Example

{
  "reason": "Needs operator ruling on signing",
  "role": "CONDUCTOR",
  "target_role": "HUMAN",
  "topic_id": "<uuid>"
}

Result shape:

{
  "msg_id": "<uuid>",
  "topic_state": "ACTIVE",
  "ts": "<iso-8601>",
  "vehicle": "analysis"
}

See also

debate_post, debate_post_with_recipients, debate_compact, debate_state.

On this page