80ebbd4的任务收尾

This commit is contained in:
2025-12-18 12:50:59 +08:00
parent 80ebbd4d85
commit 2ba61695d0
14 changed files with 813 additions and 123 deletions

View File

@@ -1,5 +1,5 @@
{
"next_number": 15,
"next_number": 16,
"branches": [
{
"number": 1,
@@ -162,6 +162,18 @@
"status": "finished",
"end_commit": "d2882c9b995ee686fac48e183191848d6071c995",
"finished_at": "2025-12-18T11:53:15+08:00"
},
{
"number": 15,
"branch_name": "aide/015",
"source_branch": "master",
"start_commit": "80ebbd4d85aaa8b3408cd83c35627c972057beda",
"task_id": "2025-12-18T12-14-13",
"task_summary": "开始任务准备: 调整 Aide 工作流流程",
"started_at": "2025-12-18T12:14:13+08:00",
"status": "finished",
"end_commit": "80ebbd4d85aaa8b3408cd83c35627c972057beda",
"finished_at": "2025-12-18T12:50:59+08:00"
}
]
}

View File

@@ -1,5 +1,15 @@
# Git 分支概况
## aide/015
- **任务**: 开始任务准备: 调整 Aide 工作流流程
- **任务ID**: 2025-12-18T12-14-13
- **源分支**: master
- **起始提交**: 80ebbd4
- **结束提交**: 80ebbd4
- **状态**: finished
- **时间**: 2025-12-18 12:14 ~ 12:50
## aide/014
- **任务**: 测试

View File

@@ -56,6 +56,12 @@ source = "task-now.md"
# /aide:exec 命令在未指定参数时读取此文件
spec = "task-spec.md"
# 复杂任务计划文档目录
# 当任务被拆分为多个子计划时,存放:
# - guide.md: 任务计划总导览
# - spec-01.md, spec-02.md, ...: 各子计划细则
plans_path = ".aide/task-plans/"
################################################################################
# [env] - 环境检测配置
################################################################################
@@ -168,8 +174,9 @@ block_plan_path = ".aide/project-docs/block-plan.md"
# impl - 迭代实现
# verify - 验证交付
# docs - 文档更新
# confirm - 用户确认(审阅与返工)
# finish - 收尾
phases = ["task-optimize", "flow-design", "impl", "verify", "docs", "finish"]
phases = ["task-optimize", "flow-design", "impl", "verify", "docs", "confirm", "finish"]
# 流程图目录路径
# 存放 PlantUML 源文件(.puml和生成的图片.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

@@ -1,45 +1,56 @@
@startuml task-flow
title 任务执行流程图:改进 aide flow 的 git 工作流
!theme plain
title 任务执行流程图:调整 Aide 工作流流程
start
:阅读任务细则;
note right: task-spec.md
partition "代码修改" {
:修改 branch.py;
note right
- 重构 _merge_normal()
- 添加清理函数
- 修改提交信息格式
end note
partition "1. 准备阶段" {
:读取 config.py;
:添加 plans_path 默认配置;
}
:修改 tracker.py;
partition "2. run.md 修改 - 任务细则部分" {
:定位"1.8 生成任务细则"部分;
:增加复杂任务处理逻辑;
note right
调整 finish 触发逻辑
(如需要)
- 判断是否为复杂任务
- 创建 .aide/task-plans/ 目录
- 生成 guide.md 总导览
- 生成 spec-NN.md 子计划
end note
}
partition "测试验证" {
:创建测试任务;
:执行完整 flow 流程;
:检查最终 git 历史;
partition "3. run.md 修改 - 子计划执行部分" {
:定位"复杂任务的子计划执行"部分;
:明确文档结构和操作方式;
}
if (只有 2 个提交?) then (是)
:检查文件清理结果;
if (清理正确?) then (是)
:验证通过;
else (否)
:修复清理逻辑;
-> 执行完整 flow 流程;
endif
partition "4. run.md 修改 - 插入 confirm 阶段" {
:定位"阶段 5文档更新"之后;
:插入"阶段 6用户确认 (confirm)";
note right
- 报告完成信息
- 等待用户确认
- 返工机制说明
end note
:将原"阶段 6收尾"改为"阶段 7收尾";
}
partition "5. aide skill 更新" {
:读取 aide.md;
:添加 plans_path 配置说明;
:更新环节列表(增加 confirm;
}
partition "6. 验证" {
:检查所有修改点;
if (验证通过?) then (是)
:完成;
else (否)
:修复合并逻辑;
-> 执行完整 flow 流程;
:修复问题;
endif
}
:更新文档;
stop
@enduml

View File

@@ -0,0 +1,174 @@
{
"input": {
"task": "调整 Aide 工作流流程",
"source": "task-now.md",
"items": [
{
"id": 1,
"title": "新阶段命名",
"options": [
{
"value": "review",
"label": "review",
"score": 90.0,
"pros": [
"语义清晰,表示审阅",
"简洁常用"
],
"cons": [
"与 code review 可能混淆"
]
},
{
"value": "confirm",
"label": "confirm",
"score": 85.0,
"pros": [
"明确表示确认动作",
"与任务流程含义一致"
],
"cons": [
"较长"
]
},
{
"value": "approve",
"label": "approve",
"score": 75.0,
"pros": [
"表示批准/通过",
"正式感强"
],
"cons": [
"较正式,可能过于严肃"
]
}
],
"location": {
"file": "task-now.md",
"start": 3,
"end": 9
},
"context": "需要在 docs 和 finish 之间插入一个用户确认阶段。当前 flow phases 为: task-optimize, flow-design, impl, verify, docs, finish。新阶段需要一个简洁且语义明确的英文名称。",
"recommend": "review"
},
{
"id": 2,
"title": "复杂任务文档存储位置",
"options": [
{
"value": "aide_dir",
"label": ".aide/task-plans/",
"score": 90.0,
"pros": [
"与现有 .aide/ 结构一致",
"集中管理",
"自动被 gitignore"
],
"cons": [
"路径较深"
]
},
{
"value": "root_dir",
"label": "项目根目录",
"score": 60.0,
"pros": [
"访问方便"
],
"cons": [
"污染根目录",
"需要手动 gitignore"
]
},
{
"value": "spec_alongside",
"label": "与 task.spec 同目录",
"score": 75.0,
"pros": [
"与现有细则位置一致"
],
"cons": [
"需要额外的命名规范"
]
}
],
"location": {
"file": "task-now.md",
"start": 27,
"end": 28
},
"context": "复杂任务需要生成任务计划总导览和多个子计划细则,每个都是独立文档。需要确定这些文档的存储位置。",
"recommend": "aide_dir"
},
{
"id": 3,
"title": "子计划文档命名规范",
"options": [
{
"value": "numbered",
"label": "数字编号: spec-01.md, spec-02.md",
"score": 85.0,
"pros": [
"简洁",
"顺序清晰"
],
"cons": [
"无语义信息"
]
},
{
"value": "named",
"label": "语义命名: spec-login.md, spec-payment.md",
"score": 80.0,
"pros": [
"语义清晰",
"易于识别"
],
"cons": [
"命名需要额外考虑",
"可能重名"
]
},
{
"value": "hybrid",
"label": "混合: spec-01-login.md, spec-02-payment.md",
"score": 90.0,
"pros": [
"兼顾顺序和语义",
"易于排序和识别"
],
"cons": [
"命名较长"
]
}
],
"location": {
"file": "task-now.md",
"start": 27,
"end": 28
},
"context": "每个子计划需要独立的细则文档,需要确定命名规范以便识别和管理。",
"recommend": "hybrid"
}
]
},
"output": {
"decisions": [
{
"id": 1,
"chosen": "confirm"
},
{
"id": 2,
"chosen": "aide_dir",
"note": "需要跟source spec一样在环境配置中设置使用时通过aide获取配置的路径默认配置值为.aide/task-plans/"
},
{
"id": 3,
"chosen": "numbered"
}
]
},
"completed_at": "2025-12-18T12:21:10+08:00"
}

View File

@@ -0,0 +1,158 @@
{
"task": "调整 Aide 工作流流程",
"source": "task-now.md",
"items": [
{
"id": 1,
"title": "新阶段命名",
"options": [
{
"value": "review",
"label": "review",
"score": 90.0,
"pros": [
"语义清晰,表示审阅",
"简洁常用"
],
"cons": [
"与 code review 可能混淆"
]
},
{
"value": "confirm",
"label": "confirm",
"score": 85.0,
"pros": [
"明确表示确认动作",
"与任务流程含义一致"
],
"cons": [
"较长"
]
},
{
"value": "approve",
"label": "approve",
"score": 75.0,
"pros": [
"表示批准/通过",
"正式感强"
],
"cons": [
"较正式,可能过于严肃"
]
}
],
"location": {
"file": "task-now.md",
"start": 3,
"end": 9
},
"context": "需要在 docs 和 finish 之间插入一个用户确认阶段。当前 flow phases 为: task-optimize, flow-design, impl, verify, docs, finish。新阶段需要一个简洁且语义明确的英文名称。",
"recommend": "review"
},
{
"id": 2,
"title": "复杂任务文档存储位置",
"options": [
{
"value": "aide_dir",
"label": ".aide/task-plans/",
"score": 90.0,
"pros": [
"与现有 .aide/ 结构一致",
"集中管理",
"自动被 gitignore"
],
"cons": [
"路径较深"
]
},
{
"value": "root_dir",
"label": "项目根目录",
"score": 60.0,
"pros": [
"访问方便"
],
"cons": [
"污染根目录",
"需要手动 gitignore"
]
},
{
"value": "spec_alongside",
"label": "与 task.spec 同目录",
"score": 75.0,
"pros": [
"与现有细则位置一致"
],
"cons": [
"需要额外的命名规范"
]
}
],
"location": {
"file": "task-now.md",
"start": 27,
"end": 28
},
"context": "复杂任务需要生成任务计划总导览和多个子计划细则,每个都是独立文档。需要确定这些文档的存储位置。",
"recommend": "aide_dir"
},
{
"id": 3,
"title": "子计划文档命名规范",
"options": [
{
"value": "numbered",
"label": "数字编号: spec-01.md, spec-02.md",
"score": 85.0,
"pros": [
"简洁",
"顺序清晰"
],
"cons": [
"无语义信息"
]
},
{
"value": "named",
"label": "语义命名: spec-login.md, spec-payment.md",
"score": 80.0,
"pros": [
"语义清晰",
"易于识别"
],
"cons": [
"命名需要额外考虑",
"可能重名"
]
},
{
"value": "hybrid",
"label": "混合: spec-01-login.md, spec-02-payment.md",
"score": 90.0,
"pros": [
"兼顾顺序和语义",
"易于排序和识别"
],
"cons": [
"命名较长"
]
}
],
"location": {
"file": "task-now.md",
"start": 27,
"end": 28
},
"context": "每个子计划需要独立的细则文档,需要确定命名规范以便识别和管理。",
"recommend": "hybrid"
}
],
"_meta": {
"created_at": "2025-12-18T12:18:01+08:00",
"session_id": "2025-12-18T12-18-01"
}
}

View File

@@ -0,0 +1,139 @@
{
"task_id": "2025-12-18T12-14-13",
"current_phase": "finish",
"current_step": 16,
"started_at": "2025-12-18T12:14:13+08:00",
"history": [
{
"timestamp": "2025-12-18T12:14:13+08:00",
"action": "start",
"phase": "task-optimize",
"step": 1,
"summary": "开始任务准备: 调整 Aide 工作流流程",
"git_commit": "3ad14cbd896ab9955dba3bb0bdb0999ffdca83e4"
},
{
"timestamp": "2025-12-18T12:21:59+08:00",
"action": "next-step",
"phase": "task-optimize",
"step": 2,
"summary": "用户完成待定项确认",
"git_commit": "1d8daf1a267a7e3260e45332b26c2760a5b19919"
},
{
"timestamp": "2025-12-18T12:30:51+08:00",
"action": "next-step",
"phase": "task-optimize",
"step": 3,
"summary": "任务细则已确认",
"git_commit": "a3624f0994278ad348148431dacc73d97b597762"
},
{
"timestamp": "2025-12-18T12:31:12+08:00",
"action": "next-part",
"phase": "flow-design",
"step": 4,
"summary": "进入流程设计环节",
"git_commit": "2e8e756908c5fe151bee21c2e8e1c86bbb1425f4"
},
{
"timestamp": "2025-12-18T12:32:26+08:00",
"action": "next-step",
"phase": "flow-design",
"step": 5,
"summary": "流程图设计完成",
"git_commit": "a1175f0cfb818c852fc32c17e74147c5022062be"
},
{
"timestamp": "2025-12-18T12:32:55+08:00",
"action": "next-part",
"phase": "impl",
"step": 6,
"summary": "流程设计完成,进入实现环节",
"git_commit": "99710dd8a649188db92f0e18c71ed92b4e73c189"
},
{
"timestamp": "2025-12-18T12:34:08+08:00",
"action": "next-step",
"phase": "impl",
"step": 7,
"summary": "完成 config.py 修改: 添加 plans_path 和 confirm 阶段",
"git_commit": "7a902cf5485e88228ed6469bdce96fde59cc8288"
},
{
"timestamp": "2025-12-18T12:36:37+08:00",
"action": "next-step",
"phase": "impl",
"step": 8,
"summary": "完成 run.md 修改: 任务细则、子计划执行、confirm 阶段",
"git_commit": "d7a105bbcc3a9bd5f0eba607b7681efbc9a08b23"
},
{
"timestamp": "2025-12-18T12:38:13+08:00",
"action": "next-step",
"phase": "impl",
"step": 9,
"summary": "完成 aide skill 文档更新",
"git_commit": "ec3b4e342f058296742a78eed403c3a859fe4e1a"
},
{
"timestamp": "2025-12-18T12:38:26+08:00",
"action": "next-part",
"phase": "verify",
"step": 10,
"summary": "实现完成,进入验证环节",
"git_commit": "f6657164870f26e6576baa50325322961164eda5"
},
{
"timestamp": "2025-12-18T12:40:20+08:00",
"action": "next-step",
"phase": "verify",
"step": 11,
"summary": "验证完成: 所有修改点确认正确",
"git_commit": "1955a2701c8244bd17d3c927465d180d89b080da"
},
{
"timestamp": "2025-12-18T12:40:35+08:00",
"action": "next-part",
"phase": "docs",
"step": 12,
"summary": "验证通过,进入文档环节",
"git_commit": "7eb5a3443d6e121ebe0622938113b5e19c96873e"
},
{
"timestamp": "2025-12-18T12:42:11+08:00",
"action": "next-step",
"phase": "docs",
"step": 13,
"summary": "文档更新完成: 更新 CHANGELOG.md",
"git_commit": "4494170b932f74e0749e527cfe0e50b287d987d4"
},
{
"timestamp": "2025-12-18T12:42:22+08:00",
"action": "next-part",
"phase": "confirm",
"step": 14,
"summary": "文档更新完成,进入用户确认环节",
"git_commit": "9f1c0fdfc3f47a1926f437e3b7a7681287d5cbc3"
},
{
"timestamp": "2025-12-18T12:50:46+08:00",
"action": "next-step",
"phase": "confirm",
"step": 15,
"summary": "用户确认通过",
"git_commit": "749b20fa15d8726e72bb2bfc404021208d8b5559"
},
{
"timestamp": "2025-12-18T12:50:59+08:00",
"action": "next-part",
"phase": "finish",
"step": 16,
"summary": "用户确认通过,进入收尾",
"git_commit": "a0bba367bc101c28b27efee0b925335466779ccf"
}
],
"source_branch": "master",
"start_commit": "80ebbd4d85aaa8b3408cd83c35627c972057beda",
"task_branch": "aide/015"
}

View File

@@ -1,94 +1,108 @@
{
"task": "创建环境安装 Command",
"task": "调整 Aide 工作流流程",
"source": "task-now.md",
"items": [
{
"id": 1,
"title": "离线安装程序是否需要实现?",
"title": "新阶段命名",
"location": {
"file": "task-now.md",
"start": 17,
"end": 21
"start": 3,
"end": 9
},
"context": "任务文档中询问是否可以实现离线安装方案:先提供资源清单,用户下载资源后通过程序完成安装。这是一个独立的功能模块,与 Command 是两种不同的实现方式。",
"context": "需要在 docs 和 finish 之间插入一个用户确认阶段。当前 flow phases 为: task-optimize, flow-design, impl, verify, docs, finish。新阶段需要一个简洁且语义明确的英文名称。",
"options": [
{
"value": "defer",
"label": "暂不实现,作为后续迭代",
"value": "review",
"label": "review",
"score": 90,
"pros": ["语义清晰,表示审阅", "简洁常用"],
"cons": ["与 code review 可能混淆"]
},
{
"value": "confirm",
"label": "confirm",
"score": 85,
"pros": ["聚焦核心需求", "减少本次工作量", "可以先验证 Command 方案的有效性"],
"cons": ["无法处理完全无网络的环境"]
"pros": ["明确表示确认动作", "与任务流程含义一致"],
"cons": ["较长"]
},
{
"value": "implement",
"label": "本次一并实现离线安装程序",
"score": 60,
"pros": ["一次性完整覆盖所有场景", "支持企业内网环境"],
"cons": ["工作量大", "维护成本高", "需要处理多平台二进制分发"]
},
{
"value": "resource_list_only",
"label": "仅提供资源清单和手动指南",
"score": 70,
"pros": ["折中方案", "用户可自行下载"],
"cons": ["离线体验不完整", "用户需手动操作较多"]
"value": "approve",
"label": "approve",
"score": 75,
"pros": ["表示批准/通过", "正式感强"],
"cons": ["较正式,可能过于严肃"]
}
],
"recommend": "defer"
"recommend": "review"
},
{
"id": 2,
"title": "是否需要支持 macOS",
"title": "复杂任务文档存储位置",
"location": {
"file": "task-now.md",
"start": 5,
"end": 5
"start": 27,
"end": 28
},
"context": "任务文档明确提到需要为 Windows 和 Linux 创建专用 command但未提及 macOS。macOS 在开发者群体中使用广泛,需要确认是否纳入本次实现范围。",
"context": "复杂任务需要生成任务计划总导览和多个子计划细则,每个都是独立文档。需要确定这些文档的存储位置。",
"options": [
{
"value": "no_macos",
"label": "仅支持 Windows 和 Linux",
"score": 75,
"pros": ["严格按任务要求", "减少工作量"],
"cons": ["macOS 用户无法使用"]
"value": "aide_dir",
"label": ".aide/task-plans/",
"score": 90,
"pros": ["与现有 .aide/ 结构一致", "集中管理", "自动被 gitignore"],
"cons": ["路径较深"]
},
{
"value": "include_macos",
"label": "增加 macOS 支持",
"score": 80,
"pros": ["覆盖主流开发平台", "macOS 与 Linux 安装方式相似"],
"cons": ["增加一定工作量", "需要测试验证"]
"value": "root_dir",
"label": "项目根目录",
"score": 60,
"pros": ["访问方便"],
"cons": ["污染根目录", "需要手动 gitignore"]
},
{
"value": "spec_alongside",
"label": "与 task.spec 同目录",
"score": 75,
"pros": ["与现有细则位置一致"],
"cons": ["需要额外的命名规范"]
}
],
"recommend": "include_macos"
"recommend": "aide_dir"
},
{
"id": 3,
"title": "Command 命名和组织方式",
"title": "子计划文档命名规范",
"location": {
"file": "task-now.md",
"start": 5,
"end": 5
"start": 27,
"end": 28
},
"context": "任务提到「为 Windows 和 Linux 单独创建专用的完整 command」这可以理解为两种组织方式统一命令自动检测系统或分离命令让用户选择。",
"context": "每个子计划需要独立的细则文档,需要确定命名规范以便识别和管理。",
"options": [
{
"value": "unified",
"label": "/aide:install统一命令自动检测系统",
"score": 90,
"pros": ["用户体验统一", "自动适配系统", "一个命令解决问题"],
"cons": ["Command 文件会较长"]
"value": "numbered",
"label": "数字编号: spec-01.md, spec-02.md",
"score": 85,
"pros": ["简洁", "顺序清晰"],
"cons": ["无语义信息"]
},
{
"value": "separated",
"label": "/aide:install-win 和 /aide:install-linux分离命令",
"score": 65,
"pros": ["文件结构清晰", "平台逻辑隔离"],
"cons": ["用户需要知道自己的系统", "维护多个文件"]
"value": "named",
"label": "语义命名: spec-login.md, spec-payment.md",
"score": 80,
"pros": ["语义清晰", "易于识别"],
"cons": ["命名需要额外考虑", "可能重名"]
},
{
"value": "hybrid",
"label": "混合: spec-01-login.md, spec-02-payment.md",
"score": 90,
"pros": ["兼顾顺序和语义", "易于排序和识别"],
"cons": ["命名较长"]
}
],
"recommend": "unified"
"recommend": "hybrid"
}
]
}

View File

@@ -4,6 +4,38 @@
## 2025-12-18
### 新增功能
**用户确认阶段 (confirm)**
- 在 docs 和 finish 之间新增 `confirm` 阶段
- 用于用户审阅和测试已完成的工作
- 支持返工机制:根据问题类型返回相应阶段
- 返工前强制更新任务文档,便于上下文恢复
**复杂任务子计划文档规范**
- 新增 `task.plans_path` 配置项(默认 `.aide/task-plans/`
- 规范化文档结构:
- `guide.md` - 任务计划总导览
- `spec-01.md`, `spec-02.md`, ... - 各子计划细则
- 更新复杂任务执行模式:`task-optimize → [flow-design → impl → verify → docs → confirm] × N → finish`
- 子计划状态管理:在 guide.md 中维护状态表
### 变更
- 流程阶段更新为 7 个task-optimize → flow-design → impl → verify → docs → confirm → finish
- run.md 中"阶段 6收尾"更新为"阶段 7收尾"
- 更新 aide skill 文档,添加 confirm 环节和 task-plans 目录说明
### 修改的文件
- `aide-program/aide/core/config.py` - 添加 plans_path 配置和 confirm 阶段
- `aide-marketplace/aide-plugin/commands/run.md` - 任务细则规范、子计划执行、confirm 阶段
- `aide-marketplace/aide-plugin/skills/aide/SKILL.md` - 环节列表、数据存储、流程示例
- `.aide/config.toml` - 项目配置更新
---
## 2025-12-18 (earlier)
### 变更
**aide flow finish 流程重构**

View File

@@ -139,16 +139,75 @@ aide config get task.source
**必须执行**
##### 简单/中等任务
1. 根据分析结果生成任务细则文档
2. 保存到配置的路径:
```bash
aide config get task.spec
```
3. **强制确认点**
- 向用户展示细则摘要
- 使用 AskUserQuestion 询问用户是否确认
- 等待用户明确答复后才能继续
- 如用户有修改意见,更新细则后重新确认
##### 复杂任务(需拆分为子计划)
1. 获取计划文档目录:
```bash
aide config get task.plans_path
```
2. 创建目录(如不存在)
3. 生成以下文档:
**任务计划总导览guide.md**
```markdown
# 任务计划总导览
## 任务简述
[一句话描述任务目标]
## 子计划列表
| # | 名称 | 状态 | 细则文档 |
|---|------|------|----------|
| 1 | [子计划1名称] | pending | spec-01.md |
| 2 | [子计划2名称] | pending | spec-02.md |
...
## 执行顺序
[说明子计划之间的依赖关系和执行顺序]
## 备注
[其他需要说明的内容]
```
**各子计划细则spec-01.md, spec-02.md, ...**
```markdown
# 子计划 N[名称]
## 目标
[具体目标]
## 具体步骤
1. [步骤1]
2. [步骤2]
...
## 验证标准
- [标准1]
- [标准2]
## 依赖
- 前置:[依赖的子计划,如无则写"无"]
- 后续:[依赖本计划的子计划,如无则写"无"]
```
##### 强制确认点
无论简单还是复杂任务:
- 向用户展示细则摘要
- 使用 AskUserQuestion 询问用户是否确认
- 等待用户明确答复后才能继续
- 如用户有修改意见,更新细则后重新确认
```bash
aide flow next-step "任务细则已确认"
@@ -303,10 +362,67 @@ aide flow next-part docs "验证通过,进入文档环节"
aide flow next-step "文档更新完成"
```
### 阶段 6收尾 (finish)
### 阶段 6用户确认 (confirm)
```bash
aide flow next-part finish "文档更新完成,进入收尾"
aide flow next-part confirm "文档更新完成,进入用户确认环节"
```
#### 6.1 向用户报告完成信息
汇总已完成的工作:
- 列出主要变更点
- 说明验证结果
- 提供关键文件清单
#### 6.2 等待用户确认
**用户可能的操作**
1. **确认通过** → 直接进入 finish
2. **发现问题** → 进入返工流程
#### 6.3 返工流程
当用户发现问题或有新需求时:
##### 分析问题类型
| 问题类型 | 返工阶段 | 说明 |
|----------|----------|------|
| 实现问题 | impl | 代码逻辑错误、功能不符预期 |
| 设计问题 | flow-design | 架构或流程设计有误 |
| 需求问题 | task-optimize | 需求理解偏差、新增需求 |
##### 返工前必须操作
**必须**在返工前完成以下操作:
1. **更新任务文档task.source**
- 记录用户反馈的问题
- 补充新发现的需求或要求
- 这是为了便于上下文中断后恢复
2. **更新任务计划文档**
- 简单任务:更新 `task.spec`
- 复杂任务:更新相应的子计划文档(`spec-NN.md`
```bash
aide flow next-step "更新任务文档,准备返工"
```
##### 执行返工
```bash
aide flow back-part <目标阶段> "返工原因: <简述>"
```
从目标阶段继续执行,直到再次到达 confirm 阶段。
### 阶段 7收尾 (finish)
```bash
aide flow next-part finish "用户确认通过,进入收尾"
```
- 清理临时文件
@@ -379,32 +495,59 @@ aide config get task.spec
对于拆分为多个子计划的复杂任务:
### 文档结构
复杂任务的文档存放在 `task.plans_path` 配置的目录下(默认 `.aide/task-plans/`
```
.aide/task-plans/
├── guide.md # 任务计划总导览
├── spec-01.md # 子计划 1 细则
├── spec-02.md # 子计划 2 细则
└── spec-NN.md # 子计划 N 细则
```
### 执行模式
```
task-optimize → [flow-design → impl → verify → docs] × N → finish
task-optimize → [flow-design → impl → verify → docs → confirm] × N → finish
```
> 注:每个子计划完成 docs 后需经过 confirm 阶段,用户确认后才进入下一个子计划
### 流程
1. 完成 task-optimize,生成任务导览和所有子计划细则
1. 完成 task-optimize
- 生成 `guide.md`(任务计划总导览)
- 生成所有 `spec-NN.md`(子计划细则)
2. 对每个子计划:
- 进入 flow-design为该子计划设计流程图
- 进入 impl实现该子计划
- 进入 verify验证该子计划
- 进入 docs更新该子计划相关文档
- 标记子计划完成,更新任务导览
- 进入 confirm等待用户确认
- 用户确认后,更新 `guide.md` 中该子计划状态为 `completed`
3. 所有子计划完成后,进入 finish
### 子计划切换
完成一个子计划的 docs 后:
完成一个子计划的 confirm 后:
```bash
aide flow next-step "子计划 N 完成,开始子计划 N+1"
aide flow back-part flow-design "开始下一个子计划的流程设计"
```
### 子计划状态管理
每完成一个子计划,更新 `guide.md` 中的状态表:
| # | 名称 | 状态 | 细则文档 |
|---|------|------|----------|
| 1 | [子计划1名称] | **completed** | spec-01.md |
| 2 | [子计划2名称] | **in_progress** | spec-02.md |
| 3 | [子计划3名称] | pending | spec-03.md |
---
## 附录:任务复杂度评估指导原则

View File

@@ -252,6 +252,7 @@ aide flow show 2025-12-15T17-28-53
| `impl` | 迭代实现 | exec 阶段使用 |
| `verify` | 验证交付 | exec 阶段使用 |
| `docs` | 文档更新 | exec 阶段使用 |
| `confirm` | 用户确认 | 审阅与返工 |
| `finish` | 收尾 | exec 阶段使用 |
### 流程校验
@@ -452,6 +453,9 @@ aide init
├── diagrams/ # 流程图目录
│ ├── *.puml # PlantUML 源文件
│ └── *.png # 生成的图片
├── task-plans/ # 复杂任务计划文档(可配置)
│ ├── guide.md # 任务计划总导览
│ └── spec-NN.md # 子计划细则
└── project-docs/ # 项目文档(面向 LLM
├── README.md # 总导览
├── block-plan.md # 区块计划
@@ -498,8 +502,14 @@ aide flow next-step "验证完成: 所有测试通过"
aide flow next-part docs "验证通过,进入文档环节"
aide flow next-step "文档更新完成"
# 9. 收尾
aide flow next-part finish "文档更新完成,进入收尾"
# 9. 进入用户确认
aide flow next-part confirm "文档更新完成,进入用户确认环节"
# 等待用户确认...
# 如用户确认通过:
aide flow next-step "用户确认通过"
# 10. 收尾
aide flow next-part finish "用户确认通过,进入收尾"
aide flow next-step "任务完成"
```

View File

@@ -68,6 +68,12 @@ source = "task-now.md"
# /aide:exec 命令在未指定参数时读取此文件
spec = "task-spec.md"
# 复杂任务计划文档目录
# 当任务被拆分为多个子计划时,存放:
# - guide.md: 任务计划总导览
# - spec-01.md, spec-02.md, ...: 各子计划细则
plans_path = ".aide/task-plans/"
################################################################################
# [env] - 环境检测配置
################################################################################
@@ -180,8 +186,9 @@ block_plan_path = ".aide/project-docs/block-plan.md"
# impl - 迭代实现
# verify - 验证交付
# docs - 文档更新
# confirm - 用户确认(审阅与返工)
# finish - 收尾
phases = ["task-optimize", "flow-design", "impl", "verify", "docs", "finish"]
phases = ["task-optimize", "flow-design", "impl", "verify", "docs", "confirm", "finish"]
# 流程图目录路径
# 存放 PlantUML 源文件(.puml和生成的图片.png

View File

@@ -1,27 +0,0 @@
我想调整一部分流程
在docs和finish中插入一个新流程作为等待用户确认时的交互缓冲期
在这个阶段停下向用户报告完成信息,用户可以在这个时候自行进行审阅和测试等行为,
如果确认无误则直接答复确认即可进入finish
但如果发现有些地方其实并没有按预期实现,或者是用户在已经实现的基础上发现了新的问题或是有了新的想法,则应进行分析,判断应该返工到哪个阶段,
为了避免收到上下文限制或意外中断影响便于恢复任务一定要注意返工前先更新任务文档是source不是spec和任务计划是指任务计划文档不是todo工具
然后再逐个环节继续完成任务直到用户确认进入finish
对了在这之前我希望先更新command/run中关于任务计划部分的内容
我原本期望的是:
```
对于任务的分析优化阶段,我希望能对任务的复杂度(是指工作量上的复杂度)进行分析,
- 对过于复杂的任务,梳理为多个完整的小任务,
- 出一个任务计划总导览和多个完整的子计划的细则,然后依序完成,
- 这类任务的执行过程当完成task-optimize后从flow-design到docs为一个完整子计划的全过程多次循环逐个完成所有子计划的内容一个子计划执行完docs后开始下一个子计划的flow-design最后全部完成后再finish
```
可现在的run只实现了分析优化阶段对复杂度的分析和任务拆分要求提出了要分为小计划后面还说明了对于小计划和导览更新怎么执行
而实际上我要求的是当任务较为复杂应该被分为小计划时每一个小计划都必须是一个单独的完整的细则文档而不是在同一个文档中的计划1计划2那样且任务计划总导览也必须是一个单独的文档