Files
DevFlow/docs/02-架构设计/Phase1架构决策-2026-06-12.md
绝尘 f3c0967f41 修复: AR-3 审批 reason 查项目名拼对象名(用户再反馈 P0)
build_approval_reason 改 async + 接收 db,对 delete/restore/purge/update/bind/create_task 的 id/project_id 查 ProjectRepo.get_by_id 拼「项目名」(id=x)(原只拼裸 id,用户反馈'只返回 ID 不知道是什么数据')
新增 resolve_project_label helper;process_tool_calls 调用改 await
来源 aichat审查报告 第二章 + 用户 2026-06-14 再反馈;cargo 0 err
2026-06-14 17:16:28 +08:00

1.6 KiB

Phase 1 架构决策

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


概述

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

决策记录

ADR-001: 引擎不绑定业务

  • 决策: Workflow Engine (df-workflow) 只做 DAG 执行,不感知具体业务语义
  • 原因: 保持引擎通用性,阶段逻辑通过 df-stages 插件化注入
  • 影响: df-workflow 的 Node trait 是纯接口,业务逻辑在 df-nodes / df-stages 实现

ADR-002: 本地优先架构

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

ADR-003: 多 Crate Workspace

  • 决策: 拆分为 13 个独立 crate
  • 原因: 模块解耦、独立编译、按需引用
  • 影响: 依赖关系需严格管控,避免循环依赖

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 — 当前进度与全局性问题