Documentation
¶
Overview ¶
Command observe-harness is a standalone Webex Mercury observation tool. It removes the entire SignalStack application stack and exercises ONLY the webex-message-handler library, so inbound (Mercury) and outbound (REST) message flow can be observed directly.
It:
- Connects to Webex as the "bot"/observer account (wmh Mercury socket) with verbose logging — every inbound DecryptedMessage/membership is printed.
- Optionally creates a test room and adds a second user (the "poster").
- Posts round-trip messages AS THE POSTER (a separate user token) via REST, then reports whether the observer socket received each one — the core test for the silent-delivery bug (#27).
Tokens (env):
OBSERVER_TOKEN — access token for the observing account (e.g. SignalStack).
Raw token; the lib adds the Mercury auth framing.
POSTER_TOKEN — access token for a real user who will post messages
(so posts aren't self-filtered by the observer).
ROOM_ID — optional: observe an existing room. If empty and
CREATE_ROOM=1, a new room is created with both parties.
POSTER_EMAIL — email of the poster (added to a newly-created room).
CREATE_ROOM — "1" to create a fresh test room.
ROUNDTRIPS — number of test messages to post (default 3).
CARD_TEST — "1" to also post an Adaptive Card with an Action.Submit
button and submit it, verifying the observer receives an
attachmentAction:created with decrypted Inputs.
Set WMH_DEBUG_RAW_ACTIVITY=1 to log the structural shape of every Mercury conversation.activity (verb, object.objectType, key presence — never content), which reveals activities the handler does not match.
Everything the harness prints is timestamped so inbound/outbound ordering and latency are visible.
Click to show internal directories.
Click to hide internal directories.