docs(02-01): complete phase execution metadata
- 新增 02-SUMMARY 并记录验证偏差 - 更新 ROADMAP 与 REQUIREMENTS 进度
This commit is contained in:
parent
0a58c62c79
commit
7da5afba5f
|
|
@ -8,7 +8,7 @@
|
||||||
### Merge Reconciliation
|
### Merge Reconciliation
|
||||||
|
|
||||||
- [x] **MERGE-01**: Team can list all merge-overwritten hotspots with file-level evidence and risk classification
|
- [x] **MERGE-01**: Team can list all merge-overwritten hotspots with file-level evidence and risk classification
|
||||||
- [ ] **MERGE-02**: Team can restore required new-system logic removed during merge while avoiding duplicate behavior paths
|
- [x] **MERGE-02**: Team can restore required new-system logic removed during merge while avoiding duplicate behavior paths
|
||||||
- [x] **MERGE-03**: Team can identify and reconcile Titan-overlap code paths with explicit keep/replace decisions
|
- [x] **MERGE-03**: Team can identify and reconcile Titan-overlap code paths with explicit keep/replace decisions
|
||||||
|
|
||||||
### UI Visual Alignment
|
### UI Visual Alignment
|
||||||
|
|
@ -21,8 +21,8 @@
|
||||||
|
|
||||||
- [ ] **LOGIC-01**: iframe communication flow functions correctly for selected skill and parent message events
|
- [ ] **LOGIC-01**: iframe communication flow functions correctly for selected skill and parent message events
|
||||||
- [ ] **LOGIC-02**: Markdown download flow works from generation to export trigger in workspace
|
- [ ] **LOGIC-02**: Markdown download flow works from generation to export trigger in workspace
|
||||||
- [ ] **LOGIC-03**: Thread creation/reuse logic remains correct for `thread_id`, `isnew`, and `xclaw_used` combinations
|
- [x] **LOGIC-03**: Thread creation/reuse logic remains correct for `thread_id`, `isnew`, and `xclaw_used` combinations
|
||||||
- [ ] **LOGIC-04**: Skills bootstrap API contract is explicitly reconciled (`content_id` vs `content_ids`) without silent breakage
|
- [x] **LOGIC-04**: Skills bootstrap API contract is explicitly reconciled (`content_id` vs `content_ids`) without silent breakage
|
||||||
|
|
||||||
### Quality and Regression Safety
|
### Quality and Regression Safety
|
||||||
|
|
||||||
|
|
@ -50,10 +50,10 @@
|
||||||
| Requirement | Phase | Status |
|
| Requirement | Phase | Status |
|
||||||
|-------------|-------|--------|
|
|-------------|-------|--------|
|
||||||
| MERGE-01 | Phase 1 | Complete |
|
| MERGE-01 | Phase 1 | Complete |
|
||||||
| MERGE-02 | Phase 1 | Pending |
|
| MERGE-02 | Phase 1 | Complete |
|
||||||
| MERGE-03 | Phase 1 | Complete |
|
| MERGE-03 | Phase 1 | Complete |
|
||||||
| LOGIC-03 | Phase 2 | Pending |
|
| LOGIC-03 | Phase 2 | Complete |
|
||||||
| LOGIC-04 | Phase 2 | Pending |
|
| LOGIC-04 | Phase 2 | Complete |
|
||||||
| UI-01 | Phase 3 | Pending |
|
| UI-01 | Phase 3 | Pending |
|
||||||
| UI-02 | Phase 3 | Pending |
|
| UI-02 | Phase 3 | Pending |
|
||||||
| UI-03 | Phase 3 | Pending |
|
| UI-03 | Phase 3 | Pending |
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,104 @@
|
||||||
|
---
|
||||||
|
phase: 02-thread-and-skills-logic-reconciliation
|
||||||
|
plan: 01
|
||||||
|
subsystem: api
|
||||||
|
tags: [thread-routing, skills-bootstrap, contract-normalization, regression-tests]
|
||||||
|
requires:
|
||||||
|
- phase: 01-conflict-inventory-and-decision-matrix
|
||||||
|
provides: conflict-inventory and titan decision matrix
|
||||||
|
provides:
|
||||||
|
- 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
|
||||||
|
affects: [phase-03-legacy-visual-alignment, phase-05-test-hardening]
|
||||||
|
tech-stack:
|
||||||
|
added: []
|
||||||
|
patterns:
|
||||||
|
- route-driven new-session semantics
|
||||||
|
- single-entry contract normalization at API boundary
|
||||||
|
key-files:
|
||||||
|
created:
|
||||||
|
- 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
|
||||||
|
modified:
|
||||||
|
- 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
|
||||||
|
key-decisions:
|
||||||
|
- "按 D-01 删除 isnew 参数逻辑,改为仅由 /workspace/chats/new 路由决定新会话。"
|
||||||
|
- "按 D-02 以 content_ids 为主合同,content_id 仅作为最小兼容输入。"
|
||||||
|
- "按 D-03 删除旧分支与双主路径,保留单入口归一。"
|
||||||
|
patterns-established:
|
||||||
|
- "query 参数语义收敛到 route + thread_id"
|
||||||
|
- "协议兼容层集中在 core/skills/api.ts"
|
||||||
|
requirements-completed: [MERGE-02, LOGIC-03, LOGIC-04]
|
||||||
|
duration: 24 min
|
||||||
|
completed: 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_REFUSED`(`http://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*
|
||||||
Loading…
Reference in New Issue