deerflow2/.planning/phases/02-thread-and-skills-logic-.../02-SUMMARY.md

4.0 KiB
Raw Blame History

phase plan subsystem tags requires provides affects tech-stack key-files key-decisions patterns-established requirements-completed duration completed
02-thread-and-skills-logic-reconciliation 01 api
thread-routing
skills-bootstrap
contract-normalization
regression-tests
phase provides
01-conflict-inventory-and-decision-matrix conflict-inventory and titan decision matrix
thread routing single-path behavior without isnew query semantics
skills bootstrap contract normalized to content_ids with legacy content_id adapter
regression tests for thread intent and skills payload normalization
phase-03-legacy-visual-alignment
phase-05-test-hardening
added patterns
route-driven new-session semantics
single-entry contract normalization at API boundary
created modified
frontend/src/core/skills/normalize-bootstrap.ts
frontend/src/core/skills/types.ts
frontend/src/core/threads/hooks.test.ts
frontend/src/core/skills/api.test.ts
frontend/tests/e2e/thread-routing.spec.ts
.planning/phases/02-thread-and-skills-logic-reconciliation/02-SUMMARY.md
frontend/src/components/workspace/chats/use-thread-chat.ts
frontend/src/core/threads/utils.ts
frontend/src/app/workspace/chats/[thread_id]/page.tsx
frontend/src/core/skills/api.ts
frontend/src/hooks/use-selected-skill-listener.ts
frontend/tests/e2e/support/chat-helpers.ts
frontend/tests/e2e/welcome-and-routing.spec.ts
按 D-01 删除 isnew 参数逻辑,改为仅由 /workspace/chats/new 路由决定新会话。
按 D-02 以 content_ids 为主合同content_id 仅作为最小兼容输入。
按 D-03 删除旧分支与双主路径,保留单入口归一。
query 参数语义收敛到 route + thread_id
协议兼容层集中在 core/skills/api.ts
MERGE-02
LOGIC-03
LOGIC-04
24 min 2026-04-07

Phase 02 Plan 01: thread-and-skills-logic-reconciliation Summary

线程路由从 isnew 参数切换为路由单路径语义,并将 skills bootstrap 合同统一到 content_ids。

Performance

  • Duration: 24 min
  • Started: 2026-04-07T12:53:49+08:00
  • Completed: 2026-04-07T04:55:00Z
  • Tasks: 3
  • Files modified: 13

Accomplishments

  • 删除 isnew 的查询参数控制逻辑,统一为 /workspace/chats/new 路由语义。
  • 建立 content_id -> content_ids 最小兼容归一层,消除双主合同路径。
  • 新增 thread/skills 核心单测与路由 e2e 用例,形成回归保护。

Task Commits

  1. Task 1: 线程路由参数与新逻辑单路径对齐 - af21bbd1 (feat)
  2. Task 2: skills bootstrap 合同归一到新逻辑 - 034e35c8 (feat)
  3. Task 3: 回归与死分支清理验证 - c01ac7b8 (test)

Decisions Made

  • isnew 语义完全删除,避免 query 驱动产生多分支。
  • content_ids 作为唯一主合同,content_id 只做边界适配。
  • 路由/合同归一在 core 层单入口实施,避免组件层重复逻辑。

Deviations from Plan

Auto-fixed Issues

1. [Rule 3 - Blocking] 调整 Task 级验证命令

  • Found during: Task 1/2/3 验证
  • Issue: frontend/package.json 不存在 npm run test 脚本,原计划命令不可执行。
  • Fix: 使用 node --test src/core/threads/hooks.test.ts src/core/skills/api.test.ts 执行单测。
  • Verification: 5/5 tests passed。
  • Committed in: c01ac7b8

Total deviations: 1 auto-fixed (1 blocking) Impact on plan: 不影响目标达成,验证链路改为可执行命令。

Issues Encountered

  • E2E 运行失败:ERR_CONNECTION_REFUSEDhttp://127.0.0.1:2026 无运行中的前端服务)。代码与用例已生成,待运行环境启动后复测。

User Setup Required

None - no external service configuration required.

Next Phase Readiness

  • 逻辑单路径已形成,可进入 Phase 3 进行视觉对齐。
  • 建议在可用环境补跑 thread-routing.spec.ts 完成端到端确认。

Phase: 02-thread-and-skills-logic-reconciliation Completed: 2026-04-07