easy-coding-harness 0.10.0-beta.0 → 0.10.0-beta.2

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,37 @@
6
6
  - `y`:常规功能升级
7
7
  - `z`:日常 bug 修复
8
8
 
9
+ ## 0.10.0-beta.2
10
+
11
+ - 新增 `ec-tdd-init`,在 TDD 关闭态初始化或刷新 Java 单测执行、JaCoCo XML、GitLab
12
+ TEST job、报告 artifact 与 changed-line coverage gate;初始化只建设基础设施,不批量补
13
+ 存量业务单测,也不要求仓库全量覆盖率。
14
+ - 新增 `.easy-coding/tools/easy_coding_tdd_readiness.py` 与覆盖构建、GitLab CI、coverage
15
+ 工具的文件指纹 receipt;项目级 `easy-coding config`、session `set-tdd` 和 ANALYSIS →
16
+ IMPLEMENT 均在开启/冻结 TDD 前机械校验 readiness,缺失或漂移时只允许先初始化或
17
+ 保持关闭。TDD 关闭的普通 hook 不扫描这些文件。
18
+ - `tdd-init` 作为专用代码任务始终冻结 `tdd_enabled=false`,即使遗留项目/session 或暂停
19
+ 任务请求开启 TDD,也可正常创建和修改 CI,消除“开启 TDD 后又依赖尚未创建 CI”的
20
+ 循环阻塞;初始化完成后仍需用户显式开启 TDD。
21
+ - 配置 schema 升至 5;升级时没有 readiness 的 beta.1 项目与 session TDD 请求迁移为
22
+ 关闭并保留阈值,已冻结活动任务合同不被静默改写。后续业务任务仍只验收相对冻结
23
+ baseline 的新增/修改生产代码行,默认门槛 90%、测试设计目标接近 100%。
24
+
25
+ ## 0.10.0-beta.1
26
+
27
+ - 新增默认关闭的 Java TDD 模式,支持项目级 CLI 配置与 session 覆盖;覆盖率阈值默认
28
+ 90、可配置 1..100,并在 ANALYSIS → IMPLEMENT 与任务一起冻结。
29
+ - 新增 `ec-config` 统一管理 Approval、Workflow、TDD 与阈值;`ec-task-management` 收口为
30
+ 纯任务生命周期面板。TDD 开启时状态栏在 Workflow 后显示独立 `TDD` 标识,关闭时格式
31
+ 与原有执行深度完全不变。
32
+ - TDD 开启后要求 Java RED/GREEN/REFACTOR(纯重构为 characterization GREEN → GREEN)、
33
+ 独立 TDD review,以及 JaCoCo 修改生产代码可执行行差异覆盖率;本地与 GitLab TEST
34
+ stage 复用 `.easy-coding/tools/easy_coding_java_coverage.py` 门禁,验收必须同时保留本地
35
+ 结果与成功 GitLab pipeline/job 证据。
36
+ - 配置 schema 升至 4;旧项目、session 与在途 task 迁移后保持 TDD 关闭。TDD 关闭时不
37
+ 扫描 CI/JaCoCo、不生成 TDD artifact、不运行额外命令,也不提高 Fast/Standard/Strict
38
+ 的既有测试与验收深度。
39
+
9
40
  ## 0.10.0-beta.0
10
41
 
11
42
  - 接入 `easy-dev-spec/v1` Canonical Spec:同步最终 producer 协议实现并新增只读
package/README.md CHANGED
@@ -77,6 +77,7 @@ INIT --[always auto]--> ANALYSIS -> IMPLEMENT -> REVIEW -> VERIFICATION -> MEMOR
77
77
  +------- repair ----------+
78
78
  approval --[approve / guard / confirm / auto]--> transition wait policy
79
79
  workflow --[adaptive => fast / standard / strict]--> stage execution depth
80
+ tdd --[off by default / Java changed-line gate]--> optional test discipline
80
81
  any stage --[user abort via ec-task-close]--> CLOSED
81
82
  ```
82
83
 
@@ -85,6 +86,7 @@ any stage --[user abort via ec-task-close]--> CLOSED
85
86
  ANALYSIS → IMPLEMENT 确认一次,随后各阶段在质量门禁通过后自动推进,`auto` 从开始即
86
87
  自动推进。
87
88
  - 工作流模式优先级为 session 覆盖 > 项目 `behavior.workflow_mode` > `adaptive`。Adaptive 在 ANALYSIS 结束时根据风险解析、展示并冻结为 `fast`、`standard` 或 `strict`,用户可在风险下限之上调整。
89
+ - Java TDD 默认关闭;优先级为 session 覆盖 > 项目配置 > `false/90%`。首次开启前必须运行 `ec-tdd-init`,只建设 JUnit/JaCoCo/GitLab 增量覆盖率基础设施,不补存量业务单测;readiness 通过后才允许显式开启。开启后在 ANALYSIS → IMPLEMENT 冻结开关、baseline 与阈值,只验收本任务新增/修改生产代码行,执行 RED/GREEN/REFACTOR(纯重构使用 characterization GREEN → GREEN),并以同一工具执行本地与 GitLab TEST-stage 差异覆盖率门禁。关闭时普通任务不扫描 CI/JaCoCo、不增加命令或提高原工作流验收深度。
88
90
  - 所有新代码任务都完整进入 REVIEW;不同工作流模式只调整各状态内部的上下文加载、执行主体、审查独立性、验证范围和记忆深度,不绕过状态或证据门禁。
89
91
  - 显式 `doc` / `analysis` / `report` 只读任务不生成 `test-strategy.md`;展示完整报告后按生效模式进入 COMPLETE,不执行 REVIEW、VERIFICATION 或 MEMORY,也不写任务记忆。
90
92
  - `VERIFICATION` 是验证硬门控:Fast 运行最小充分检查,Standard 运行受影响范围检查,
@@ -130,7 +132,7 @@ Canonical Spec 是只读设计源;`.easy-coding/tasks/<task-id>/` 下的 `dev-
130
132
  | `easy-coding add-agent` | 给已接入项目追加 Claude Code、Codex 或 Qoder 支持;supermodule 父仓可按已初始化子仓分层追加 |
131
133
  | `easy-coding upgrade` | CLI 升级后同步项目内生成文件,生成区覆盖,用户资产保留;supermodule 父仓会同步升级已初始化子仓 |
132
134
  | `easy-coding update` | 更新全局 CLI 到最新发布版 |
133
- | `easy-coding config` | 交互修改当前项目的 `approval_mode` `workflow_mode` |
135
+ | `easy-coding config` | 交互修改当前项目的 Approval、Workflow、Java TDD 与覆盖率阈值;开启 TDD 前要求 readiness |
134
136
  | `easy-coding status` | 查看已安装平台、harness 版本、当前任务状态 |
135
137
  | `easy-coding clear` | 移除 harness 安装物,保留 tasks、spec、memory、project.yaml 等用户资产;supermodule 父仓支持交互选择、`--submodules` 和 `--no-submodules` |
136
138
 
@@ -147,7 +149,9 @@ Canonical Spec 是只读设计源;`.easy-coding/tasks/<task-id>/` 下的 `dev-
147
149
  | `ec-reviewing` | 多维度代码审查,输出 accept / fix / replan / blocked 结论 |
148
150
  | `ec-verification` | 执行 lint、typecheck、test 等验证硬门控,并处理验收修复循环 |
149
151
  | `ec-memory` | 写短期记忆,并在超过阈值时沉淀长期记忆 |
150
- | `ec-task-management` | 任务与 session 面板:查看、创建、选择、恢复任务并管理当前会话确认模式 |
152
+ | `ec-task-management` | 任务面板:查看、创建、选择、恢复、交接任务 |
153
+ | `ec-config` | 只读查看或显式修改项目/session 的 Approval、Workflow、TDD 与阈值 |
154
+ | `ec-tdd-init` | 在 TDD 关闭态初始化/刷新 Java changed-line coverage 基础设施,不补存量单测 |
151
155
  | `ec-task-close` | 用户主动中断任务并关闭 |
152
156
  | `ec-no-harness` | 当前会话仅旁路 Easy Coding Harness,使用原生 Agent 能力 |
153
157
  | `ec-git` | 约束 git diff、commit、push、跨仓库提交等交付动作 |
@@ -184,7 +188,9 @@ easy-coding upgrade
184
188
  `behavior.approval_mode` 与 `behavior.workflow_mode`;旧 `lite` 映射为 `guard + fast`。
185
189
  项目级模式用 `easy-coding config` 修改(要求
186
190
  项目 Harness 与 CLI 版本完全一致,否则先执行 `easy-coding upgrade` 或更新 CLI);当前
187
- session 的两类临时覆盖通过 `ec-task-management` 对话修改。
191
+ session 临时覆盖统一通过 `ec-config` 对话修改。升级到 0.10.0-beta.2 时配置 schema 升至
192
+ 5;未完成 `ec-tdd-init` readiness 的项目/session TDD 请求迁移为关闭并保留阈值,同时
193
+ 部署共享 Java 差异覆盖率与 readiness 工具。已经冻结的活动任务合同不会被静默改写。
188
194
 
189
195
  若当前会话不希望 Harness 接管,显式调用 `/ec-no-harness`(Codex 使用
190
196
  `$ec-no-harness`)。它只旁路 Easy Coding,不关闭其他 hooks,也不忽略其他 skills;