# 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`
