96 lines
4.4 KiB
Markdown
96 lines
4.4 KiB
Markdown
# Requirements: DeerFlow Frontend Merge Recovery
|
||
|
||
**Defined:** 2026-04-07
|
||
**Core Value:** Keep the frontend visually familiar while preserving and hardening new-system behavior end to end.
|
||
|
||
## v1 Requirements
|
||
|
||
### Merge Reconciliation
|
||
|
||
- [x] **MERGE-01**: Team can list all merge-overwritten hotspots with file-level evidence and risk classification
|
||
- [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
|
||
|
||
### UI Visual Alignment
|
||
|
||
- [ ] **UI-01**: Workspace visual style aligns with legacy baseline for typography, spacing, and component hierarchy
|
||
- [ ] **UI-02**: Visual alignment changes do not break chat/thread/artifact interactions
|
||
- [ ] **UI-03**: Global style changes remain consistent across main workspace pages
|
||
|
||
### New-System Logic Integrity
|
||
|
||
- [ ] **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
|
||
- [x] **LOGIC-03**: Thread creation/reuse logic remains correct for `thread_id`, `isnew`, and `xclaw_used` combinations
|
||
- [x] **LOGIC-04**: Skills bootstrap API contract is explicitly reconciled (`content_id` vs `content_ids`) without silent breakage
|
||
|
||
### Quality and Regression Safety
|
||
|
||
- [ ] **TEST-01**: E2E tests cover message/history, input/compose, welcome/routing, and artifact/thread reuse flows
|
||
- [ ] **TEST-02**: Recovery changes are committed in separable concern groups (style vs logic vs tests)
|
||
- [ ] **TEST-03**: Critical conflict files have before/after verification notes for reviewer auditing
|
||
|
||
### Input @ File References (Phase 6)
|
||
|
||
- [ ] **ATREF-01**: 输入框输入 `@` 时仅展示当前线程(artifacts + uploads)候选,且支持连续输入过滤
|
||
- [ ] **ATREF-02**: 选中文件后以可删除 chip 展示,并在同名场景显示“文件名 + 类型 + 路径尾段”,引用上限 10
|
||
- [ ] **ATREF-03**: 引用文件复用 `additional_kwargs.files` 提交,含来源元信息;失效引用软剔除并不阻断消息发送
|
||
- [ ] **ATREF-04**: 引用能力具备自动化回归验证(单测 + E2E)及按 style/logic/tests/docs 的提交分组计划
|
||
|
||
### Theme Tokenization and Color Guard (Phase 8)
|
||
|
||
- [ ] **P8-01**: Workspace 核心页面与组件(thread page、input box、artifact detail/list、workspace layout/header)中的 `bg-[#...]`/`text-[#...]`/`stroke="#..."` 等硬编码颜色迁移为 light/dark 主题 token
|
||
- [ ] **P8-02**: 建立颜色 token 注册表并满足“每个 distinct 颜色值对应一个 distinct token 名称”的唯一性约束(禁止多个不同颜色值映射到同名 token)
|
||
- [ ] **P8-03**: 增加自动化扫描守卫,阻止新增 `#hex` 与 `bg-[#...]`/`text-[#...]`(含同类 arbitrary color)回归
|
||
- [ ] **P8-04**: 覆盖 workspace 关键页面与组件的 light/dark 回归验证(静态扫描 + 自动化用例 + 可复现命令)
|
||
|
||
## v2 Requirements
|
||
|
||
### Tooling Improvements
|
||
|
||
- **TOOL-01**: Add automated conflict hotspot detector for future merges
|
||
- **TOOL-02**: Add style-vs-logic diff classifier script for commit preparation
|
||
|
||
## Out of Scope
|
||
|
||
| Feature | Reason |
|
||
|---------|--------|
|
||
| New product feature development unrelated to merge recovery | Would dilute stabilization focus |
|
||
| Backend architecture refactors not required by frontend recovery | Not necessary for current milestone objective |
|
||
| Full design system reimplementation | Too large for recovery scope |
|
||
|
||
## Traceability
|
||
|
||
| Requirement | Phase | Status |
|
||
|-------------|-------|--------|
|
||
| MERGE-01 | Phase 1 | Complete |
|
||
| MERGE-02 | Phase 1 | Complete |
|
||
| MERGE-03 | Phase 1 | Complete |
|
||
| LOGIC-03 | Phase 2 | Complete |
|
||
| LOGIC-04 | Phase 2 | Complete |
|
||
| UI-01 | Phase 3 | Pending |
|
||
| UI-02 | Phase 3 | Pending |
|
||
| UI-03 | Phase 3 | Pending |
|
||
| LOGIC-01 | Phase 4 | Pending |
|
||
| LOGIC-02 | Phase 4 | Pending |
|
||
| TEST-01 | Phase 5 | Pending |
|
||
| TEST-02 | Phase 5 | Pending |
|
||
| TEST-03 | Phase 5 | Pending |
|
||
| ATREF-01 | Phase 6 | Pending |
|
||
| ATREF-02 | Phase 6 | Pending |
|
||
| ATREF-03 | Phase 6 | Pending |
|
||
| ATREF-04 | Phase 6 | Pending |
|
||
| P8-01 | Phase 8 | Pending |
|
||
| P8-02 | Phase 8 | Pending |
|
||
| P8-03 | Phase 8 | Pending |
|
||
| P8-04 | Phase 8 | Pending |
|
||
|
||
**Coverage:**
|
||
- v1 requirements: 21 total
|
||
- Mapped to phases: 21
|
||
- Unmapped: 0
|
||
|
||
---
|
||
*Requirements defined: 2026-04-07*
|
||
*Last updated: 2026-04-07 after initial definition*
|