🗑️ remove(workflow): drop todo/confirm artifacts

stop generating TODO.md and CONFIRM.md in sync_templates\nupdate templates/prompts and sync_templates tests
This commit is contained in:
csh 2026-01-22 18:05:14 +08:00
parent 9c5ee9f665
commit 4a8530660e
8 changed files with 22 additions and 148 deletions

View File

@ -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 ^<!-- 记录需要确认的事项 --^>
>> "%CONFIRM_DST%" echo.
>> "%CONFIRM_DST%" echo ## 已确认
>> "%CONFIRM_DST%" echo.
>> "%CONFIRM_DST%" echo ^<!-- 已确认的事项移到这里 --^>
>> "%CONFIRM_DST%" echo.
>> "%CONFIRM_DST%" echo ---
>> "%CONFIRM_DST%" echo.
>> "%CONFIRM_DST%" echo **最后更新**%SYNC_DATE%
echo Created: CONFIRM.md
)
:sync_done
echo.
echo Done.
echo.

View File

@ -239,44 +239,6 @@ if (Test-Path $AgentRulesSrc) {
Write-Host "Skip: AGENT_RULES.template.md not found"
}
# 5. Create TODO.md and CONFIRM.md if not exist
$TodoPath = Join-Path $ProjectRoot "TODO.md"
if (-not (Test-Path $TodoPath)) {
@"
# TODO
## Plan 1: [计划名称]
- [ ] 任务 1
- [ ] 任务 2
---
**最后更新**$Date
"@ | Set-Content -Path $TodoPath -Encoding UTF8
Write-Host "Created: TODO.md"
}
$ConfirmPath = Join-Path $ProjectRoot "CONFIRM.md"
if (-not (Test-Path $ConfirmPath)) {
@"
# 待确认事项
## 待确认
<!-- 记录需要确认的事项 -->
## 已确认
<!-- 已确认的事项移到这里 -->
---
**最后更新**$Date
"@ | Set-Content -Path $ConfirmPath -Encoding UTF8
Write-Host "Created: CONFIRM.md"
}
Write-Host ""
Write-Host "Done."
Write-Host ""

View File

@ -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 ""

View File

@ -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`
<!-- playbook:framework:end -->
---

View File

@ -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 触发条件
## 需要确认的场景
- 需求不明确或存在多种可行方案
- 需要行为/兼容性取舍

View File

@ -43,7 +43,6 @@
- [ ] `memory-bank/progress.md` 已更新
- [ ] 重要决策记录到 `memory-bank/decisions.md`
- [ ] `CONFIRM.md` 中需讨论事项已记录
---

View File

@ -51,7 +51,7 @@
- 收集相关日志和输出
- 分析差异原因
- 记录`CONFIRM.md` 或直接修复
- 记录待确认事项并在回复中提出,或直接修复
- 重新验证
**适用场景**
@ -144,16 +144,16 @@
## 决策原则
### 何时记录到 CONFIRM.md
### 何时需要确认
**必须记录**
**必须确认**
- 需求有歧义,存在多种理解
- 有多个技术方案,需要权衡
- 可能破坏兼容性
- 涉及架构变更
**可以不记录**
**可以不确认**
- 明显的 bug 修复
- 符合现有模式的小改动

View File

@ -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)" ]
}