From 4a8530660e2524e19b6a2f51e7511f9a179176a1 Mon Sep 17 00:00:00 2001 From: csh Date: Thu, 22 Jan 2026 18:05:14 +0800 Subject: [PATCH] :wastebasket: remove(workflow): drop todo/confirm artifacts stop generating TODO.md and CONFIRM.md in sync_templates\nupdate templates/prompts and sync_templates tests --- scripts/sync_templates.bat | 39 +--------------- scripts/sync_templates.ps1 | 38 --------------- scripts/sync_templates.sh | 46 ------------------- templates/AGENTS.template.md | 3 +- templates/AGENT_RULES.template.md | 31 ++++++------- templates/prompts/coding/verify.template.md | 1 - .../prompts/system/agent-behavior.template.md | 8 ++-- tests/scripts/test_sync_templates.bats | 4 +- 8 files changed, 22 insertions(+), 148 deletions(-) diff --git a/scripts/sync_templates.bat b/scripts/sync_templates.bat index c952d5b..cd93eee 100644 --- a/scripts/sync_templates.bat +++ b/scripts/sync_templates.bat @@ -211,7 +211,7 @@ if exist "%AGENT_RULES_SRC%" ( if exist "%AGENT_RULES_DST%" ( if "%FORCE%"=="0" ( echo AGENT_RULES.md already exists. Skip. Use -force to overwrite. - goto sync_todo + goto sync_done ) ) copy /y "%AGENT_RULES_SRC%" "%AGENT_RULES_DST%" >nul @@ -221,42 +221,7 @@ if exist "%AGENT_RULES_SRC%" ( echo Skip: AGENT_RULES.template.md not found ) -:sync_todo -rem 5. Create TODO.md if not exist -set "TODO_DST=%PROJECT_ROOT%\TODO.md" -if not exist "%TODO_DST%" ( - > "%TODO_DST%" echo # TODO - >> "%TODO_DST%" echo. - >> "%TODO_DST%" echo ## Plan 1: [计划名称] - >> "%TODO_DST%" echo. - >> "%TODO_DST%" echo - [ ] 任务 1 - >> "%TODO_DST%" echo - [ ] 任务 2 - >> "%TODO_DST%" echo. - >> "%TODO_DST%" echo --- - >> "%TODO_DST%" echo. - >> "%TODO_DST%" echo **最后更新**:%SYNC_DATE% - echo Created: TODO.md -) - -rem 6. Create CONFIRM.md if not exist -set "CONFIRM_DST=%PROJECT_ROOT%\CONFIRM.md" -if not exist "%CONFIRM_DST%" ( - > "%CONFIRM_DST%" echo # 待确认事项 - >> "%CONFIRM_DST%" echo. - >> "%CONFIRM_DST%" echo ## 待确认 - >> "%CONFIRM_DST%" echo. - >> "%CONFIRM_DST%" echo ^ - -## 已确认 - - - ---- - -**最后更新**:$Date -"@ | Set-Content -Path $ConfirmPath -Encoding UTF8 - Write-Host "Created: CONFIRM.md" -} - Write-Host "" Write-Host "Done." Write-Host "" diff --git a/scripts/sync_templates.sh b/scripts/sync_templates.sh index 15bbd16..b233489 100644 --- a/scripts/sync_templates.sh +++ b/scripts/sync_templates.sh @@ -314,52 +314,6 @@ else echo "Skip: AGENT_RULES.template.md not found" fi -# 5. Create TODO.md and CONFIRM.md if not exist -if [ ! -f "$PROJECT_ROOT/TODO.md" ]; then - cat > "$PROJECT_ROOT/TODO.md" <<'EOF' -# TODO - -## Plan 1: [计划名称] - -- [ ] 任务 1 -- [ ] 任务 2 - ---- - -**最后更新**:{{DATE}} -EOF - date_repl="$(escape_sed_replacement "$SYNC_DATE")" - if ! sed -i "s/{{DATE}}/$date_repl/g" "$PROJECT_ROOT/TODO.md" 2>/dev/null; then - sed "s/{{DATE}}/$date_repl/g" "$PROJECT_ROOT/TODO.md" > "$PROJECT_ROOT/TODO.md.tmp" - mv "$PROJECT_ROOT/TODO.md.tmp" "$PROJECT_ROOT/TODO.md" - fi - echo "Created: TODO.md" -fi - -if [ ! -f "$PROJECT_ROOT/CONFIRM.md" ]; then - cat > "$PROJECT_ROOT/CONFIRM.md" <<'EOF' -# 待确认事项 - -## 待确认 - - - -## 已确认 - - - ---- - -**最后更新**:{{DATE}} -EOF - date_repl="$(escape_sed_replacement "$SYNC_DATE")" - if ! sed -i "s/{{DATE}}/$date_repl/g" "$PROJECT_ROOT/CONFIRM.md" 2>/dev/null; then - sed "s/{{DATE}}/$date_repl/g" "$PROJECT_ROOT/CONFIRM.md" > "$PROJECT_ROOT/CONFIRM.md.tmp" - mv "$PROJECT_ROOT/CONFIRM.md.tmp" "$PROJECT_ROOT/CONFIRM.md" - fi - echo "Created: CONFIRM.md" -fi - echo "" echo "Done." echo "" diff --git a/templates/AGENTS.template.md b/templates/AGENTS.template.md index 9d0647d..cbdd374 100644 --- a/templates/AGENTS.template.md +++ b/templates/AGENTS.template.md @@ -7,7 +7,6 @@ 1. 系统/开发者指令与安全约束 2. 仓库规则:`.agents/` 与本文件 3. `AGENT_RULES.md` - 执行流程 -4. `TODO.md` - 任务队列 --- @@ -52,7 +51,7 @@ 1. 读取 [AGENT_RULES.md](./AGENT_RULES.md) 2. 读取 [memory-bank/](memory-bank/) 核心文档 3. 读取 [docs/prompts/system/agent-behavior.md](docs/prompts/system/agent-behavior.md) -4. 查看 [TODO.md](./TODO.md) 和 [CONFIRM.md](./CONFIRM.md) +4. 查看 `docs/plans/` 下最新计划(如有)或 `memory-bank/implementation-plan.md` --- diff --git a/templates/AGENT_RULES.template.md b/templates/AGENT_RULES.template.md index 54c1c2b..22efd57 100644 --- a/templates/AGENT_RULES.template.md +++ b/templates/AGENT_RULES.template.md @@ -7,7 +7,6 @@ 1. 系统/开发者指令与安全约束 2. 仓库规则:`.agents/` 与 `AGENTS.md` 3. 本文件 -4. `TODO.md` ## 上下文加载(每次会话开始) @@ -16,29 +15,27 @@ 1. `memory-bank/project-brief.md` - 项目定位、边界、约束 2. `memory-bank/tech-stack.md` - 技术栈、工具链 3. `memory-bank/architecture.md` - 架构设计、模块职责 -4. `TODO.md` - 当前任务队列 -5. `CONFIRM.md` - 待确认事项 +4. `docs/plans/` - 最新实施计划(如存在) +5. `memory-bank/implementation-plan.md` - 当前实施计划(如存在) **目的**:让 AI 快速理解项目全貌,避免重复解释。 ## 主循环 -1. 读取 `TODO.md` -2. 选择最上方的 Plan -3. **读取 `memory-bank/implementation-plan.md`**(若该 Plan 有对应说明) -4. 执行该 Plan 内所有可执行子任务 -5. 校验输出结果(运行测试/检查日志) -6. **更新 `memory-bank/progress.md`**(记录已完成事项) -7. 如存在歧义/风险/决策点,记录到 `CONFIRM.md` -8. 若 Plan 已全部完成,则从 `TODO.md` 移除 -9. 若 Plan 因缺少信息而阻塞,标记为 `BLOCKED` 并移到 `TODO.md` 末尾 -10. 重新读取 `TODO.md`,继续下一个 Plan +1. 选择当前 Plan 文档(优先 `docs/plans/` 最新计划) +2. 阅读 Plan 内容与执行顺序 +3. 执行该 Plan 内所有可执行子任务 +4. 校验输出结果(运行测试/检查日志) +5. **更新 `memory-bank/progress.md`**(记录已完成事项) +6. 如存在歧义/风险/决策点,在回复中明确提出,并视需要记录到 `memory-bank/decisions.md` +7. 若 Plan 已全部完成,更新 Plan 状态并在 `memory-bank/progress.md` 记录完成 +8. 若 Plan 因缺少信息而阻塞,在 `memory-bank/progress.md` 标记阻塞原因 ## Plan 规则 -- 不因等待确认而中断;记录到 `CONFIRM.md` 后继续 +- 不因等待确认而中断可执行步骤;待确认事项在回复中列出 - 执行并验证该 Plan 中所有可执行的子任务 -- 若因缺少信息/决策而阻塞:记录 `CONFIRM.md`,标记为 `BLOCKED`,移到末尾(不移除) +- 若因缺少信息/决策而阻塞:在 `memory-bank/progress.md` 记录阻塞原因 - 每轮只处理一个 Plan - **小步快跑**:每个 Plan 应该可快速完成 - **可验证**:每个 Plan 必须包含验证步骤 @@ -54,10 +51,10 @@ ### 决策记录约束 - **重要决策**:记录到 `memory-bank/decisions.md`(ADR 格式) -- **临时确认**:记录到 `CONFIRM.md`(会话级) +- **待确认事项**:在回复中列出并等待确认 - **进度留痕**:记录到 `memory-bank/progress.md`(持久化) -## CONFIRM.md 触发条件 +## 需要确认的场景 - 需求不明确或存在多种可行方案 - 需要行为/兼容性取舍 diff --git a/templates/prompts/coding/verify.template.md b/templates/prompts/coding/verify.template.md index 2ae77c5..4ba6624 100644 --- a/templates/prompts/coding/verify.template.md +++ b/templates/prompts/coding/verify.template.md @@ -43,7 +43,6 @@ - [ ] `memory-bank/progress.md` 已更新 - [ ] 重要决策记录到 `memory-bank/decisions.md` -- [ ] `CONFIRM.md` 中需讨论事项已记录 --- diff --git a/templates/prompts/system/agent-behavior.template.md b/templates/prompts/system/agent-behavior.template.md index 71f1769..75be1ef 100644 --- a/templates/prompts/system/agent-behavior.template.md +++ b/templates/prompts/system/agent-behavior.template.md @@ -51,7 +51,7 @@ - 收集相关日志和输出 - 分析差异原因 -- 记录到 `CONFIRM.md` 或直接修复 +- 记录待确认事项并在回复中提出,或直接修复 - 重新验证 **适用场景**: @@ -144,16 +144,16 @@ ## 决策原则 -### 何时记录到 CONFIRM.md +### 何时需要确认 -**必须记录**: +**必须确认**: - 需求有歧义,存在多种理解 - 有多个技术方案,需要权衡 - 可能破坏兼容性 - 涉及架构变更 -**可以不记录**: +**可以不确认**: - 明显的 bug 修复 - 符合现有模式的小改动 diff --git a/tests/scripts/test_sync_templates.bats b/tests/scripts/test_sync_templates.bats index 1ae1274..d84e73f 100644 --- a/tests/scripts/test_sync_templates.bats +++ b/tests/scripts/test_sync_templates.bats @@ -30,11 +30,9 @@ teardown() { [ -f "$TARGET_DIR/docs/prompts/coding/clarify.md" ] [ -f "$TARGET_DIR/AGENTS.md" ] [ -f "$TARGET_DIR/AGENT_RULES.md" ] - [ -f "$TARGET_DIR/TODO.md" ] - [ -f "$TARGET_DIR/CONFIRM.md" ] grep -q "DemoProject" "$TARGET_DIR/memory-bank/project-brief.md" - ! grep -q "{{DATE}}" "$TARGET_DIR/TODO.md" + ! grep -q "{{DATE}}" "$TARGET_DIR/AGENT_RULES.md" [ -z "$(find "$TARGET_DIR" -name '*.template.md' -print -quit)" ] }