From 78f7de01c1aa0c91d2f1eb74a06088fb1b40c33e Mon Sep 17 00:00:00 2001 From: Dallin Romney Date: Sat, 27 Jun 2026 18:34:36 -0700 Subject: [PATCH] test: link local e2e qa coverage wrappers (#97150) --- .../native-command-session-target.yaml | 23 +++++++++++++++++++ qa/scenarios/config/cli-channel-picker.yaml | 23 +++++++++++++++++++ .../plugins/clawhub-skill-installs.yaml | 22 ++++++++++++++++++ .../runtime/docker-compose-setup.yaml | 23 +++++++++++++++++++ .../scheduling/heartbeat-active-hours.yaml | 23 +++++++++++++++++++ qa/scenarios/ui/browser-talk-start-stop.yaml | 23 +++++++++++++++++++ .../control-ui-assistant-media-tickets.yaml | 23 +++++++++++++++++++ 7 files changed, 160 insertions(+) create mode 100644 qa/scenarios/channels/native-command-session-target.yaml create mode 100644 qa/scenarios/config/cli-channel-picker.yaml create mode 100644 qa/scenarios/plugins/clawhub-skill-installs.yaml create mode 100644 qa/scenarios/runtime/docker-compose-setup.yaml create mode 100644 qa/scenarios/scheduling/heartbeat-active-hours.yaml create mode 100644 qa/scenarios/ui/browser-talk-start-stop.yaml create mode 100644 qa/scenarios/ui/control-ui-assistant-media-tickets.yaml diff --git a/qa/scenarios/channels/native-command-session-target.yaml b/qa/scenarios/channels/native-command-session-target.yaml new file mode 100644 index 00000000000..d29b5e7f112 --- /dev/null +++ b/qa/scenarios/channels/native-command-session-target.yaml @@ -0,0 +1,23 @@ +title: Native command active session target evidence + +scenario: + id: native-command-session-target + surface: channel-framework + category: channel-framework.channel-actions-commands-and-approvals + coverage: + primary: + - channels.native-command-session-target + objective: Link native command target-session e2e coverage to channel framework maturity accounting. + successCriteria: + - Native `/stop` commands use the active target session key instead of the slash-command session. + - The target embedded agent run is aborted. + - Queued follow-up work for the target session is cleared. + docsRefs: + - docs/channels/qa-channel.md + - docs/help/testing.md + codeRefs: + - src/auto-reply/reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts + execution: + kind: vitest + path: src/auto-reply/reply.triggers.trigger-handling.targets-active-session-native-stop.e2e.test.ts + summary: Vitest e2e coverage for native command active-session targeting. diff --git a/qa/scenarios/config/cli-channel-picker.yaml b/qa/scenarios/config/cli-channel-picker.yaml new file mode 100644 index 00000000000..ce55f988528 --- /dev/null +++ b/qa/scenarios/config/cli-channel-picker.yaml @@ -0,0 +1,23 @@ +title: CLI channel picker evidence + +scenario: + id: cli-channel-picker + surface: cli-install-update-onboard-doctor + category: cli-install-update-onboard-doctor.plugin-and-channel-setup + coverage: + primary: + - cli.channel-picker + objective: Link channel onboarding picker e2e coverage to CLI maturity accounting. + successCriteria: + - The channel picker remains usable with broken sibling registry diagnostics. + - Hidden setup channels are omitted from selectable choices. + - Configured and disabled channel states are presented with the expected actions. + docsRefs: + - docs/channels/qa-channel.md + - docs/help/testing.md + codeRefs: + - src/commands/onboard-channels.e2e.test.ts + execution: + kind: vitest + path: src/commands/onboard-channels.e2e.test.ts + summary: Vitest e2e coverage for channel onboarding picker behavior. diff --git a/qa/scenarios/plugins/clawhub-skill-installs.yaml b/qa/scenarios/plugins/clawhub-skill-installs.yaml new file mode 100644 index 00000000000..22b5d1f3dcd --- /dev/null +++ b/qa/scenarios/plugins/clawhub-skill-installs.yaml @@ -0,0 +1,22 @@ +title: ClawHub skill install evidence + +scenario: + id: clawhub-skill-installs + surface: clawhub-and-external-plugin-distribution + category: clawhub-and-external-plugin-distribution.plugin-lifecycle-and-health + coverage: + primary: + - clawhub.skill-installs + objective: Link ClawHub-backed skill install e2e coverage to ClawHub maturity accounting. + successCriteria: + - The CLI resolves a ClawHub skill install descriptor. + - The GitHub-backed skill archive is downloaded and installed into the state directory. + - Install telemetry reports the installed skill slug and version. + docsRefs: + - docs/help/testing.md + codeRefs: + - src/cli/skills-cli.clawhub-install.e2e.test.ts + execution: + kind: vitest + path: src/cli/skills-cli.clawhub-install.e2e.test.ts + summary: Vitest e2e coverage for ClawHub-backed skill installs. diff --git a/qa/scenarios/runtime/docker-compose-setup.yaml b/qa/scenarios/runtime/docker-compose-setup.yaml new file mode 100644 index 00000000000..014d4092fde --- /dev/null +++ b/qa/scenarios/runtime/docker-compose-setup.yaml @@ -0,0 +1,23 @@ +title: Docker Compose setup evidence + +scenario: + id: docker-compose-setup + surface: docker-podman-hosting + category: docker-podman-hosting.container-operations + coverage: + primary: + - docker.compose + objective: Link Docker Compose setup e2e coverage to Docker maturity accounting. + successCriteria: + - Docker Compose gateway and CLI service command shape stays in sync. + - Compose service env, token, auth-profile, timezone, and optional env-file defaults stay aligned. + - Container-side state, config, and workspace paths override host `.env` values. + docsRefs: + - docs/install/docker.md + - docs/help/testing.md + codeRefs: + - src/docker-setup.e2e.test.ts + execution: + kind: vitest + path: src/docker-setup.e2e.test.ts + summary: Vitest e2e coverage for Docker Compose setup and mount/env contracts. diff --git a/qa/scenarios/scheduling/heartbeat-active-hours.yaml b/qa/scenarios/scheduling/heartbeat-active-hours.yaml new file mode 100644 index 00000000000..abfdb69692c --- /dev/null +++ b/qa/scenarios/scheduling/heartbeat-active-hours.yaml @@ -0,0 +1,23 @@ +title: Heartbeat active-hours scheduling evidence + +scenario: + id: heartbeat-active-hours + surface: automation-cron-hooks-tasks-polling + category: automation-cron-hooks-tasks-polling.heartbeat + coverage: + primary: + - automation.active-hours + - automation.heartbeat-scheduling + objective: Link active-hours heartbeat scheduler e2e coverage to automation maturity accounting. + successCriteria: + - Heartbeat timers skip quiet-hours phase slots. + - In-window phase slots fire without duplicate scheduling loops. + - Hot reload recomputes active-hours and timezone schedule changes. + docsRefs: + - docs/help/testing.md + codeRefs: + - src/infra/heartbeat-runner.active-hours-schedule.e2e.test.ts + execution: + kind: vitest + path: src/infra/heartbeat-runner.active-hours-schedule.e2e.test.ts + summary: Vitest e2e coverage for active-hours-aware heartbeat scheduling. diff --git a/qa/scenarios/ui/browser-talk-start-stop.yaml b/qa/scenarios/ui/browser-talk-start-stop.yaml new file mode 100644 index 00000000000..f2b6b622879 --- /dev/null +++ b/qa/scenarios/ui/browser-talk-start-stop.yaml @@ -0,0 +1,23 @@ +title: Browser realtime Talk start-stop evidence + +scenario: + id: browser-talk-start-stop + surface: browser-control-ui-and-webchat + category: browser-control-ui-and-webchat.browser-realtime-talk + coverage: + primary: + - ui.browser-talk-start-stop + objective: Link deterministic browser realtime Talk transport start/stop coverage to UI maturity accounting. + successCriteria: + - Browser Talk starts the Google Live WebSocket transport and reaches listening state. + - Stopped transports ignore late WebSocket events. + - Active consult shutdown aborts the active run without reviving listening state. + docsRefs: + - docs/web/control-ui.md + - docs/help/testing.md + codeRefs: + - ui/src/ui/realtime-talk-google-live.test.ts + execution: + kind: vitest + path: ui/src/ui/realtime-talk-google-live.test.ts + summary: Vitest coverage for browser realtime Talk transport start and stop behavior. diff --git a/qa/scenarios/ui/control-ui-assistant-media-tickets.yaml b/qa/scenarios/ui/control-ui-assistant-media-tickets.yaml new file mode 100644 index 00000000000..a91d674c4f6 --- /dev/null +++ b/qa/scenarios/ui/control-ui-assistant-media-tickets.yaml @@ -0,0 +1,23 @@ +title: Control UI assistant media ticket evidence + +scenario: + id: control-ui-assistant-media-tickets + surface: browser-control-ui-and-webchat + category: browser-control-ui-and-webchat.webchat-conversations + coverage: + primary: + - ui.assistant-media-tickets + objective: Link scoped assistant media ticket e2e coverage to Control UI maturity accounting. + successCriteria: + - Gateway metadata requests mint scoped assistant media tickets. + - Assistant media fetches without a ticket are rejected. + - Tickets cannot be replayed for a different source file. + docsRefs: + - docs/web/control-ui.md + - docs/help/testing.md + codeRefs: + - src/gateway/control-ui-assistant-media.e2e.test.ts + execution: + kind: vitest + path: src/gateway/control-ui-assistant-media.e2e.test.ts + summary: Vitest e2e coverage for scoped Control UI assistant media tickets.