Files
openclaw/qa/scenarios/runtime/tools/apply-patch.yaml
Dallin Romney fef8394079 Convert QA scenarios to YAML files (#92915)
* refactor: load QA scenarios from YAML

* docs: update personal QA scenario docs

* test: keep QA scenarios YAML-only
2026-06-14 17:31:18 -07:00

52 lines
1.9 KiB
YAML

title: "Runtime tool fixture — apply-patch"
scenario:
id: runtime-tool-apply-patch
surface: runtime-tools
runtimeParityTier: standard
coverage:
primary:
- tools.apply-patch
objective: Verify apply_patch behavior is tracked across OpenClaw and Codex while Codex owns patching natively.
successCriteria:
- OpenClaw may expose OpenClaw apply_patch while Codex app-server mode may omit duplicate OpenClaw dynamic apply_patch.
- Mock provider apply_patch plans are reported as fixture intent, not as actual runtime tool calls.
- The row stays report-only until fault injection uses valid patch-shaped inputs.
docsRefs:
- qa/scenarios/index.yaml
codeRefs:
- src/agents/apply-patch.ts
- extensions/qa-lab/src/runtime-tool-fixture.ts
execution:
kind: flow
summary: Exercise the apply_patch runtime tool family.
config:
toolName: apply_patch
toolCoverage:
family: apply-patch
actualTool: apply_patch
bucket: codex-native-workspace
expectedLayer: codex-native-workspace
required: true
tracking: "#80320"
codexDefaultImpact: P4
qaImpact: P2
action: fix fixture fault injection
reason: Codex app-server intentionally owns apply_patch natively; this fixture still needs valid patch-shaped fault injection before it can prove product behavior.
knownHarnessGap:
issue: "#80320"
reason: Codex-native apply_patch is intentionally not an OpenClaw dynamic tool; QA fault injection still uses synthetic failure-path inputs.
promptSnippet: "target=apply_patch"
failurePromptSnippet: "failure target=apply_patch"
flow:
steps:
- name: exercises apply_patch happy and failure paths
actions:
- call: runRuntimeToolFixture
saveAs: result
args:
- ref: env
- ref: config
detailsExpr: result