Testing and CI

QA overview

The private QA stack exercises OpenClaw in a realistic, channel-shaped way that a unit test cannot.

Pieces:

  • extensions/qa-channel: synthetic message channel with DM, channel, thread, reaction, edit, and delete surfaces.
  • extensions/qa-lab: debugger UI, QA bus, scenario runners, and live transport adapters for observing the transcript, injecting inbound messages, and exporting a Markdown report.
  • qa/: repo-backed seed assets for the kickoff task and baseline QA scenarios.
  • Mantis: before/after live verification for bugs that need real transports, browser screenshots, VM state, and PR evidence.

This page is an index. The QA stack is documented on eight pages, one per reader job. Open the page that matches your task.

Page Read it when
Command surface You need the right qa subcommand or a profile-backed qa run selector.
Operator flow You are bringing up QA Lab and running a lane: observability smokes, the Matrix live lane, Discord Mantis, the Slack desktop runner, or the credential-pool health check.
Canonical scenario coverage You are choosing what a run covers, or you need the Multipass suite lane.
Channel QA reference You are running the Buzz, Telegram, or Discord lane, or you need the flags every real-transport lane accepts.
Slack QA You are running the Slack lane or provisioning its workspace, app, and scopes.
WhatsApp QA and credentials You are running the WhatsApp lane or leasing credentials from the Convex pool.
Extending the QA stack You are adding seed assets, a provider mock lane, a transport adapter, or a channel.
QA reporting You are reading a QA report, an evidence file, or a character-eval judged report.

Where each section moved

Every section heading from the previous single-page version keeps its anchor here, so an existing link such as /concepts/qa-e2e-automation#matrix-live-lane still resolves. Each entry points at the page that now holds the content.

Was this useful?
On this page

On this page