deerflow2/.planning/REQUIREMENTS.md

96 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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