Files
adolf/qa/scenarios/index.yaml
alvis bedb527145
Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Vendor OpenClaw source as Adolf fork baseline
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11),
free to diverge. Tree copied sans upstream .git; upstream remote added for
future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19.
Preserves docs/ARCHITECTURE.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
2026-07-05 09:36:54 +00:00

109 lines
5.1 KiB
YAML

title: OpenClaw QA Scenario Pack
# Single source of truth for repo-backed QA suite bootstrap data.
# `qa-lab` should treat this directory as a generic YAML scenario pack:
#
# - `index.yaml` defines pack-level bootstrap data under the top-level `pack` key
# - each nested `*.yaml` scenario defines one runnable test via `scenario`
# - flow scenarios add top-level `flow`; native test scenarios use `scenario.execution.path`
# - scenario YAML may also define coverage IDs, category metadata, required plugins,
# lane filters, runtime parity tiers, and gateway config patching
#
# - kickoff mission
# - QA operator identity
# - scenario files under one-level theme directories
#
# Coverage tracking:
#
# - use `coverage.primary` only for evidence that executes the required product boundary
# - use `coverage.secondary` for helper or supporting evidence; it may stand alone
# - keep IDs behavior-shaped, broad enough to reuse, lowercase, and dotted
# as `namespace.behavior`, with dashes allowed inside each segment
# - use the exact values listed under feature `coverageIds` in `taxonomy.yaml`
# - taxonomy feature coverage IDs are exact proof targets, not aliases
# - scenario primary can list multiple IDs only when this scenario is primary
# proof for each
# - prefer reusing an existing coverage ID over minting a scenario-shaped ID
# - avoid copying the scenario title into coverage IDs
# - use `pnpm openclaw qa coverage` to render the current inventory
# - use `scenario.execution.kind: vitest`, `playwright`, or `script`
# plus `scenario.execution.path` for native tests or evidence producers that
# provide evidence without a top-level `flow`
# - use `scenario.execution.suiteIsolation: isolated` for flow scenarios that
# mutate gateway/runtime state in non-obvious ways; add `isolationReason`
# so reviewers know why the suite scheduler must not share the worker
# - use `runtimeParityTier` for runtime-pair gate membership: `standard`,
# `optional`, `live-only`, or `soak`
# - treat the old `coverage: ["id"]` / `coverage: - id` list shape as invalid
# - keep source-path tracking in the report, not in the scenario schema
#
# Runtime parity tiers:
#
# - `standard`: required Codex-vs-OpenClaw mock gate coverage for first-hour depth and
# default runtime-tool fixtures. OpenClaw dynamic integration tools in this
# tier are hard-gated by `openclaw qa coverage --tools --summary`; Codex-native
# workspace rows remain separately tracked until native/live behavior is the
# asserted surface. Rows that explicitly target searchable/deferred OpenClaw
# dynamic loading stay report-only unless a fixture promotes them to required. Selected with
# `openclaw qa suite --runtime-pair openclaw,codex --runtime-parity-tier standard`
# - `optional`: profile-, plugin-, or external-service-dependent runtime-tool
# fixtures that stay out of the default release gate
# - `live-only`: scenarios that need real provider/runtime behavior rather than
# mock-openai fixtures
# - `soak`: long-running scheduled or Testbox lanes such as the 100-turn parity
# soak
#
# Theme directories:
#
# - `agents/` - agent behavior, instructions, subagent flows, and persisted child-link regressions
# - `channels/` - DM, shared channel, thread, and message-action behavior
# - `character/` - persona and style eval scenarios
# - `config/` - config patch, apply, and restart behavior
# - `media/` - image understanding and generation
# - `memory/` - recall, ranking, active memory, and thread isolation
# - `models/` - provider capabilities and model switching
# - `personal/` - local personal assistant workflow checks for reminders,
# replies, memory, redaction, and safe tool followthrough
# - `plugins/` - plugin, skill, and MCP tool integration
# - `runtime/` - turn recovery, compaction, approval, and inventory behavior
# - `scheduling/` - cron and recurring work
# - `ui/` - Control UI plus qa-channel flows
# - `workspace/` - repo-reading and workspace artifact tasks
pack:
version: 1
agent:
identityMarkdown: |-
# Dev C-3PO
You are the OpenClaw QA operator agent.
Persona:
- protocol-minded
- precise
- a little flustered
- conscientious
- eager to report what worked, failed, or remains blocked
Style:
- read source and docs first
- test systematically
- record what happened
- end with a concise protocol report
kickoffTask: |-
QA mission:
Understand this OpenClaw repo from source + docs before acting.
The repo is available in your workspace at `./repo/`.
Use the seeded QA scenario plan as your baseline, then add more scenarios if the code/docs suggest them.
Run the scenarios through the real qa-channel surfaces where possible.
Track what worked, what failed, what was blocked, and what you observed.
End with a concise report grouped into worked / failed / blocked / follow-up.
Important expectations:
- Check both DM and channel behavior.
- Include a Lobster Invaders build task.
- Include a cron reminder about one minute in the future.
- Read docs and source before proposing extra QA scenarios.
- Keep your tone in the configured dev C-3PO personality.