# Roadmap: DeerFlow Frontend Merge Recovery **Created:** 2026-04-07 **Source:** .planning/PROJECT.md + .planning/REQUIREMENTS.md ## Phase 1: Conflict Inventory and Decision Matrix **Goal:** Build an auditable conflict inventory covering merge-overwritten regions, Titan-overlap regions, and keep/replace candidates. **Covers:** MERGE-01, MERGE-03 - Produce file-level conflict matrix with risk levels - Mark visual-only, logic-only, and mixed-change files - Identify Titan-linked hotspots and expected behavior per hotspot ## Phase 2: Thread and Skills Logic Reconciliation **Goal:** Reconcile thread bootstrap/routing and skills API logic so merged behavior is explicit and stable. **Covers:** MERGE-02, LOGIC-03, LOGIC-04 - Reconcile `thread_id`/`isnew`/`xclaw_used` behavior in chat flow - Decide and implement skills bootstrap contract direction - Verify no duplicate or dead logic paths remain ## Phase 3: Legacy Visual Alignment Pass **Goal:** Align workspace visual presentation to legacy baseline without regressing logic. **Covers:** UI-01, UI-02, UI-03 - Apply visual alignment in layout and component layers - Keep behavioral code intact while adjusting style semantics - Validate visual consistency across core workspace views ## Phase 4: Iframe + Markdown New-System Stabilization **Goal:** Keep and harden new-system capabilities for iframe communication and markdown export. **Covers:** LOGIC-01, LOGIC-02 - Stabilize parent/child messaging and selected-skill event flows - Stabilize markdown conversion and download triggers - Validate artifact integration points ## Phase 5: Test Hardening and Commit Hygiene **Goal:** Lock recovery with regression tests and clean commit structure. **Covers:** TEST-01, TEST-02, TEST-03 - Finalize and run E2E suite for target scenarios - Split commits into style / logic / tests concern buckets - Attach reviewer-oriented verification notes for high-risk files ### Phase 6: 在输入框输入@时,可引用已生成文件和已上传附件 **Goal:** 在当前线程聊天输入框中实现 `@` 文件引用(artifacts + uploads),并通过 `additional_kwargs.files` 稳定提交且具备回归测试。 **Requirements**: ATREF-01, ATREF-02, ATREF-03, ATREF-04 **Depends on:** Phase 5 **Plans:** 4 executable plans + 1 archived revision record Plans: - [x] 06-01-PLAN.md — 锁定引用提交契约与软失败链路(additional_kwargs.files) - [x] 06-02-PLAN.md — 实现 @ 候选 dropdown、chip 交互与上限控制 - [x] 06-03-PLAN.md — 补齐自动化验证并产出 style/logic/tests/docs 提交分组计划 - [x] 06-04-ARCHIVED.md — 修订归档:原 gap-closure 计划与锁定决策 D-08(上限 10)冲突,保留追踪但不再执行 - [ ] 06-05-PLAN.md — 关闭 verification 缺口:恢复 10 个上限/类型去歧义,并稳定 DF-INPUT-008/009 回归 ### Phase 7: 发送时拼接附件与Skill优先提示词并在消息区过滤 **Goal:** 发送消息时拼接附件/Skill优先提示词,同时消息区仅展示用户原文。 **Requirements**: P7-01, P7-02, P7-03, P7-04 **Depends on:** Phase 6 **Plans:** 2/2 plans complete Plans: - [x] 07-01-PLAN.md — 提交态增强文本组装 + 三入口统一透传 + 显示态/提交态分离回归 - [x] 07-02-PLAN.md — gap closure:修复 ContextMenu 自动引用、提示前缀唯一化、Skill 使用 id 拼接 ### Phase 8: 现在系统中有非常多写死的颜色值比如bg-[#00000],text-[#000000],我想把这些颜色值都提升到浅色模式和深色模式里面 **Goal:** 将 workspace 核心页面/组件中的硬编码颜色迁移为 light/dark 主题 token,并建立防回归扫描守卫。 **Requirements**: P8-01, P8-02, P8-03, P8-04 **Depends on:** Phase 7 **Plans:** 4 plans Plans: - [ ] 08-01-PLAN.md — 建立颜色 token 注册表与扫描守卫基础能力 - [ ] 08-02-PLAN.md — 迁移 chat/input/workspace 关键页面组件的硬编码颜色 - [ ] 08-03-PLAN.md — 迁移 artifact 关键组件的硬编码颜色与局部样式变量 - [ ] 08-04-PLAN.md — 建立回归验证闭环并固化防回归检查 --- *Milestone status:* `complete` *Next command:* `/gsd-new-milestone`