1. Skill Overview
This skill is executed from the root directory of the OpenClaw repository to perform end-to-end validation of channel message stream behavior. As a component of the QA Lab evidence system, it focuses on two core evidence dimensions: streaming messages (
channels.streaming) and runtime delivery (runtime.delivery).Core Principle: This skill never manipulates production environments directly. Instead, it leverages QA scenarios to verify the correctness of message delivery logic under simulated or real channel drivers.
2. Core Capabilities
2.1 QA Scenario Execution
The skill runs a predefined scenario named
channel-message-flows via QA Lab with the following bash command:OPENCLAW_BUILD_PRIVATE_QA=1 node scripts/run-node.mjs qa suite \
--provider-mode mock-openai \
--scenario channel-message-flows \
--channel-driver qa-channel
2. Dual Driver Modes
Two driver modes are supported to validate message stream behavior across distinct environments:
| Driver Mode | Description | Command Differences |
|---|---|---|
| QA Channel | Executes within a simulated QA channel environment | --channel-driver qa-channel |
| Crabline Telegram | Connects to Crabline’s local provider server via the real Telegram plugin | --channel-driver crabline --channel telegram |
Both modes utilize
--provider-mode mock-openai to mock the OpenAI provider, guaranteeing deterministic, reproducible test results.2. Validation Coverage
The scenario covers two major evidence categories:
channels.streaming: Primary evidence for streaming message transmission, verifying real-time streaming behavior during message transitruntime.delivery: Secondary evidence for runtime delivery, verifying whether messages reach their destinations correctly in the end
2. Related Source Code References
Key source files associated with this skill:
qa/scenarios/channels/channel-message-flows.yaml— Scenario definition fileextensions/qa-channel/src/inbound.ts— QA Channel inbound message processingextensions/qa-lab/src/qa-transport.ts— QA Lab transport layerextensions/qa-lab/src/crabline-transport.ts— Crabline transport layerextensions/telegram/src/draft-stream.ts— Telegram draft stream handling
3. Primary Use Cases
- Validate delivery sequencing of Telegram drafts and final messages
Ensure the sending order and content consistency of draft messages and finalized messages within Telegram channels match expected specifications.
- End-to-end channel message stream evidence collection via QA Lab
Systematically collect and validate correctness evidence for channel message streams inside QA environments.
- Dual-track validation across simulated and real environments
Utilize both QA Channel (simulated) and Crabline Telegram (real) drivers to confirm consistent message stream logic behavior in both environments.
- Regression testing and pre-release validation
Execute this QA scenario after code changes related to channel message streams to confirm no regression defects are introduced.
4. Critical Guiding Principles
- Message stream behavior is natively owned by transport-layer QA streams
This skill does not independently define message stream logic; it only validates pre-existing behavior implemented within the transport layer.
- Must run from the root of the OpenClaw repository
A prerequisite for using this skill is executing all commands from the repository root folder.
- Adopt
mock-openaifor deterministic test outputsBoth driver modes enable the mock OpenAI provider to eliminate randomness from real LLM model responses that would skew test results.
Summary
Channel Message Flows is a dedicated QA Lab testing skill for channel message stream validation. It executes the predefined
channel-message-flows scenario under two interchangeable drivers (QA Channel and Crabline Telegram) to verify correct delivery sequencing of draft and final messages. Covering the two core evidence dimensions of streaming transmission and runtime delivery, it serves as the core regression and pre-release verification tool for OpenClaw’s channel message stream functionality.