Phase 1 Testing: ThreadReactor core + extract migration #140

Closed
opened 2026-05-09 02:06:01 +00:00 by xiaoju · 0 comments
Owner

验证目标

createThreadReactorcreateLlmFn 实现完成,createExtract 用 reactor 重写,旧 reactExtract 删除。

测试步骤

  • Step 1: reactor 模块存在

    ls packages/workflow/src/reactor/index.ts packages/workflow/src/reactor/types.ts
    

    预期: 文件存在

  • Step 2: createThreadReactor 导出

    grep "createThreadReactor" packages/workflow/src/reactor/index.ts
    

    预期: 有导出

  • Step 3: createLlmFn 导出

    grep "createLlmFn" packages/workflow/src/reactor/index.ts
    

    预期: 有导出

  • Step 4: LlmFn 签名正确(不碰 HTTP 细节)

    grep -A3 "type LlmFn" packages/workflow/src/reactor/types.ts
    

    预期: (messages: ChatMessage[], tools: ToolDefinition[]) => Promise<Result<AssistantMessage, string>>

  • Step 5: 旧 reactExtract 已删除

    grep -r "reactExtract" packages/workflow/src/ --include="*.ts" | grep -v test | grep -v "__tests__" || echo "PASS: reactExtract removed"
    

    预期: PASS: reactExtract removed

  • Step 6: createExtract 使用 reactor

    grep "createThreadReactor\|ThreadReactor" packages/workflow/src/extract/extract-fn.ts
    

    预期: 有引用

  • Step 7: 错误恢复 — unknown tool 不 hard error

    grep -A5 "unknown.*tool\|unknown_tool" packages/workflow/src/reactor/*.ts
    

    预期: unknown tool 返回 error message 给 LLM,不直接 return err

  • Step 8: 全量测试通过

    bun test
    

    预期: 所有测试通过

  • Step 9: bun run check 通过

    bun run check
    

    预期: 无错误

验证完成标准

所有 checkbox 打勾
bun test + bun run check 全绿

Ref: #139

## 验证目标 `createThreadReactor` 和 `createLlmFn` 实现完成,`createExtract` 用 reactor 重写,旧 `reactExtract` 删除。 ## 测试步骤 - [ ] **Step 1: reactor 模块存在** ```bash ls packages/workflow/src/reactor/index.ts packages/workflow/src/reactor/types.ts ``` **预期:** 文件存在 - [ ] **Step 2: createThreadReactor 导出** ```bash grep "createThreadReactor" packages/workflow/src/reactor/index.ts ``` **预期:** 有导出 - [ ] **Step 3: createLlmFn 导出** ```bash grep "createLlmFn" packages/workflow/src/reactor/index.ts ``` **预期:** 有导出 - [ ] **Step 4: LlmFn 签名正确(不碰 HTTP 细节)** ```bash grep -A3 "type LlmFn" packages/workflow/src/reactor/types.ts ``` **预期:** `(messages: ChatMessage[], tools: ToolDefinition[]) => Promise<Result<AssistantMessage, string>>` - [ ] **Step 5: 旧 reactExtract 已删除** ```bash grep -r "reactExtract" packages/workflow/src/ --include="*.ts" | grep -v test | grep -v "__tests__" || echo "PASS: reactExtract removed" ``` **预期:** PASS: reactExtract removed - [ ] **Step 6: createExtract 使用 reactor** ```bash grep "createThreadReactor\|ThreadReactor" packages/workflow/src/extract/extract-fn.ts ``` **预期:** 有引用 - [ ] **Step 7: 错误恢复 — unknown tool 不 hard error** ```bash grep -A5 "unknown.*tool\|unknown_tool" packages/workflow/src/reactor/*.ts ``` **预期:** unknown tool 返回 error message 给 LLM,不直接 return err - [ ] **Step 8: 全量测试通过** ```bash bun test ``` **预期:** 所有测试通过 - [ ] **Step 9: bun run check 通过** ```bash bun run check ``` **预期:** 无错误 ## 验证完成标准 ✅ 所有 checkbox 打勾 ✅ bun test + bun run check 全绿 Ref: #139
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#140