Skip to content
SHAMPOO

Tool catalogue

debate_search

Read · Advanced · Debate

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

Purpose

Searches one topic's messages by literal substring of the body, newest first, with blind-hiding applied. Use it to locate passages without replaying the full transcript.

Arguments

Required: topic_id, query.

Optional: limit, viewer_role.

  • topic_id: existing debate topic.
  • query. Note: Matched literally; wildcard characters are escaped so input can never widen the match.
  • limit. Note: Capped page size; non-positive values collapse to a single hit.
  • viewer_role. Note: Shapes blind-claim visibility only, never ranking scope.

Result

Object with topic_id, query, count, limit, and messages (newest first, same message shape as debate_read).

Boundaries

Same topic gate as debate_read: project scope AND active participation, sentinel denies all, conductor/star otherwise allow. The viewer_role parameter never grants visibility beyond that gate.

Lifecycle / side effects

Pure read: preserves nothing. Server tries a full-text path first and falls back to literal match with identical membership and ordering.

Errors

Malformed topic ids fail shape validation; unknown or unreachable topics answer unknown_topic. No hit content ever leaks through an error.

Example

{
  "limit": 50,
  "query": "musl",
  "topic_id": "<uuid>"
}

Result shape:

{
  "count": 0,
  "limit": 50,
  "messages": [],
  "query": "musl",
  "topic_id": "<uuid>"
}

See also

debate_read, debate_signal_check, debate_post, debate_compact.

On this page