test(matrix): force block-streaming marker separation · openclaw/openclaw@b01c6d4
steipete
·
2026-05-28
·
via Recent Commits to openclaw:main
File tree
extensions/qa-matrix/src/runners/contract
| Original file line number | Diff line number | Diff line change |
|---|
@@ -137,8 +137,10 @@ export function buildMatrixBlockStreamingPrompt(
|
137 | 137 | return [ |
138 | 138 | `${sutUserId} Block streaming QA check: complete this whole sequence in one turn.`, |
139 | 139 | `Step 1: send an assistant text block containing only this exact marker: \`${firstText}\`.`, |
140 | | -"Step 2: do not stop after that marker. Use the read tool exactly once on `QA_KICKOFF_TASK.md`.", |
| 140 | +"That first marker block must be emitted before any tool call.", |
| 141 | +"Step 2: after the first marker block, use the read tool exactly once on `QA_KICKOFF_TASK.md`.", |
141 | 142 | `Step 3: after that read completes, send a final assistant text block containing only this exact marker: \`${secondText}\`.`, |
| 143 | +"Never put both markers in the same assistant text block.", |
142 | 144 | ].join("\n"); |
143 | 145 | } |
144 | 146 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -4164,12 +4164,14 @@ describe("matrix live qa scenarios", () => {
|
4164 | 4164 | expect(body).toMatch( |
4165 | 4165 | /Step 1: send an assistant text block containing only this exact marker: `MATRIX_QA_BLOCK_ONE_[A-F0-9]{8}`/, |
4166 | 4166 | ); |
| 4167 | +expect(body).toContain("That first marker block must be emitted before any tool call."); |
4167 | 4168 | expect(body).toContain( |
4168 | | -"Step 2: do not stop after that marker. Use the read tool exactly once on `QA_KICKOFF_TASK.md`.", |
| 4169 | +"Step 2: after the first marker block, use the read tool exactly once on `QA_KICKOFF_TASK.md`.", |
4169 | 4170 | ); |
4170 | 4171 | expect(body).toMatch( |
4171 | 4172 | /Step 3: after that read completes, send a final assistant text block containing only this exact marker: `MATRIX_QA_BLOCK_TWO_[A-F0-9]{8}`/, |
4172 | 4173 | ); |
| 4174 | +expect(body).toContain("Never put both markers in the same assistant text block."); |
4173 | 4175 | expect(scenario.configOverrides?.toolProfile).toBe("coding"); |
4174 | 4176 | expect(mockObjectArg(waitForRoomEvent, "waitForRoomEvent", 1).since).toBe( |
4175 | 4177 | "driver-sync-block-one", |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。