chore: polish qa lab follow-ups

This commit is contained in:
Peter Steinberger
2026-04-05 08:52:05 +01:00
parent bb60b53124
commit 17a324b0de
4 changed files with 52 additions and 4 deletions
+6
View File
@@ -69,6 +69,12 @@
- any-glob-to-any-file: - any-glob-to-any-file:
- "extensions/qa-channel/**" - "extensions/qa-channel/**"
- "docs/channels/qa-channel.md" - "docs/channels/qa-channel.md"
"extensions: qa-lab":
- changed-files:
- any-glob-to-any-file:
- "extensions/qa-lab/**"
- "docs/concepts/qa-e2e-automation.md"
- "docs/channels/qa-channel.md"
"channel: signal": "channel: signal":
- changed-files: - changed-files:
- any-glob-to-any-file: - any-glob-to-any-file:
+1
View File
@@ -149,3 +149,4 @@ changelog/fragments/
test/fixtures/openclaw-vitest-unit-report.json test/fixtures/openclaw-vitest-unit-report.json
analysis/ analysis/
.artifacts/qa-e2e/ .artifacts/qa-e2e/
extensions/qa-lab/web/dist/
+13 -3
View File
@@ -68,9 +68,19 @@ Current vertical slice:
pnpm qa:e2e pnpm qa:e2e
``` ```
This starts the in-repo QA bus, boots the bundled `qa-channel` runtime slice, This now routes through the bundled `qa-lab` extension. It starts the in-repo
runs a deterministic self-check, and writes a Markdown report under QA bus, boots the bundled `qa-channel` runtime slice, runs a deterministic
`.artifacts/qa-e2e/`. self-check, and writes a Markdown report under `.artifacts/qa-e2e/`.
Private debugger UI:
```bash
pnpm qa:lab:build
pnpm openclaw qa ui
```
That launches the private QA debugger at a local URL, separate from the
shipped Control UI bundle.
## Scope ## Scope
+32 -1
View File
@@ -100,7 +100,7 @@ Discord, Teams, and similar channels.
## System overview ## System overview
The system has five pieces. The system has six pieces.
1. `qa-channel` plugin 1. `qa-channel` plugin
@@ -144,6 +144,14 @@ The auto-fix worker should start outside the container. It needs direct repo
and GitHub access, clean worktree control, and better isolation from the and GitHub access, clean worktree control, and better isolation from the
runtime under test. runtime under test.
6. `qa-lab` extension
- Bundled extension under `extensions/qa-lab`
- Owns the QA harness, Markdown report flow, and private debugger UI
- Registers hidden CLI entrypoints such as `openclaw qa run` and
`openclaw qa ui`
- Stays separate from the shipped Control UI bundle
## High-level flow ## High-level flow
1. Start `qa-bus`. 1. Start `qa-bus`.
@@ -222,6 +230,29 @@ That is enough to build a first QA controller for:
This should be Phase 0 because it de-risks the scenario protocol before the This should be Phase 0 because it de-risks the scenario protocol before the
full channel lands. full channel lands.
## `qa-lab` extension design
`qa-lab` is the private operator-facing half of this system.
Suggested package:
- `extensions/qa-lab/`
Suggested responsibilities:
- host the synthetic bus state machine
- host the scenario runner
- write Markdown reports
- serve a private debugger UI on a separate local server
- keep that UI entirely outside the shipped Control UI bundle
Suggested UI shape:
- left rail for conversations and threads
- center transcript pane
- right rail for event stream and report inspection
- bottom inject-composer for inbound QA traffic
## `qa-channel` plugin design ## `qa-channel` plugin design
## Package layout ## Package layout