新增: 多Agent数据层(V36迁移+3新表+Repo CRUD+7个测试全绿)

- V36: ai_plans/ai_subtasks/ai_conflicts 3 新表 + ai_messages/ai_tool_executions 加 subtask_id

- models: PlanRecord/SubTaskRecord/ConflictRecord 结构体

- PlanRepo/SubTaskRepo/ConflictRepo CRUD(insert/get/list_by_*/update_status/resolve)

- 7个 Repo 单元测试全部通过(内存 SQLite + 全迁移)

- 顺带修复 task_repo.rs 预存测试编译错误(trec_full 参数类型+缺失 await)
This commit is contained in:
lxy
2026-07-01 21:50:16 +08:00
parent f4fc0feff5
commit ae6d3d0043
6 changed files with 735 additions and 7 deletions
+5 -5
View File
@@ -784,16 +784,16 @@ mod tests {
let repo = setup().await;
repo.insert(trec("parent", "todo", None)).await.unwrap();
// 4 个子任务:status 分布 todo×2 / in_progress×1 / done×1(queue 统一 todo)
repo.insert(trec_full("c1", "todo", Some("parent"), "todo"))
repo.insert(trec_full("c1", "todo", Some("parent"), TaskStatus::Todo))
.await
.unwrap();
repo.insert(trec_full("c2", "todo", Some("parent"), "todo"))
repo.insert(trec_full("c2", "todo", Some("parent"), TaskStatus::Todo))
.await
.unwrap();
repo.insert(trec_full("c3", "todo", Some("parent"), "in_progress"))
repo.insert(trec_full("c3", "todo", Some("parent"), TaskStatus::InProgress))
.await
.unwrap();
repo.insert(trec_full("c4", "todo", Some("parent"), "done"))
repo.insert(trec_full("c4", "todo", Some("parent"), TaskStatus::Done))
.await
.unwrap();
@@ -841,7 +841,7 @@ mod tests {
repo.insert(trec_full("parent", "todo", None, TaskStatus::Todo))
.await
.unwrap();
let ok = repo.set_status_for_aggregation("parent", "in_progress");
let ok = repo.set_status_for_aggregation("parent", "in_progress").await.unwrap();
assert!(ok, "应命中写入");
let after = repo.get_by_id("parent").await.unwrap().unwrap();
assert_eq!(after.status.as_str(), "in_progress", "status 应被聚合写入更新");