easy-coding-harness 1.0.1 → 1.1.0-beta.1
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 +19 -0
- package/README.md +17 -15
- package/dist/cli.js +209 -195
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/templates/claude/agents/ec-implementer.md +4 -0
- package/templates/claude/agents/ec-reviewer.md +6 -0
- package/templates/codex/agents/ec-implementer.toml +4 -0
- package/templates/codex/agents/ec-reviewer.toml +6 -0
- package/templates/common/bundled-skills/ec-init/SKILL.md +2 -2
- package/templates/common/bundled-skills/ec-meta/references/local-architecture/README.md +6 -6
- package/templates/common/skills/ec-analysis/SKILL.md +56 -104
- package/templates/common/skills/ec-config/SKILL.md +37 -47
- package/templates/common/skills/ec-implementing/SKILL.md +26 -10
- package/templates/common/skills/ec-lite/SKILL.md +1 -1
- package/templates/common/skills/ec-memory/SKILL.md +3 -4
- package/templates/common/skills/ec-quality/SKILL.md +46 -25
- package/templates/common/skills/ec-task-management/SKILL.md +2 -2
- package/templates/common/skills/ec-tdd-init/SKILL.md +7 -7
- package/templates/common/skills/ec-workflow/SKILL.md +24 -22
- package/templates/main-constraint/AGENTS.md.tpl +23 -16
- package/templates/main-constraint/CLAUDE.md.tpl +23 -16
- package/templates/qoder/agents/ec-implementer.md +4 -0
- package/templates/qoder/agents/ec-reviewer.md +6 -0
- package/templates/runtime/tools/easy_coding_java_coverage.py +5 -5
- package/templates/shared-hooks/easy_coding_inputs.py +305 -0
- package/templates/shared-hooks/easy_coding_state.py +495 -461
- package/templates/shared-hooks/inject-subagent-context.py +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,25 @@
|
|
|
6
6
|
- `y`:常规功能升级
|
|
7
7
|
- `z`:日常 bug 修复
|
|
8
8
|
|
|
9
|
+
## 1.1.0-beta.1
|
|
10
|
+
|
|
11
|
+
- 新增与 TDD 并列的 UT 单测覆盖策略,统一使用 `unit_test_mode: none | ut | tdd`。
|
|
12
|
+
UT 只要求通过的本地单测与达到阈值的改动行覆盖率,不要求 RED/GREEN 过程或独立 TDD 审查。
|
|
13
|
+
- 覆盖率阈值统一为 `ut_coverage_threshold`,UT/TDD 共用,默认 90;一次测试同时生成测试与
|
|
14
|
+
覆盖率证据,相同输入继续复用结果。
|
|
15
|
+
- 配置 schema 升至 6,迁移旧 TDD 开关和阈值,保留项目/session 继承关系、任务冻结配置、
|
|
16
|
+
基线与执行进度。三平台配置入口、状态展示和使用说明同步支持三种策略。
|
|
17
|
+
- 升级保留活动 UT/TDD 任务使用的覆盖率工具,避免工具替换导致已有证据整体失效;
|
|
18
|
+
任务结束后再次运行 `easy-coding upgrade` 即可更新工具,无需重新安装或清空任务。
|
|
19
|
+
|
|
20
|
+
## 1.1.0-beta.0
|
|
21
|
+
|
|
22
|
+
- 工作流直接采用本轮修改的机械最低模式;局部纠正保留原任务进度和未受影响证据。
|
|
23
|
+
- 验证和审查绑定各自输入,复用有效结果;阶段、计划描述和 Spec 修订号不再使全部测试失效。
|
|
24
|
+
- 指纹在单次运行时操作内共享快照,限制到实际输入,避免全仓扫描和逐文件启动 Git。
|
|
25
|
+
- 统一测试执行与证据登记,局部修复只刷新相关检查,消除旧质量状态造成的往返。
|
|
26
|
+
- 三平台统一最小改动要求,禁止无依据的重复校验、兼容、兜底、重试和防御性复制。
|
|
27
|
+
|
|
9
28
|
## 1.0.1
|
|
10
29
|
|
|
11
30
|
- 将 `1.0.1-beta.0` 晋升为正式版本,包含 TDD 日常 readiness、升级配置保护,以及
|
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ INIT --[always auto]--> ANALYSIS -> IMPLEMENT -> QUALITY -> MEMORY --[always aut
|
|
|
74
74
|
+-- replan ---+ +--- repair ---+
|
|
75
75
|
approval --[approve / guard / confirm / auto]--> transition wait policy
|
|
76
76
|
workflow --[adaptive => fast / standard / strict]--> stage execution depth
|
|
77
|
-
|
|
77
|
+
unit_test_mode --[none / ut / tdd]--> optional Java test strategy
|
|
78
78
|
any stage --[user abort via ec-task-close]--> CLOSED
|
|
79
79
|
```
|
|
80
80
|
|
|
@@ -83,18 +83,19 @@ any stage --[user abort via ec-task-close]--> CLOSED
|
|
|
83
83
|
ANALYSIS → IMPLEMENT 确认一次,随后各阶段在质量门禁通过后自动推进,`auto` 从开始即
|
|
84
84
|
自动推进。所有模式仅在 QUALITY 绿色检查点之后又出现新代码差异时临时暂停:展示
|
|
85
85
|
精确 diff 与摘要,由用户确认该摘要后继续;这不会把 `auto` 永久降级为人工审批。
|
|
86
|
-
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
- 执行深度直接使用本轮实际修改的机械最低模式:能 Fast 就 Fast,不再推荐或人为提高档位,
|
|
87
|
+
历史模式不构成下限。局部纠正通过 `begin-correction` 保留原任务进度;审批语义保持独立。
|
|
88
|
+
- 检查通过 `prepare-check` / `record-check` 绑定实际输入并复用。阶段、计划说明或 Spec revision
|
|
89
|
+
不会单独让测试失效;相关源码、测试或构建依赖变化时,仅刷新受影响结果。一次操作共享输入
|
|
90
|
+
快照,状态展示不计算内容指纹,合并测试一次执行并覆盖对应验收项。
|
|
90
91
|
- ANALYSIS 会先通过问答闭合影响技术路线、接口、模型、状态、范围或验收的实质性问题,
|
|
91
92
|
并在 Dev-Spec 中记录唯一的 `decision_status: closed`。会话只展示核心方案、验收摘要、
|
|
92
93
|
Workflow Mode 与主要风险;完整 `dev-spec.md` 通过绝对本地链接或路径按需查看。原生选择
|
|
93
94
|
返回或迁移调用结束后的最终消息会重复紧凑方案回执与完整入口,避免前置过程消息折叠后丢失。
|
|
94
|
-
- Java
|
|
95
|
+
- Java 单测策略由 `unit_test_mode: none | ut | tdd` 选择,默认 `none`,会话覆盖优先于项目配置。UT 要求本地单测通过及改动行覆盖率达标;TDD 在此基础上要求测试先行与 TDD 审查。两者共用 `ut_coverage_threshold`(默认 90,范围 1..100)和现有 `ec-tdd-init`/JaCoCo 基础设施。进入 IMPLEMENT 时冻结策略、baseline 与阈值,只验收本任务修改的生产代码;一次测试同时生成测试及覆盖率证据。UT 无额外过程文档或独立审查,三种策略均不提高机械执行深度。远程 CI 不作为验收条件;`none` 保留普通任务需要的验证,不附加覆盖率工作。
|
|
95
96
|
- 所有修改任务都进入 QUALITY;纯对话分析、解释、报告和只读 review 保持 Ready,不创建任务。文档或配置一旦写入仓库,仍走完整状态机。
|
|
96
97
|
- `QUALITY` 同时编排只读 Review Gate 与 Verification Gate。Fast 使用主 Agent 聚焦自审和最小定向验证,Standard 使用一个独立 reviewer 与受影响检查,Strict 使用至少两个独立维度并只对实际修改仓库运行完整适用检查。两个 Gate 绑定同一候选指纹和 attempt,必须完成或明确取消后才形成一次 Repair Bundle;代码/测试缺陷回 IMPLEMENT,契约歧义优先回 ANALYSIS并保留同轮其他缺陷,环境问题留在 QUALITY 重试;候选漂移会审计为 cancelled 并强制先回 IMPLEMENT。
|
|
97
|
-
-
|
|
98
|
+
- 修复仅刷新受影响检查;运行时引用输入未变化的历史证据,保留来源与执行时间,Agent 不重写通过记录。
|
|
98
99
|
- 非 TDD 的 IMPLEMENT 只负责编码,不运行测试;Verification Gate 统一执行 lint/typecheck/test/build。TDD 的 RED/GREEN/REFACTOR 是唯一例外,当前指纹绿色证据可在 QUALITY 复用。
|
|
99
100
|
- QUALITY 通过后冻结验收检查点;若代码随后变化,Harness 展示完整差异并绑定
|
|
100
101
|
`diff_sha256`。用户确认后不重跑 Review Gate:纯非执行差异可沿用
|
|
@@ -157,7 +158,7 @@ Dev-Spec 继续走原有整文分析流程。
|
|
|
157
158
|
| `easy-coding add-agent` | 给同版本已接入项目追加 Claude Code、Codex 或 Qoder 支持;版本不一致时先执行 upgrade |
|
|
158
159
|
| `easy-coding upgrade` | CLI 升级后同步项目内生成文件,生成区覆盖,用户资产保留;supermodule 父仓会同步升级已初始化子仓 |
|
|
159
160
|
| `easy-coding update` | 更新全局 CLI 到最新发布版 |
|
|
160
|
-
| `easy-coding config` | 交互修改当前项目的 Approval、Workflow、Java
|
|
161
|
+
| `easy-coding config` | 交互修改当前项目的 Approval、Workflow、Java 单测策略与共享覆盖率阈值;选择 UT/TDD 前要求 readiness |
|
|
161
162
|
| `easy-coding status` | 查看已安装平台、harness 版本、当前任务状态 |
|
|
162
163
|
| `easy-coding clear` | 移除 harness 安装物,保留 tasks、spec、memory、project.yaml 等用户资产;supermodule 父仓支持交互选择、`--submodules` 和 `--no-submodules` |
|
|
163
164
|
|
|
@@ -174,8 +175,8 @@ Dev-Spec 继续走原有整文分析流程。
|
|
|
174
175
|
| `ec-quality` | 编排 Review/Verification 双门、证据复用和一次性 Repair Bundle |
|
|
175
176
|
| `ec-memory` | 写短期记忆,并在超过阈值时沉淀长期记忆 |
|
|
176
177
|
| `ec-task-management` | 任务面板:查看、创建、选择、恢复、交接任务 |
|
|
177
|
-
| `ec-config` | 只读查看或显式修改项目/session 的 Approval、Workflow
|
|
178
|
-
| `ec-tdd-init` |
|
|
178
|
+
| `ec-config` | 只读查看或显式修改项目/session 的 Approval、Workflow、单测策略与阈值 |
|
|
179
|
+
| `ec-tdd-init` | 为 UT/TDD 初始化/刷新 Java changed-line coverage 基础设施,不补存量单测 |
|
|
179
180
|
| `ec-task-close` | 用户主动中断任务并关闭 |
|
|
180
181
|
| `ec-no-harness` | 当前会话仅旁路 Easy Coding Harness,使用原生 Agent 能力 |
|
|
181
182
|
| `ec-lite` | 用户显式启停的极简直达模式:一次方案确认后最小实现,不创建任务/QUALITY/MEMORY |
|
|
@@ -213,19 +214,20 @@ easy-coding upgrade
|
|
|
213
214
|
`behavior.approval_mode` 与 `behavior.workflow_mode`;旧 `lite` 映射为 `guard + fast`。
|
|
214
215
|
项目级模式用 `easy-coding config` 修改(要求
|
|
215
216
|
项目 Harness 与 CLI 版本完全一致,否则先执行 `easy-coding upgrade` 或更新 CLI);当前
|
|
216
|
-
session 临时覆盖统一通过 `ec-config` 对话修改。当前配置 schema 为
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
session 临时覆盖统一通过 `ec-config` 对话修改。当前配置 schema 为 6;升级将旧
|
|
218
|
+
`tdd_enabled` 映射为 `unit_test_mode`(true→tdd、false→none),将旧阈值迁移为
|
|
219
|
+
`ut_coverage_threshold`。保留项目/session 继承关系、任务冻结基线和执行进度;readiness
|
|
220
|
+
缺失或损坏只报告问题,不重置策略。UT/TDD 业务任务只依赖本地
|
|
219
221
|
单测与本地差异覆盖率,历史远程 CI 证据保留但不再参与验收。已经冻结的活动任务合同
|
|
220
222
|
不会被静默改写。0.10.0-beta.4 起,仍停在 ANALYSIS 的旧任务必须补齐决策闭环后才能
|
|
221
223
|
进入 IMPLEMENT;已经进入后续阶段的任务不受影响。
|
|
222
224
|
|
|
223
225
|
session GC 只在创建新逻辑会话前和实际升级时触发:无任务绑定的会话保留 7 天、仍绑定
|
|
224
226
|
任务的会话保留 30 天,并按最近活动时间将根目录 JSON 控制在 100 个以内。活动任务仍在
|
|
225
|
-
引用的 acceptance
|
|
227
|
+
引用的 acceptance 验收快照会被保留;升级时带有显式单测策略或阈值配置的 session 不参与清理。
|
|
226
228
|
任务、记忆、Spec 和项目知识不参与清理。
|
|
227
229
|
|
|
228
|
-
TDD
|
|
230
|
+
UT/TDD 共用凭据中的文件摘要是初始化历史。POM 版本、依赖、插件、CI 或托管工具变化无需重新
|
|
229
231
|
初始化;本轮构建与工具变化会使旧验收证据失效。日常 readiness 只检查必要本地入口和
|
|
230
232
|
参数契约;缺少凭据为 `needs_init`,已有凭据或入口损坏为 `needs_repair`。实际单测与
|
|
231
233
|
增量覆盖率仍须通过。`ec-tdd-init` 的完整校验包含 GitLab CI。
|