# Phase 1 架构决策

> 创建: 2026-06-10 | 状态: 初稿

---

## 概述

Phase 1 是 DevFlow 的引擎骨架阶段，聚焦于核心数据流打通。本文记录此阶段的关键架构决策。

## 决策记录

### ADR-001: 引擎不绑定业务

- **决策**: Workflow Engine (df-workflow) 只做 DAG 执行，不感知具体业务语义
- **原因**: 保持引擎通用性
- **影响**: df-workflow 的 Node trait 是纯接口，业务逻辑在 df-nodes 实现
> ⚠️ 原文写"阶段逻辑通过 df-stages 插件化注入"、"业务逻辑在 df-nodes / df-stages 实现"。`df-stages` crate 已删除（零引用清理），实际无 stages 层。业务逻辑直接在 df-nodes 的 3 个节点实现。

### ADR-002: 本地优先架构

- **决策**: 使用 SQLite 嵌入式数据库，不依赖云服务
- **原因**: DevFlow 定位为桌面工具，零运维，离线可用
- **影响**: 无网络层、无认证系统，数据全部本地存储

### ADR-003: 多 Crate Workspace

- **决策**: 拆分为多个独立 crate
- **原因**: 模块解耦、独立编译、按需引用
- **影响**: 依赖关系需严格管控，避免循环依赖
> ⚠️ 原文写"13 个独立 crate"，属过时数字（原始设计值）。实际为 **8 个 crate**：df-core / df-workflow / df-nodes / df-ai / df-execute / df-storage / df-ideas / df-project。详见 [业务系统设计](./业务系统设计-2026-06-12.md) §六。

### ADR-004: 无 panic 原则

- **决策**: 所有占位代码返回空/默认值，不使用 `todo!`/`unimplemented!`
- **原因**: 保证应用不会因为未实现功能而崩溃
- **影响**: 未实现的方法返回 `Ok(default)` 而非 panic

### ADR-005: Phase 1 最小可用路径

- **决策**: 优先打通 `df-core → df-workflow → df-storage → Tauri IPC → Vue` 链路
- **原因**: 验证架构可行性，尽早发现集成问题
- **影响**: Phase 1 不实现 AI、想法池、多项目等高级功能

## 参考文档

- `ARCHITECTURE.md` — 完整架构设计
- `PROGRESS.md` — 当前进度与全局性问题
