Skip to content
SHAMPOO

Tool catalogue

debate_wake_dry_run

Write · Internal · Debate

debate_wake_dry_run

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

Purpose

Resolves wake targets for a trigger response and preserves a history event without waking anyone or posting anything. The dry-run lever for delivery bring-up only.

Arguments

Required: tool_response_json.

Optional: action.

  • tool_response_json: Trigger tool-response object as JSON. Note: Trigger response object as JSON; must carry the expected schema version, msg_id, and topic_id.
  • action: Wake action namespace. Note: Wake action namespace, defaults to dry_run_wake.

Result

Object with targets, logs, and suppressed counts, plus notify_targets for the implementation-vehicle notify-only branch. Unknown schemas still return this envelope alongside a mismatch history event.

Boundaries

The trigger's preserved message is authority, never the caller's JSON. Callers must reach the trigger's topic or the call answers unknown_topic with no recipient disclosure. Per-recipient suppression, redispatch, and singleton rules apply inside.

Lifecycle / side effects

Signal-only by design: every path preserves its history event atomically, including schema mismatches, unknown triggers, and blind-commit waiting. Real wake actions are out of scope.

Errors

Non-object responses fail closed. Unknown triggers and blind-barrier waits resolve to history events rather than targets.

Example

{
  "action": "dry_run_wake",
  "tool_response_json": "{\"schema_version\":\"debate_post_with_recipients.v1\",\"msg_id\":\"<uuid>\",\"topic_id\":\"<uuid>\"}"
}

Result shape:

{
  "logs": [],
  "suppressed": 0,
  "targets": []
}

See also

debate_post_with_recipients, debate_signal_check, debate_worker_claim, debate_binding_list.

On this page