easy-coding-harness 1.0.0-beta.1 → 1.0.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 +24 -0
- package/package.json +1 -1
- package/templates/claude/agents/ec-implementer.md +8 -0
- package/templates/claude/agents/ec-reviewer.md +7 -1
- package/templates/codex/agents/ec-implementer.toml +7 -0
- package/templates/codex/agents/ec-reviewer.toml +7 -1
- package/templates/common/bundled-skills/ec-init/SKILL.md +4 -1
- package/templates/common/skills/ec-implementing/SKILL.md +14 -3
- package/templates/common/skills/ec-lite/SKILL.md +9 -2
- package/templates/common/skills/ec-quality/SKILL.md +10 -0
- package/templates/qoder/agents/ec-implementer.md +8 -0
- package/templates/qoder/agents/ec-reviewer.md +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,30 @@
|
|
|
6
6
|
- `y`:常规功能升级
|
|
7
7
|
- `z`:日常 bug 修复
|
|
8
8
|
|
|
9
|
+
## 1.0.0
|
|
10
|
+
|
|
11
|
+
- 首个正式版本,固化统一的 `INIT → ANALYSIS → IMPLEMENT → QUALITY → MEMORY → COMPLETE`
|
|
12
|
+
状态机;Fast、Standard、Strict 共享状态图,仅按任务复杂度和风险调整执行深度。
|
|
13
|
+
- 正式提供 Canonical Spec 精确消费、持久分析方案回执、双门 QUALITY、`ec-lite` 极简模式、
|
|
14
|
+
会话清理与用户验收后差异接受等完整能力,并保持 Claude Code、Codex、Qoder 三端一致。
|
|
15
|
+
- 稳定编码约束:遵循最近邻代码风格和最小修改,避免过度设计、冗余校验、碎片方法与无意义
|
|
16
|
+
常量;接口方法已有完整文档且实现无额外语义时,不重复编写实现方法 Javadoc。
|
|
17
|
+
- 正式版由 `1.0.0-beta.2` 晋升,不新增破坏性变更;默认安装命令将通过 npm `latest` 获取
|
|
18
|
+
`1.0.0`,预发布用户可直接升级。
|
|
19
|
+
|
|
20
|
+
## 1.0.0-beta.2
|
|
21
|
+
|
|
22
|
+
- 核心 Java Javadoc 规则新增接口文档继承例外:接口方法已有完整、准确且可访问的
|
|
23
|
+
Javadoc,且实现没有增加该接口方法文档未说明的契约、约束、副作用或其他实现特有行为时,
|
|
24
|
+
实现方法无需重复注释,也不为
|
|
25
|
+
满足普通门禁添加空洞的 `{@inheritDoc}`。
|
|
26
|
+
- 实现包含事务、幂等、缓存、重试、异常转换、线程安全、性能限制等接口未说明的特殊行为,
|
|
27
|
+
或项目硬规则明确要求时,仍必须记录实现差异;字段、构造方法与普通方法的原有规则不变。
|
|
28
|
+
- 兼容旧项目的泛化 Javadoc 规则:仅有“每个核心 Java 方法都写 Javadoc”不会覆盖本例外,
|
|
29
|
+
只有项目明确要求实现方法重复接口 Javadoc 时才覆盖;`ec-init` 生成规则时使用相同边界。
|
|
30
|
+
- IMPLEMENT、QUALITY、Lite 与 Claude Code、Codex、Qoder 三平台 Agent 统一使用新语义,
|
|
31
|
+
并新增安装和 `1.0.0-beta.1` 升级回归,防止执行侧合理省略后被审查侧重新误报。
|
|
32
|
+
|
|
9
33
|
## 1.0.0-beta.1
|
|
10
34
|
|
|
11
35
|
- ANALYSIS 的方案展示改为持久方案回执:后续仍有工具调用时,先前文本只算可能被宿主折叠的
|
package/package.json
CHANGED
|
@@ -25,6 +25,14 @@ complete exactly that unit. Your reply IS the return value, not a message to a h
|
|
|
25
25
|
- Every method and field in a new core Java class, and every added or materially modified method
|
|
26
26
|
or field in an existing core Java class, must have meaningful multiline Javadoc; use `//` for
|
|
27
27
|
ordinary one-line notes and comment complex logic where intent or constraints are not obvious.
|
|
28
|
+
An implementation method may omit repeated Javadoc only when its interface method has
|
|
29
|
+
meaningful, accurate, accessible Javadoc and it adds no implementation-specific contract,
|
|
30
|
+
constraint, side effect, or other behavior beyond that documented interface method's contract.
|
|
31
|
+
Document implementation-specific behavior and explicit project hard rules. Do not add an empty
|
|
32
|
+
`{@inheritDoc}` block solely to satisfy the normal rule. A generic project rule requiring
|
|
33
|
+
Javadoc on every core Java method does not by itself override the documented interface method
|
|
34
|
+
exception. Only an explicit project rule requiring implementation methods to repeat interface
|
|
35
|
+
Javadoc does.
|
|
28
36
|
- Do not change unrelated comments, formatting, imports, names, or code. Keep one blank line
|
|
29
37
|
between coherent logic sections and revert formatter spillover outside the requested scope.
|
|
30
38
|
- Treat acceptance criteria, test points, contracts, and risks in the card as required inputs.
|
|
@@ -20,7 +20,13 @@ dimension named in your task card. Your reply IS the return value.
|
|
|
20
20
|
cleanup solely as generic best practice. Flag unjustified local-style deviations, speculative
|
|
21
21
|
layers, fragmented one-use micro-methods, constants created only for a getter return, and
|
|
22
22
|
missing multiline Javadoc on any method/field in a new core Java class or any added/materially
|
|
23
|
-
modified method/field in an existing core Java class.
|
|
23
|
+
modified method/field in an existing core Java class. Do not flag an implementation method when
|
|
24
|
+
the interface method it implements has meaningful, accurate, accessible Javadoc and it adds no
|
|
25
|
+
implementation-specific contract, constraint, side effect, or other behavior beyond that
|
|
26
|
+
documented interface method's contract; require Javadoc for implementation-specific behavior
|
|
27
|
+
or an explicit project hard rule. A generic project rule requiring Javadoc on every core Java
|
|
28
|
+
method does not by itself override the documented interface method exception. Only an explicit
|
|
29
|
+
project rule requiring implementation methods to repeat interface Javadoc does.
|
|
24
30
|
- Treat unrelated comment, formatting, import, naming, or refactor changes as minimum-diff
|
|
25
31
|
violations. Do not ask to clean up untouched legacy code.
|
|
26
32
|
- On the first pass, report the complete in-scope finding set. On a repair pass, review only the
|
|
@@ -24,6 +24,13 @@ Hard constraints:
|
|
|
24
24
|
- Every method and field in a new core Java class, and every added or materially modified method
|
|
25
25
|
or field in an existing core Java class, must have meaningful multiline Javadoc; use // for
|
|
26
26
|
ordinary one-line notes and comment complex logic where intent or constraints are not obvious.
|
|
27
|
+
An implementation method may omit repeated Javadoc only when its interface method has
|
|
28
|
+
meaningful, accurate, accessible Javadoc and it adds no implementation-specific contract,
|
|
29
|
+
constraint, side effect, or other behavior beyond that documented interface method's contract.
|
|
30
|
+
Document implementation-specific behavior and explicit project hard rules. Do not add an empty
|
|
31
|
+
{@inheritDoc} block solely to satisfy the normal rule. A generic project rule requiring Javadoc
|
|
32
|
+
on every core Java method does not by itself override the documented interface method exception.
|
|
33
|
+
Only an explicit project rule requiring implementation methods to repeat interface Javadoc does.
|
|
27
34
|
- Do not change unrelated comments, formatting, imports, names, or code. Keep one blank line
|
|
28
35
|
between coherent logic sections and revert formatter spillover outside the requested scope.
|
|
29
36
|
- Treat acceptance criteria, test points, contracts, and risks in the card as required inputs.
|
|
@@ -19,7 +19,13 @@ Stance:
|
|
|
19
19
|
cleanup solely as generic best practice. Flag unjustified local-style deviations, speculative
|
|
20
20
|
layers, fragmented one-use micro-methods, constants created only for a getter return, and
|
|
21
21
|
missing multiline Javadoc on any method/field in a new core Java class or any added/materially
|
|
22
|
-
modified method/field in an existing core Java class.
|
|
22
|
+
modified method/field in an existing core Java class. Do not flag an implementation method when
|
|
23
|
+
the interface method it implements has meaningful, accurate, accessible Javadoc and it adds no
|
|
24
|
+
implementation-specific contract, constraint, side effect, or other behavior beyond that
|
|
25
|
+
documented interface method's contract; require Javadoc for implementation-specific behavior
|
|
26
|
+
or an explicit project hard rule. A generic project rule requiring Javadoc on every core Java
|
|
27
|
+
method does not by itself override the documented interface method exception. Only an explicit
|
|
28
|
+
project rule requiring implementation methods to repeat interface Javadoc does.
|
|
23
29
|
- Treat unrelated comment, formatting, import, naming, or refactor changes as minimum-diff
|
|
24
30
|
violations. Do not ask to clean up untouched legacy code.
|
|
25
31
|
- On the first pass, report the complete in-scope finding set. On a repair pass, review only the
|
|
@@ -153,7 +153,10 @@ agent must be able to see what was generated and on what evidence.
|
|
|
153
153
|
preference for single responsibility into a generic demand for many one-use helpers
|
|
154
154
|
- Literal and constant conventions, including when local magic values are accepted and when
|
|
155
155
|
a stable domain/config/protocol value is promoted to a named constant
|
|
156
|
-
- Javadoc/doc-comment coverage for core code and the inline-comment style used for complex
|
|
156
|
+
- Javadoc/doc-comment coverage for core code and the inline-comment style used for complex
|
|
157
|
+
logic. A generic project rule requiring Javadoc on every core Java method does not by itself
|
|
158
|
+
override the documented interface method exception. Only project evidence explicitly
|
|
159
|
+
requiring implementation methods to repeat interface Javadoc does
|
|
157
160
|
- Import ordering and formatter/linter in use (read their configs)
|
|
158
161
|
Structure as one section per language plus a General section. Every rule must be
|
|
159
162
|
mechanically checkable — "be clean" is not a rule; "exported functions carry explicit
|
|
@@ -63,6 +63,15 @@ Communicate with the user in the user's language.
|
|
|
63
63
|
a getter.
|
|
64
64
|
12. In a newly added core Java class, every method and field requires meaningful Javadoc. In an
|
|
65
65
|
existing core Java class, every added or materially modified method and field requires it.
|
|
66
|
+
An implementation method may omit its own Javadoc when the interface method it implements has
|
|
67
|
+
meaningful, accurate, accessible Javadoc and the implementation adds no implementation-specific
|
|
68
|
+
contract, constraint, side effect, or other behavior beyond that documented interface method's
|
|
69
|
+
contract. Do not add an empty `{@inheritDoc}` block solely to satisfy this normal rule. Add
|
|
70
|
+
implementation Javadoc for any implementation-specific behavior or when an explicit project
|
|
71
|
+
hard rule requires it. A generic project rule requiring Javadoc on every core Java method
|
|
72
|
+
does not by itself override the
|
|
73
|
+
documented interface method exception. Only an explicit project rule requiring implementation
|
|
74
|
+
methods to repeat interface Javadoc does.
|
|
66
75
|
Add focused inline comments to core or complex logic to explain intent, constraints, or
|
|
67
76
|
non-obvious tradeoffs. Do not mass-retrofit untouched legacy code, and for non-Java code
|
|
68
77
|
follow the language's doc-comment form plus the evidenced project convention. Java Javadoc
|
|
@@ -136,8 +145,9 @@ checks:[], issues:[], needs_attention:[]
|
|
|
136
145
|
hard/contract dependencies are ready; do not batch-start dependent tasks at the initial
|
|
137
146
|
IMPLEMENT boundary.
|
|
138
147
|
Populate `Code Comments` on every code task card with the resolved user-facing host Agent
|
|
139
|
-
author value, the field/member/constant rules, and the core Java Javadoc rule above
|
|
140
|
-
`Local Baseline` from the Unit's analyzed
|
|
148
|
+
author value, the field/member/constant rules, and the core Java Javadoc rule above, including
|
|
149
|
+
its documented-interface exception. Populate `Local Baseline` from the Unit's analyzed
|
|
150
|
+
evidence; sub-agents do not read this Skill.
|
|
141
151
|
2. Execute according to dependency order and selected owner.
|
|
142
152
|
3. For non-TDD work, do not run tests; self-audit scope, contracts, TODOs, and introduced warnings.
|
|
143
153
|
For TDD, run only the lifecycle commands required by RED/GREEN/REFACTOR. Also audit new author
|
|
@@ -183,5 +193,6 @@ conversation overhead while keeping work observable.
|
|
|
183
193
|
- [ ] New author attributions use the user-facing host `<Current Agent Name> with Easy Coding`.
|
|
184
194
|
- [ ] Every new model field and every non-obvious documented member follows the local comment rule.
|
|
185
195
|
- [ ] Every method/field in a new core Java class, and every added or materially modified one in
|
|
186
|
-
an existing core Java class, has Javadoc
|
|
196
|
+
an existing core Java class, has Javadoc unless it qualifies for the documented-interface
|
|
197
|
+
implementation exception.
|
|
187
198
|
- [ ] The task enters QUALITY, regardless of workflow mode.
|
|
@@ -63,8 +63,15 @@ For an explicit repository mutation:
|
|
|
63
63
|
cannot be a target. Then implement only those files.
|
|
64
64
|
5. If scope expands, stop, replace the proposal, and confirm again.
|
|
65
65
|
6. Apply local style, core Java Javadoc, logical blank lines, and minimum modification exactly as
|
|
66
|
-
normal Easy Coding.
|
|
67
|
-
|
|
66
|
+
normal Easy Coding. This includes the implementation exception for a documented interface method:
|
|
67
|
+
omit repeated Javadoc only when the interface method has meaningful, accurate, accessible
|
|
68
|
+
Javadoc and the implementation adds no implementation-specific contract, constraint, side
|
|
69
|
+
effect, or other behavior beyond that documented interface method's contract.
|
|
70
|
+
Document implementation-specific behavior and obey explicit project hard rules. A generic
|
|
71
|
+
project rule requiring Javadoc on every core Java method does not by itself override the
|
|
72
|
+
documented interface method exception. Only an explicit project rule requiring implementation
|
|
73
|
+
methods to repeat interface Javadoc does. Do not run tests by default; run only a command
|
|
74
|
+
explicitly requested by the user or mandated by a project/global hard rule.
|
|
68
75
|
7. Report changed files and any command actually run, then call
|
|
69
76
|
`complete-lite-proposal --digest <digest>`. Completion fails if no confirmed target changed,
|
|
70
77
|
another file changed after confirmation, or Git HEAD moved. Re-present the proposal rather
|
|
@@ -59,6 +59,16 @@ Review only the confirmed diff and its direct interactions. Check acceptance beh
|
|
|
59
59
|
compatibility, security/correctness, test design, nearest local style, required core Java
|
|
60
60
|
Javadoc, logical blank-line grouping, and minimum modification.
|
|
61
61
|
|
|
62
|
+
Do not report missing Javadoc on an implementation method when its interface method has
|
|
63
|
+
meaningful, accurate, accessible Javadoc and the implementation adds no implementation-specific
|
|
64
|
+
contract, constraint, side effect, or other behavior beyond that documented interface method's
|
|
65
|
+
contract. Require implementation Javadoc for implementation-specific behavior or when an explicit
|
|
66
|
+
project hard rule requires it.
|
|
67
|
+
|
|
68
|
+
A generic project rule requiring Javadoc on every core Java method does not by itself override the
|
|
69
|
+
documented interface method exception. Only an explicit project rule requiring implementation
|
|
70
|
+
methods to repeat interface Javadoc does.
|
|
71
|
+
|
|
62
72
|
Do not demand defensive null checks, constant extraction, abstractions, method splitting,
|
|
63
73
|
comments, formatting, or cleanup solely as generic best practice. Do not report unrelated legacy
|
|
64
74
|
issues as task findings. The first review must report the complete in-scope finding set; after a
|
|
@@ -27,6 +27,14 @@ complete exactly that unit. Your reply IS the return value, not a message to a h
|
|
|
27
27
|
- Every method and field in a new core Java class, and every added or materially modified method
|
|
28
28
|
or field in an existing core Java class, must have meaningful multiline Javadoc; use `//` for
|
|
29
29
|
ordinary one-line notes and comment complex logic where intent or constraints are not obvious.
|
|
30
|
+
An implementation method may omit repeated Javadoc only when its interface method has
|
|
31
|
+
meaningful, accurate, accessible Javadoc and it adds no implementation-specific contract,
|
|
32
|
+
constraint, side effect, or other behavior beyond that documented interface method's contract.
|
|
33
|
+
Document implementation-specific behavior and explicit project hard rules. Do not add an empty
|
|
34
|
+
`{@inheritDoc}` block solely to satisfy the normal rule. A generic project rule requiring
|
|
35
|
+
Javadoc on every core Java method does not by itself override the documented interface method
|
|
36
|
+
exception. Only an explicit project rule requiring implementation methods to repeat interface
|
|
37
|
+
Javadoc does.
|
|
30
38
|
- Do not change unrelated comments, formatting, imports, names, or code. Keep one blank line
|
|
31
39
|
between coherent logic sections and revert formatter spillover outside the requested scope.
|
|
32
40
|
- Treat acceptance criteria, test points, contracts, and risks in the card as required inputs.
|
|
@@ -22,7 +22,13 @@ dimension named in your task card. Your reply IS the return value.
|
|
|
22
22
|
cleanup solely as generic best practice. Flag unjustified local-style deviations, speculative
|
|
23
23
|
layers, fragmented one-use micro-methods, constants created only for a getter return, and
|
|
24
24
|
missing multiline Javadoc on any method/field in a new core Java class or any added/materially
|
|
25
|
-
modified method/field in an existing core Java class.
|
|
25
|
+
modified method/field in an existing core Java class. Do not flag an implementation method when
|
|
26
|
+
the interface method it implements has meaningful, accurate, accessible Javadoc and it adds no
|
|
27
|
+
implementation-specific contract, constraint, side effect, or other behavior beyond that
|
|
28
|
+
documented interface method's contract; require Javadoc for implementation-specific behavior
|
|
29
|
+
or an explicit project hard rule. A generic project rule requiring Javadoc on every core Java
|
|
30
|
+
method does not by itself override the documented interface method exception. Only an explicit
|
|
31
|
+
project rule requiring implementation methods to repeat interface Javadoc does.
|
|
26
32
|
- Treat unrelated comment, formatting, import, naming, or refactor changes as minimum-diff
|
|
27
33
|
violations. Do not ask to clean up untouched legacy code.
|
|
28
34
|
- On the first pass, report the complete in-scope finding set. On a repair pass, review only the
|