Skip to content
SHAMPOO

Tool catalogue

debate_advance_watermark

Write · Internal · Debate

debate_advance_watermark

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

Purpose

Advances the (topic, role) watermark cursor to a specific message: looks up its timestamp, posts the canonical WATERMARK marker, and reconciles the active primary signal cursor in one atomic unit.

Arguments

Required: topic_id, role, processed_up_to_msg_id.

  • topic_id: existing debate topic.
  • role. Note: Role-addressed only (no session argument): the caller must own the active binding for (topic, role).
  • processed_up_to_msg_id. Note: Must name a message already preserved in the topic.

Result

Same post shape: msg_id, ts, topic_state, and vehicle, for the INFO/WATERMARK marker.

Boundaries

Ownership without exception: star and conductor callers naming a role they hold no binding for are denied as not-found. All shape checks run before ownership.

Lifecycle / side effects

Marker plus cursor progress persist atomically with an audit/history event. The marker carries no recipients, so on its own it reconciles no addressed inbox.

Errors

Unknown message ids for the topic, malformed ids, and unowned roles are rejected; failures preserve nothing.

Example

{
  "processed_up_to_msg_id": "<uuid>",
  "role": "CONDUCTOR",
  "topic_id": "<uuid>"
}

Result shape:

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

See also

debate_signal_check, debate_signal_advance, debate_post, debate_compact, debate_rotate_binding.

On this page