Files
openclaw/qa/scenarios/runtime/tools/sessions-spawn.yaml
Dallin Romney c1c231ced9 fix(qa): reject runtime tool intent without result evidence (#113502)
* fix(qa): require runtime tool result evidence

* fix(qa): preserve meaningful tool coverage gates

* refactor(qa): colocate runtime parity projection

* fix(qa): keep passing tool totals evidence-backed
2026-07-27 11:00:59 +08:00

50 lines
1.7 KiB
YAML

title: "Runtime tool fixture — sessions_spawn"
scenario:
id: runtime-tool-sessions-spawn
surface: runtime-tools
runtimePairLane: core
coverage:
primary:
- agent-runtime.subagent-turns-sessions-spawn
objective: Verify sessions_spawn executes successfully across OpenClaw and Codex.
successCriteria:
- Effective tools expose sessions_spawn.
- The happy path retains a linked successful sessions_spawn call and result.
- The denied-input path retains a linked sessions_spawn failure result.
- Runtime parity hard-fails missing call/result evidence in either runtime.
docsRefs:
- qa/scenarios/index.yaml
codeRefs:
- src/agents/tools/sessions-spawn-tool.ts
- extensions/qa-lab/src/runtime-tool-fixture.ts
execution:
kind: flow
summary: Exercise the sessions_spawn runtime tool family.
config:
toolName: sessions_spawn
toolCoverage:
family: sessions_spawn
actualTool: sessions_spawn
bucket: openclaw-dynamic-integration
expectedLayer: openclaw-dynamic
capabilityLayer: openclaw-dynamic-direct
required: true
codexDefaultImpact: P4
qaImpact: P1
action: hard gate in the core runtime-pair lane
reason: Canonical fixture session-key capture retains the parent call/result when spawning creates a newer child session, so this OpenClaw integration tool must hard-gate both runtimes.
promptSnippet: "target=sessions_spawn"
failurePromptSnippet: "failure target=sessions_spawn"
flow:
steps:
- name: exercises sessions_spawn happy and failure paths
actions:
- call: runRuntimeToolFixture
saveAs: result
args:
- ref: env
- ref: config
detailsExpr: result