test: verify subagent cache reuse without an arbitrary call count

This commit is contained in:
hy committed 2026-10-14 20:50:36 +08:00
1 parent cad0a1600b
commit ecc1dfc39b
2 files changed
+1 -2

No files matched your search

+1 -1
View File
@@ -364,7 +364,7 @@ pnpm test:update:e2e
- What:同一持久子会话中断后新执行首次请求的前缀与真实缓存,以及子内部连续调用和父派发收口缓存。
- Why:SQLite 转录、恢复技能/checkpoint 和续接追加不能改写既有模型前缀。
- How:真实 UI 配置模型、派发两项任务,复制现有排期/口径/备注/财务跟进 fixture 到临时资料目录,待续接任务依次核对排期、主负责人和财务执行动作。一个完成,另一个读完后进入真实待加载网页;通过 UI 停止并要求查询、续接原子会话。相同模型/工作区短间隔续接,不填充提示或伪造输出/usage。真实本地页面只作输入,observer/只读 IPC 只取证。
- Oracle:对齐 `WB-SUBAGENT-001-AC10`。同 agentId、不同 childRunId;原任务/历史事实保留,最终交付正确且输入不变,完成清理子日志。比较中断前末次带完整 usage 请求与续接首次请求的工具及已有消息前缀,实际 cachedInputTokens 超过该子会话首次请求的 inputTokens,证明复用包含新增历史;前缀变化、usage 缺失或仅公共前缀命中失败。复用率为续接 cachedInputTokens / 中断前 inputTokens,85%为评估参考,记录首轮/末轮输入规模区分公共前缀和历史复用,不要求所有短请求达 85%。保留请求差异、主子关联、截图、usage 和人工评估。重启持久性由恢复 E2E 验证。
- Oracle:对齐 `WB-SUBAGENT-001-AC10`。同 agentId、不同 childRunId;原任务/历史事实保留,最终交付正确且输入不变,完成清理子日志。每个完成的子任务及续接主任务至少有一对连续请求,逐对核对已有消息与工具前缀,并确认实际缓存复用;允许一轮调用多个读取工具。比较中断前末次带完整 usage 请求与续接首次请求的工具及已有消息前缀,实际 cachedInputTokens 超过该子会话首次请求的 inputTokens,证明复用包含新增历史;前缀变化、usage 缺失或仅公共前缀命中失败。复用率为续接 cachedInputTokens / 中断前 inputTokens,85%为评估参考,记录首轮/末轮输入规模区分公共前缀和历史复用,不要求所有短请求达 85%。保留请求差异、主子关联、截图、usage 和人工评估。重启持久性由恢复 E2E 验证。
#### `subagent-approval-flow`
@@ -262,7 +262,6 @@ describe('workbench subagent prefix cache e2e', () => {
record.caller === 'human.brain' &&
record.status === 'completed'
)
expect(calls.length).toBeGreaterThanOrEqual(3)
expect(
calls.every((call) =>
Boolean(call.ownerRunId && call.parentToolCallId && call.agentId)