新增: 批次工作落地(推进链/评估闭环/事件总线/并发/加固) + 技术债清理 + 文档整理

后端:
- 工作流推进链(D-03):advance_task/状态机/闸门走 df-nodes Node trait,conditions 条件引擎扩展
- 想法评估闭环:启发式评分+对抗评估,df-ideas/scoring + df-storage/idea_eval_repo + idea 前端打通
- 全局事件数据总线:df-ai/context+context_helpers+augmentation 跨模块解耦
- AI planner/plan_hint/intent:aichat B 路线并行多轮基础
- patch_file 加固(TD-03/04):读改写整体锁防 lost update,expected_hash 合约闭环
- 压缩超时兜底(F-15 卡死根治)
- F-09 多会话并发:LlmConcurrency per-conv + streamingGuard 前端守护 + verify 脚本
- 知识注入 DRY/skills/audit 扩展

清理:
- aichat 技术债(误报 allow/死导入/过时注释 30 项)
- URGENT.md 删除(11 项加急全解决/迁 todo)
- 文档整理(todo/待决策/待审查/ARCHITECTURE/INDEX + 总线/技术债审查新文档)
This commit is contained in:
2026-06-21 20:51:26 +08:00
parent 330bb7f505
commit bd6a41fe6e
111 changed files with 11932 additions and 1034 deletions

View File

@@ -33,18 +33,23 @@ fn default_priority() -> i32 {
/// 列出未删除任务(deleted_at IS NULL),可按 project_id 过滤。
///
/// 软删对标 projects:默认过滤回收站(语义与 list_projects 一致)。
/// project_id 时 list_active(WHERE deleted_at IS NULL);有 project_id 时
/// 先 list_active 再内存过滤 project_id(任务量小,无需 SQL 下推,避免新增专用查询方法)。
/// project_id 时 list_active_by_project(SQL 下推 WHERE deleted_at IS NULL AND
/// project_id = ?,避免旧 list_active 全表扫 + 内存 retain 的 N×M 热点);
/// 无 project_id 时 fallback list_active(列全部未删任务)。
/// 注意:不能用通用 query 宏——它不带 deleted_at 过滤,会把回收站任务也返回。
#[tauri::command]
pub async fn list_tasks(
state: State<'_, AppState>,
project_id: Option<String>,
) -> Result<Vec<TaskRecord>, String> {
let mut tasks = state.tasks.list_active().await.map_err(err_str)?;
if let Some(pid) = project_id {
tasks.retain(|t| t.project_id == pid);
}
let tasks = match project_id {
Some(pid) => state
.tasks
.list_active_by_project(&pid)
.await
.map_err(err_str)?,
None => state.tasks.list_active().await.map_err(err_str)?,
};
Ok(tasks)
}