easy-coding-harness 0.5.2-beta.0 → 0.6.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 +18 -0
- package/README.md +8 -10
- package/dist/cli.js +156 -4
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
- package/templates/common/bundled-skills/ec-init/SKILL.md +1 -1
- package/templates/common/bundled-skills/ec-meta/references/local-architecture/README.md +8 -5
- package/templates/common/skills/ec-analysis/SKILL.md +9 -8
- package/templates/common/skills/ec-brainstorming/SKILL.md +2 -1
- package/templates/common/skills/ec-implementing/SKILL.md +5 -4
- package/templates/common/skills/ec-memory/SKILL.md +42 -20
- package/templates/common/skills/ec-reviewing/SKILL.md +6 -3
- package/templates/common/skills/ec-task-close/SKILL.md +1 -1
- package/templates/common/skills/ec-verification/SKILL.md +16 -21
- package/templates/common/skills/ec-workflow/SKILL.md +70 -62
- package/templates/main-constraint/AGENTS.md.tpl +10 -6
- package/templates/main-constraint/CLAUDE.md.tpl +10 -6
- package/templates/runtime/memory/SHORT_MEMORY_TEMPLATE.md +2 -0
- package/templates/shared-hooks/easy_coding_state.py +560 -33
- package/templates/shared-hooks/inject-workflow-state.py +1 -176
- package/templates/shared-hooks/session-start.py +2 -1
|
@@ -33,16 +33,20 @@ First run `/ec-init`; daily work goes through `/ec-workflow`.
|
|
|
33
33
|
|
|
34
34
|
## Workflow discipline
|
|
35
35
|
|
|
36
|
-
- Stages do not skip.
|
|
37
|
-
|
|
36
|
+
- Stages do not skip. Every legal stage edge uses `pending_transition` and requires explicit
|
|
37
|
+
user confirmation by default. At each boundary, use the agent's native user-choice tool
|
|
38
|
+
whenever available to offer: confirm target stage, hand off to another agent, or its
|
|
39
|
+
free-form Other input. Plain-text numbered choices are fallback only. `auto_mode` only
|
|
40
|
+
waives prompts when configured and explicitly requested by the user; it never changes scope
|
|
41
|
+
or delivery form.
|
|
38
42
|
- ANALYSIS must follow template-first: read `.easy-coding/templates/dev-spec-skeleton.md` then
|
|
39
43
|
write its exact content to the task's dev-spec.md as the FIRST tool calls, then fill sections
|
|
40
44
|
incrementally via edits. Reply to the user with the complete dev-spec.md content — never a
|
|
41
45
|
summary table or custom format.
|
|
42
46
|
- VERIFICATION is a hard gate: lint + typecheck + test must pass on fresh evidence, and
|
|
43
47
|
coverage must match the test strategy, before a task can complete.
|
|
44
|
-
-
|
|
45
|
-
memory is dirty data.
|
|
48
|
+
- MEMORY combines short-memory creation and the conditional long-memory gate. Archive runs
|
|
49
|
+
only after explicit user acceptance — an unaccepted task's memory is dirty data.
|
|
46
50
|
- NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE.
|
|
47
51
|
- All cross-platform modules (skills, hooks, references) must use universal agent protocols.
|
|
48
52
|
Do not rely on any specific agent's proprietary conventions unless the module is explicitly
|
|
@@ -52,8 +56,8 @@ First run `/ec-init`; daily work goes through `/ec-workflow`.
|
|
|
52
56
|
## Runtime contract
|
|
53
57
|
|
|
54
58
|
- Workflow state operations go through `{{platform_config_dir}}/hooks/easy_coding_state.py`;
|
|
55
|
-
do not hand-edit session files, `current_task`, task `status`, `stage_history`,
|
|
56
|
-
`last_agent`.
|
|
59
|
+
do not hand-edit session files, `current_task`, task `status`, `stage_history`,
|
|
60
|
+
`pending_transition`, `memory_progress`, or `last_agent`.
|
|
57
61
|
- The hook injects `[easy-coding:session-file:P]`; pass that path to the state script with
|
|
58
62
|
`--session-file <P>` when changing the current task or stage.
|
|
59
63
|
- Workflow session files live at `{{workflow_state_path}}`; the CLI only installs files and
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
memory_schema: 2
|
|
3
3
|
id: SM-YYYYMMDD-001
|
|
4
|
+
source_task: MM-DD-task-slug
|
|
4
5
|
date: YYYY-MM-DD
|
|
5
6
|
task_type: feature | bugfix | refactor | perf | doc | workflow
|
|
6
7
|
project_mode: startup | iteration
|
|
@@ -20,6 +21,7 @@ target_long: BUSINESS | TECHNICAL | BOTH | NONE
|
|
|
20
21
|
|
|
21
22
|
> This template defines the format for files under `.easy-coding/memory/short/`.
|
|
22
23
|
> File naming convention: `{NNN}_{YYYYMMDD}_{smart_name}.md`
|
|
24
|
+
> `source_task` must exactly match the current workflow task id from `task.json`.
|
|
23
25
|
> Short memories are immutable after creation — they serve as a sliding window of recent
|
|
24
26
|
> details and a buffer for long-term distillation candidates.
|
|
25
27
|
> When short memories reach the threshold (default 10), the newest 5 are kept as recent
|