新增: 项目状态机分层+任务状态枚举合并

真分层(df-project):
- ProjectManager 加 can_transition/transition/is_terminal 状态机
- 创建加 EmptyName 校验,返回 Result 而非裸实体
- 新增 ProjectTransitionError 三种错误变体
- 调用方(idea.rs promote_idea)适配 Result 传播

双源合并:
- TaskStatus::as_str 改为 const fn(允许 const 上下文调用)
- task_state_machine 字符串常量从 TaskStatus enum 派生
- IdeaStatus/ProjectStatus as_str 同步改为 const fn(一致性)

架构债设计方案:
- #8 IPC 错误结构化迁移路径(IpcError enum + 前端消费)
- #15 AI 状态机抽离 df-ai-session(4 阶段)
- #18 配置四源统一(AppConfig 单例 + 环境变量覆盖)
- #19 SQLite 连接池(r2d2)
This commit is contained in:
2026-06-29 22:16:45 +08:00
parent ff3f153d45
commit 093fe172f8
8 changed files with 444 additions and 23 deletions

View File

@@ -178,12 +178,13 @@ pub async fn promote_idea(
return Err(format!("灵感已立项: {}", promoted_to));
}
// 复用 df-project 领域逻辑构造项目实体create_from_idea
// 复用 df-project 领域逻辑构造项目实体create_from_idea
// create_from_idea 返回 Result(任务 #16: 名称空校验下沉领域层)。
let project = df_project::manager::ProjectManager::create_from_idea(
record.title.clone(),
record.description.clone(),
id.clone(),
);
).map_err(|e| e.to_string())?;
let project_id = project.id.clone();
let now = now_millis();
let project_record = ProjectRecord {