easy-coding-harness 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,32 @@
6
6
  - `y`:常规功能升级
7
7
  - `z`:日常 bug 修复
8
8
 
9
+ ## 0.7.0
10
+
11
+ - 新增 `behavior.confirm_mode`,提供 `approve`、`guard`(默认)和 `auto` 三种状态确认策略;session 中的覆盖值优先于项目配置。
12
+ - 新增交互式 `easy-coding config` 命令修改项目级确认模式;命令仅在项目 Harness 与 CLI 版本完全一致时写入。版本比较遵循 SemVer 预发布优先级,`upgrade` 可将 beta 收敛到同核心正式版,同时拒绝 beta CLI 降级正式版项目。`ec-task-management` 支持通过对话查看、设置或清除当前 session 覆盖,并在模式变化后保留已有待流转目标。
13
+ - `easy-coding upgrade` 将配置 schema 升级到 2,把 `auto_mode: true` 映射为 `auto`、`strict_confirm: true` 映射为 `approve`、其余映射为 `guard`,并删除两个旧字段;运行时不再消费旧配置。
14
+ - 状态 API 按生效确认模式决定 `request-transition` / `confirm-transition` / `auto-transition`,同时保留合法边、ANALYSIS 产物、只读交付、VERIFICATION 和 MEMORY 检查点。
15
+ - `guard` 仅确认 `ANALYSIS → IMPLEMENT` 与 `VERIFICATION → MEMORY`;其余工作流边自动执行,代码任务的自动主链默认进入 REVIEW。`approve` 除两条机械边外逐边确认,`auto` 自动执行全部合法工作流边;任何模式下关闭任务都必须显式执行。
16
+ - 新增 `ec-no-harness` skill:当前 session 可旁路 Easy Coding Harness,保留任务状态且不关闭 Hook 系统;非 Easy Coding skills、其他 hooks 与全局/项目约束继续生效,并支持同会话恢复。
17
+ - README、设计/介绍/使用文档、主约束、阶段 skills、生成安装测试和状态 API 回归测试同步升级到 0.7.0。
18
+
19
+ ## 0.6.1
20
+
21
+ - 状态迁移按是否需要用户决策分层:`INIT → ANALYSIS` 在 INIT 工作完成后自动流转,`MEMORY → COMPLETE` 在记忆处理检查点完成后自动流转;这两条机械边不再创建 `pending_transition`,也不再展示确认或交接选项。
22
+ - 新增受限的 `auto-transition` 状态 API,只允许上述两条自动边;其他前进、修复和重规划边继续通过 `request-transition` / `confirm-transition` 显式确认,Hook 仍保持只读。
23
+ - IMPLEMENT 完成后允许用户选择进入 REVIEW,或明确跳过 REVIEW 直接进入 VERIFICATION;交接和 free-form Other 仍保留,跳过 REVIEW 不能绕过 VERIFICATION 硬门控。
24
+ - ANALYSIS 改为先原样落盘无阶段标签的 dev-spec 骨架,再在分析过程中即时询问并解决技术路线、接口、范围等决策问题,最后才填充完整方案;最终报告不再包含“待用户决策”章节。
25
+ - `ANALYSIS → IMPLEMENT` 在申请和确认迁移时都会校验完整 dev-spec 和最新有效 execution plan;代码任务还必须提供非空 test strategy,只读任务则禁止生成 `test-strategy.md`。必填章节正文、实施单元任务卡字段和并行分组均需完整,原始骨架、空章节、无界单元或缺失产物不能进入实施。
26
+ - dev-spec 骨架使用专用 `[[EC_TODO:...]]` 占位标记,既能可靠拦截未填字段,也不会把方案中合法的 `{title}`、`{type}` 等模板文本误判为残留占位符。
27
+ - execution plan 门禁校验依赖图无环及并行层级顺序;`doc` / `analysis` / `report` 显式无代码任务允许受限空文件范围并通过 `deliverable` 返回只读结果,代码任务仍禁止无界实施。
28
+ - 无代码 IMPLEMENT 单元必须返回非空 `deliverable` 且不得修改文件;主 Agent 在展示摘要或迁移选项前必须向用户原样输出完整 deliverable,避免结果只留在执行日志中。
29
+ - 无代码任务展示完整 deliverable 后直接通过受限 `IMPLEMENT → COMPLETE` 自动边结束;状态 API 会校验 single 空文件计划、匹配的 dispatch/result、零文件改动、非空 deliverable 和无遗留问题,不生成 `test-strategy.md`,不进入 REVIEW、VERIFICATION、MEMORY,也不写任务记忆。
30
+ - 介绍页展示版本与 `package.json` 保持一致,并由版本元数据测试防止后续发布再次漂移。
31
+ - 升级遗留的自动 `pending_transition` 在状态上下文中标记为 `auto-transition-ready`,不再错误注入用户确认提示。
32
+ - `single` / `sequential` / `parallel` 三种执行策略统一派发子代理,仅编排形态不同;技术方案骨架不再生成“主 Agent 直接执行”的冲突指令。
33
+ - 工作流 skills、主约束、README、设计/介绍/使用文档和状态 API 测试统一对齐新的自动边与可选 REVIEW 语义。
34
+
9
35
  ## 0.6.0
10
36
 
11
37
  - 状态机移除无实际工作内容的 `WAITING_CONFIRM`;阶段完成后通过 `task.json.pending_transition` 记录待确认边,状态仍停留在当前阶段,直到用户明确确认。
package/README.md CHANGED
@@ -69,16 +69,21 @@ easy-coding init --submodules packages/a,packages/b
69
69
  ## 工作流
70
70
 
71
71
  ```text
72
- INIT -> ANALYSIS -> IMPLEMENT -> REVIEW -> VERIFICATION -> MEMORY -> COMPLETE
73
- ^ ^ | |
74
- +-- replan ---+ +--- fix -----+
75
- ^ |
76
- +------- repair ----------+
77
- every edge --[user confirmation by default]--> target stage
72
+ INIT --[always auto]--> ANALYSIS -> IMPLEMENT -> REVIEW -> VERIFICATION -> MEMORY --[always auto]--> COMPLETE
73
+ \----------------> VERIFICATION
74
+ \--[read-only, mode-aware]-----------------------> COMPLETE
75
+ ^ ^ | |
76
+ +-- replan ---+ +--- fix -----+
77
+ ^ |
78
+ +------- repair ----------+
79
+ edge behavior --[approve / guard / auto]--> target stage
78
80
  any stage --[user abort via ec-task-close]--> CLOSED
79
81
  ```
80
82
 
81
- - 每个阶段完成后先记录 `pending_transition`,默认必须由用户确认才进入目标阶段;优先通过智能体原生选项功能选择确认、交接给其他智能体或使用 free-form Other,纯文本编号仅作回退。
83
+ - 生效确认模式优先级为 session 覆盖 > 项目 `behavior.confirm_mode` > `guard` 默认值。
84
+ - `approve` 除 `INIT → ANALYSIS`、`MEMORY → COMPLETE` 外逐边确认;`guard` 只确认 `ANALYSIS → IMPLEMENT`、`VERIFICATION → MEMORY`;`auto` 自动执行全部合法工作流边。任何模式下关闭任务都必须显式执行。
85
+ - `guard` / `auto` 的代码主链在 IMPLEMENT 后默认进入 REVIEW;`approve` 可明确跳过 REVIEW 进入 VERIFICATION。确认模式不绕过状态合法性、方案产物或验证门控。
86
+ - 显式 `doc` / `analysis` / `report` 只读任务不生成 `test-strategy.md`;展示完整报告后按生效模式进入 COMPLETE,不执行 REVIEW、VERIFICATION 或 MEMORY,也不写任务记忆。
82
87
  - `VERIFICATION` 是验证硬门控,未实际运行的 lint、typecheck、test 不算通过。
83
88
  - `MEMORY` 先写入本次任务短期记忆,再执行长期记忆阈值门禁;未超过阈值时长期沉淀为 no-op。
84
89
 
@@ -103,6 +108,7 @@ any stage --[user abort via ec-task-close]--> CLOSED
103
108
  | `easy-coding add-agent` | 给已接入项目追加 Claude Code、Codex 或 Qoder 支持;supermodule 父仓可按已初始化子仓分层追加 |
104
109
  | `easy-coding upgrade` | CLI 升级后同步项目内生成文件,生成区覆盖,用户资产保留;supermodule 父仓会同步升级已初始化子仓 |
105
110
  | `easy-coding update` | 更新全局 CLI 到最新发布版 |
111
+ | `easy-coding config` | 交互修改当前项目的 `confirm_mode` |
106
112
  | `easy-coding status` | 查看已安装平台、harness 版本、当前任务状态 |
107
113
  | `easy-coding clear` | 移除 harness 安装物,保留 tasks、spec、memory、project.yaml 等用户资产;supermodule 父仓支持交互选择、`--submodules` 和 `--no-submodules` |
108
114
 
@@ -115,12 +121,13 @@ any stage --[user abort via ec-task-close]--> CLOSED
115
121
  | `ec-workflow` | 统一入口,负责任务创建、恢复、阶段流转和 stage skill 调度 |
116
122
  | `ec-brainstorming` | 实现前的设计探索和方案发散 |
117
123
  | `ec-analysis` | 生成 dev-spec、执行计划和测试策略 |
118
- | `ec-implementing` | 按确认后的计划执行代码实现 |
124
+ | `ec-implementing` | 按确认后的计划执行代码实现或显式无代码只读交付 |
119
125
  | `ec-reviewing` | 多维度代码审查,输出 accept / fix / replan / blocked 结论 |
120
126
  | `ec-verification` | 执行 lint、typecheck、test 等验证硬门控,并处理验收修复循环 |
121
127
  | `ec-memory` | 写短期记忆,并在超过阈值时沉淀长期记忆 |
122
128
  | `ec-task-management` | 查看、创建、选择、恢复任务 |
123
129
  | `ec-task-close` | 用户主动中断任务并关闭 |
130
+ | `ec-no-harness` | 当前会话仅旁路 Easy Coding Harness,使用原生 Agent 能力 |
124
131
  | `ec-git` | 约束 git diff、commit、push、跨仓库提交等交付动作 |
125
132
 
126
133
  ### 内置 skills
@@ -151,6 +158,15 @@ easy-coding upgrade
151
158
 
152
159
  `upgrade` 会刷新生成区内的 skills、hooks、agents、主约束模板和运行时模板,不会删除已有任务、spec、memory、project.yaml 或项目知识文件。
153
160
 
161
+ 升级到 0.7.0 时,旧 `strict_confirm` / `auto_mode` 会一次性迁移为
162
+ `behavior.confirm_mode` 并从配置中删除。项目级模式用 `easy-coding config` 修改(要求
163
+ 项目 Harness 与 CLI 版本完全一致,否则先执行 `easy-coding upgrade` 或更新 CLI);当前
164
+ session 的临时覆盖通过 `ec-task-management` 对话修改。
165
+
166
+ 若当前会话不希望 Harness 接管,显式调用 `/ec-no-harness`(Codex 使用
167
+ `$ec-no-harness`)。它只旁路 Easy Coding,不关闭其他 hooks,也不忽略其他 skills;
168
+ 当前任务状态会原样保留。
169
+
154
170
  ## 版本与更新日志
155
171
 
156
172
  版本号使用 `x.y.z`: