easy-coding-harness 0.10.0-beta.9 → 1.0.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.
Files changed (34) hide show
  1. package/CHANGELOG.md +67 -1
  2. package/README.md +34 -26
  3. package/dist/cli.js +272 -37
  4. package/dist/cli.js.map +1 -1
  5. package/package.json +1 -1
  6. package/templates/claude/agents/ec-implementer.md +7 -8
  7. package/templates/claude/agents/ec-reviewer.md +14 -2
  8. package/templates/claude/agents/ec-verifier.md +11 -2
  9. package/templates/codex/agents/ec-implementer.toml +7 -8
  10. package/templates/codex/agents/ec-reviewer.toml +14 -2
  11. package/templates/codex/agents/ec-verifier.toml +11 -2
  12. package/templates/common/bundled-skills/ec-init/SKILL.md +1 -1
  13. package/templates/common/bundled-skills/ec-meta/references/local-architecture/README.md +15 -11
  14. package/templates/common/skills/ec-analysis/SKILL.md +24 -13
  15. package/templates/common/skills/ec-config/SKILL.md +2 -2
  16. package/templates/common/skills/ec-implementing/SKILL.md +35 -30
  17. package/templates/common/skills/ec-lite/SKILL.md +74 -0
  18. package/templates/common/skills/ec-no-harness/SKILL.md +3 -0
  19. package/templates/common/skills/ec-quality/SKILL.md +153 -0
  20. package/templates/common/skills/ec-task-management/SKILL.md +9 -5
  21. package/templates/common/skills/ec-tdd-init/SKILL.md +5 -4
  22. package/templates/common/skills/ec-workflow/SKILL.md +32 -30
  23. package/templates/main-constraint/AGENTS.md.tpl +31 -19
  24. package/templates/main-constraint/CLAUDE.md.tpl +31 -19
  25. package/templates/qoder/agents/ec-implementer.md +7 -8
  26. package/templates/qoder/agents/ec-reviewer.md +14 -2
  27. package/templates/qoder/agents/ec-verifier.md +11 -2
  28. package/templates/runtime/templates/dev-spec-skeleton.md +2 -2
  29. package/templates/shared-hooks/easy_coding_state.py +2793 -318
  30. package/templates/claude/agents/ec-fixer.md +0 -37
  31. package/templates/codex/agents/ec-fixer.toml +0 -26
  32. package/templates/common/skills/ec-reviewing/SKILL.md +0 -109
  33. package/templates/common/skills/ec-verification/SKILL.md +0 -177
  34. package/templates/qoder/agents/ec-fixer.md +0 -37
@@ -11,8 +11,6 @@ complete exactly that unit. Your reply IS the return value, not a message to a h
11
11
  ## Hard constraints
12
12
 
13
13
  - Modify only the files listed in the task card's "Editable scope". Touch nothing else.
14
- - If the editable scope is `NONE — read-only deliverable`, modify nothing and return the full
15
- requested result in `deliverable`.
16
14
  - Do not call any Skill tool.
17
15
  - Do not read `.qoder/skills/`, `.agents/skills/`, or any `.easy-coding/` file. All needed
18
16
  context is in the card.
@@ -21,25 +19,26 @@ complete exactly that unit. Your reply IS the return value, not a message to a h
21
19
  - Follow the task card's `Local Baseline`: match nearby naming, control flow, null/error handling,
22
20
  layering, object modeling, method granularity, literal usage, and comment style unless a stated
23
21
  correctness, security, requirement, or hard-rule reason requires a deviation.
24
- - Treat the task card's `Code Comments` author value and field/member/constant rules as mandatory.
22
+ - Treat the task card's `Code Comments` author value and field rules as mandatory.
25
23
  - Do not add generic defensive null checks, speculative abstractions/layers, fragmented one-use
26
24
  micro-methods, or a constant that exists only to hold one getter return.
27
25
  - Local, obvious magic values are allowed when they match surrounding code; create constants for
28
26
  reuse, stable domain/config/protocol semantics, or established project convention.
29
27
  - Every method and field in a new core Java class, and every added or materially modified method
30
- or field in an existing core Java class, must have meaningful Javadoc; comment complex logic
31
- where intent or constraints are not obvious.
28
+ or field in an existing core Java class, must have meaningful multiline Javadoc; use `//` for
29
+ ordinary one-line notes and comment complex logic where intent or constraints are not obvious.
30
+ - Do not change unrelated comments, formatting, imports, names, or code. Keep one blank line
31
+ between coherent logic sections and revert formatter spillover outside the requested scope.
32
32
  - Treat acceptance criteria, test points, contracts, and risks in the card as required inputs.
33
- - Run the exact targeted checks requested by the card and report their real outcome.
33
+ - Do not run quality commands unless the card explicitly marks TDD lifecycle execution required.
34
34
  - Preserve each existing file's original encoding; never silently convert.
35
35
 
36
36
  ## Output (return exactly this)
37
37
 
38
38
  - `changed_files`: the files you actually modified
39
39
  - `summary`: one line describing what you did
40
- - `deliverable`: full no-code result, or `null` for a code unit
41
40
  - `issues`: problems you hit (empty array if none)
42
41
  - `needs_attention`: anything the main agent must decide (empty array if none)
43
- - `checks`: commands run with pass/fail outcomes
42
+ - `checks`: TDD lifecycle commands actually run, otherwise an empty array
44
43
 
45
44
  Do not claim a file is verified unless the card asked you to run a check and you ran it.
@@ -21,8 +21,12 @@ dimension named in your task card. Your reply IS the return value.
21
21
  - Do not request defensive null checks, abstraction, constant extraction, or legacy-wide comment
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
- missing Javadoc on any method/field in a new core Java class or any added/materially modified
25
- method/field in an existing core Java class.
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.
26
+ - Treat unrelated comment, formatting, import, naming, or refactor changes as minimum-diff
27
+ violations. Do not ask to clean up untouched legacy code.
28
+ - On the first pass, report the complete in-scope finding set. On a repair pass, review only the
29
+ repair delta and direct interactions; do not introduce unrelated style findings.
26
30
  - `error` means a demonstrated acceptance, contract, security, or build failure. Use `warning`
27
31
  for a credible risk and `info` for non-blocking maintainability advice.
28
32
 
@@ -35,5 +39,13 @@ dimension named in your task card. Your reply IS the return value.
35
39
  ## Output (return exactly this)
36
40
 
37
41
  - `dimension`: your assigned dimension
42
+ - `passed`: true only when there are no `error` findings
43
+ - `implementation_fingerprint`: copy unchanged from the task card
44
+ - `quality_attempt`: copy unchanged from the task card
45
+ - `failure_classes`: array of code-defect | test-defect | contract-ambiguity | environment for
46
+ blocking findings; empty when passed
47
+ - `reviewer`: your canonical Agent identity
48
+ - `timestamp`: current ISO timestamp with timezone
49
+ - `repo_id` and `source_task_id`: copy unchanged when present in the task card
38
50
  - `findings`: array of `{file, line, issue, severity}` (`severity`: info | warning | error)
39
51
  - `suggestion`: optional fix direction per finding
@@ -22,13 +22,22 @@ pass.
22
22
 
23
23
  ## Hard constraints
24
24
 
25
- - Run only the requested check. Do not fix code, run other checks, or edit files.
25
+ - Run only the requested check. Do not fix code, run other checks, or edit files. Keep the exact
26
+ task-card candidate fingerprints; never combine another candidate's output.
27
+ - Distinguish environment/tooling failures from code or test failures in `failures`.
26
28
  - Do not call any Skill tool. Do not make stage decisions.
27
29
 
28
30
  ## Output (return exactly this)
29
31
 
30
- - `check_type`: lint | typecheck | test | build
32
+ - `check_type`: lint | typecheck | test | build | coverage
33
+ - `check`: copy unchanged from the task card
34
+ - `command`: the exact command that was run
31
35
  - `passed`: true | false (from the real exit status)
36
+ - `quality_attempt`: copy unchanged from the task card
37
+ - `failure_classes`: array of code-defect | test-defect | contract-ambiguity | environment;
38
+ empty when passed
39
+ - `timestamp`: current ISO timestamp with timezone
40
+ - `repo_id` and `source_task_id`: copy unchanged when present in the task card
32
41
  - `failures`: array of failure messages (empty if passed)
33
42
  - `command_output`: the relevant tail of stdout/stderr
34
43
  - `implementation_fingerprint`: copy unchanged from the task card
@@ -46,7 +46,7 @@ decision_status: [[EC_TODO:仅当所有实质性问题均已解决并回填后
46
46
  - **关联历史任务**:[[EC_TODO:相关短期记忆 ID;无则“无”]]
47
47
 
48
48
  ### 改动范围
49
- > 只列真实项目源码/配置文件的改动。禁止把 `.easy-coding/` 下的 harness 产物(dev-spec / execution.jsonl / test-strategy / 记忆 / 报告等)当作改动对象。本表为空仅允许用于"用户明确要求的无代码交付形态";代码类任务(重构/修复/功能)若此表为空,即为自我降级。
49
+ > 只列真实项目源码/配置文件的改动。禁止把 `.easy-coding/` 下的 harness 产物(dev-spec / execution.jsonl / test-strategy / 记忆 / 报告等)当作改动对象。Harness 只为明确的仓库修改创建任务,因此本表不得为空。
50
50
 
51
51
  | 改动文件 | 改动类型 | 文件编码 | 改动核心内容 |
52
52
  |----------|---------|---------|-------------|
@@ -90,7 +90,7 @@ decision_status: [[EC_TODO:仅当所有实质性问题均已解决并回填后
90
90
  - **机械最低模式**:[[EC_TODO:fast / standard / strict]]
91
91
  - **推荐并选择**:[[EC_TODO:fast / standard / strict]]
92
92
  - **选择原因**:[[EC_TODO:风险、范围和兼容性依据]]
93
- - **状态内执行差异**:[[EC_TODO:IMPLEMENT / REVIEW / VERIFICATION / MEMORY 将采用的深度]]
93
+ - **状态内执行差异**:[[EC_TODO:IMPLEMENT / QUALITY / MEMORY 将采用的深度]]
94
94
 
95
95
  ### 风险与注意事项
96
96
  - [[EC_TODO:风险 1]]