diff --git a/.task/feature-durable-rewind.md b/.task/feature-durable-rewind.md new file mode 100644 index 00000000..4f5b590e --- /dev/null +++ b/.task/feature-durable-rewind.md @@ -0,0 +1,29 @@ +# feature/durable-rewind 任务卡 + +任务主记录:;状态:进行中;owner:weichen + +## 基线与授权 + +- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 10fabbc4040a451023ad2f2ef10687a835ba4eb5 +- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-durable-rewind(worktree);分支:feature/durable-rewind +- 授权与交付终点:实现批次 7(持久与回滚)。允许改 agent-native、agent-squad(仅透传)、core、backend、frontend、ui 与 Dev 指针;经 Gitea PR 合入 main 后回收 worktree。不回滚对话历史,不引入 pi-durable 或第三方 OTel SDK。 + +## 目标与非目标 + +- 目标:工具意图与结果分两次落盘;只有存储时与当前声明都是 safe 才重跑,否则写入「副作用未知,未重试」。请求由已落盘投影组装。文件检查点与回滚 API、用户消息上的回滚确认。模型回退链默认空,仅在尚未输出时切换。GenAI span 名为 invoke_agent、chat、execute_tool,默认不采提示词。 +- 非目标:回滚消息历史;透明续跑;把 shell/python 的改动纳入文件追踪。 + +## 同步记录 + +| 节点 | sync_base_sha | tested_head_sha | checked_at | +|---|---|---|---| +| 启动 | 10fabbc4040a451023ad2f2ef10687a835ba4eb5 | 10fabbc4040a451023ad2f2ef10687a835ba4eb5 | 2026-10-03T17:10:34Z | + +## 结果与验证(完成后填写) + +- 结果:native fb2b3b7,squad a3b49e7,core 5dc190e,backend bead033,frontend e26119d,ui 8e66bce。 +- 验证:各仓单测已过。worktree 内 `make test` 与 `make build` 通过。临时 mock(127.0.0.1:8802)上打开回滚确认:无检查点时显示「没有需要回滚的文件」且确认按钮不可用;写入检查点后列出将恢复的 notes.txt 与跳过的 note.txt,确认后 notes.txt 被删除、note.txt 保持外部内容,并追加系统提示。 +- 影响与剩余项:回退链默认空;检查点只追踪显式写入;shell 与 python 的改动不回滚。 +| 同步前验收 | 10fabbc4040a451023ad2f2ef10687a835ba4eb5 | ac10d830dff720a5a83ceb6740565110062fc757 | 2026-10-03T17:39:57Z | +| 同步前验收 | 10fabbc4040a451023ad2f2ef10687a835ba4eb5 | 4673cf235a9d591b271d480464c6151a7489cf18 | 2026-10-03T17:39:57Z | +| 同步前验收 | 10fabbc4040a451023ad2f2ef10687a835ba4eb5 | 84395c92ffebd78608109eebc91eec9e086f9b65 | 2026-10-03T17:39:58Z | diff --git a/deps/agent-native b/deps/agent-native index 0a52d9f9..fb2b3b79 160000 --- a/deps/agent-native +++ b/deps/agent-native @@ -1 +1 @@ -Subproject commit 0a52d9f9763372ef1b4d061934d60f15fd8bcbea +Subproject commit fb2b3b796c57246306cd7384b60fb671ce371143 diff --git a/deps/agent-squad b/deps/agent-squad index beea97e8..a3b49e7b 160000 --- a/deps/agent-squad +++ b/deps/agent-squad @@ -1 +1 @@ -Subproject commit beea97e8cf8f509289545827bc3034a940433ca4 +Subproject commit a3b49e7b1f563b34661cec026f58eec3f135fdbd diff --git a/modules/backend b/modules/backend index ce95cd13..bead0337 160000 --- a/modules/backend +++ b/modules/backend @@ -1 +1 @@ -Subproject commit ce95cd1355e31317ca8a585db43f66bd8767d910 +Subproject commit bead03374eb0e50de266afe5d232af511ef71159 diff --git a/modules/core b/modules/core index cf7df548..5dc190ee 160000 --- a/modules/core +++ b/modules/core @@ -1 +1 @@ -Subproject commit cf7df54874c20f8ae9cb4e48b2c75f9ef6968f14 +Subproject commit 5dc190ee63174be71208609309f0b36a5fe070e0 diff --git a/modules/frontend b/modules/frontend index 0eaced4d..e26119db 160000 --- a/modules/frontend +++ b/modules/frontend @@ -1 +1 @@ -Subproject commit 0eaced4d5acc73a5eabc6007271aeeaf986114aa +Subproject commit e26119db89d254aee15fba834e4bf1d8309ad153 diff --git a/modules/ui b/modules/ui index aa67088d..8e66bce0 160000 --- a/modules/ui +++ b/modules/ui @@ -1 +1 @@ -Subproject commit aa67088d5485d50f5f56c3073b99b5b1162d9131 +Subproject commit 8e66bce0f93529ae6e709cecf4b9db804da460cf