easy-coding-harness 0.5.0 → 0.5.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easy-coding-harness",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "CLI scaffold for installing Easy Coding harness files into agent-native directories.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -6,7 +6,7 @@
6
6
  "hooks": [
7
7
  {
8
8
  "type": "command",
9
- "command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
9
+ "command": "{{PYTHON_CMD}} {{platform_hooks_dir_shell}}/session-start.py",
10
10
  "timeout": 30000
11
11
  }
12
12
  ]
@@ -18,7 +18,7 @@
18
18
  "hooks": [
19
19
  {
20
20
  "type": "command",
21
- "command": "{{PYTHON_CMD}} .claude/hooks/session-start.py",
21
+ "command": "{{PYTHON_CMD}} {{platform_hooks_dir_shell}}/session-start.py",
22
22
  "timeout": 15000
23
23
  }
24
24
  ]
@@ -28,7 +28,7 @@
28
28
  "hooks": [
29
29
  {
30
30
  "type": "command",
31
- "command": "{{PYTHON_CMD}} .claude/hooks/inject-workflow-state.py",
31
+ "command": "{{PYTHON_CMD}} {{platform_hooks_dir_shell}}/inject-workflow-state.py",
32
32
  "timeout": 15000
33
33
  }
34
34
  ]
@@ -40,7 +40,7 @@
40
40
  "hooks": [
41
41
  {
42
42
  "type": "command",
43
- "command": "{{PYTHON_CMD}} .claude/hooks/inject-subagent-context.py",
43
+ "command": "{{PYTHON_CMD}} {{platform_hooks_dir_shell}}/inject-subagent-context.py",
44
44
  "timeout": 15000
45
45
  }
46
46
  ]
@@ -5,7 +5,7 @@
5
5
  "hooks": [
6
6
  {
7
7
  "type": "command",
8
- "command": "{{PYTHON_CMD}} .codex/hooks/session-start.py",
8
+ "command": "{{PYTHON_CMD}} {{platform_hooks_dir_shell}}/session-start.py",
9
9
  "timeout": 10
10
10
  }
11
11
  ]
@@ -14,7 +14,7 @@
14
14
  "hooks": [
15
15
  {
16
16
  "type": "command",
17
- "command": "{{PYTHON_CMD}} .codex/hooks/inject-workflow-state.py",
17
+ "command": "{{PYTHON_CMD}} {{platform_hooks_dir_shell}}/inject-workflow-state.py",
18
18
  "timeout": 5
19
19
  }
20
20
  ]
@@ -65,6 +65,13 @@ initialization standard. Check each item:
65
65
  and non-empty?
66
66
  - **Project profile**: `project.yaml` exists with `mode` and `test` fields (ec-init owns it;
67
67
  `config.yaml` is CLI-owned — not ec-init's concern)?
68
+ - **Platform hook config freshness**: for each installed platform in `.easy-coding/config.yaml`,
69
+ read the platform hook config and verify managed Easy Coding hook commands use quoted absolute
70
+ paths to this project's platform hook scripts. If any managed hook command is still relative
71
+ (for example `python3 .claude/hooks/session-start.py`) or points outside this project, report
72
+ the exact config file and tell the user to run `easy-coding upgrade`; the upgrade command also
73
+ refreshes stale hook config when the project is already on the current harness version. Do not
74
+ edit the config yourself.
68
75
 
69
76
  **If all checks pass:** show "initialization is up to date" with a brief summary and exit.
70
77
 
@@ -170,6 +177,9 @@ agent must be able to see what was generated and on what evidence.
170
177
 
171
178
  - Never modify business source code, dependencies, or git state.
172
179
  - Never create workflow tasks or touch session files.
180
+ - Never modify platform hook configuration (`.claude/settings.json`, `.codex/hooks.json`,
181
+ `.qoder/settings.json`, `.qodercn/settings.json`). These files are CLI-managed; if they look
182
+ stale or broken, tell the user to run `easy-coding upgrade`.
173
183
  - For COMPLETE projects: the compliance scan may propose supplementary initialization, but
174
184
  never overwrite existing knowledge files without explicit user confirmation. Missing files
175
185
  can be created; existing files are only updated via migration procedures (e.g., memory
@@ -5,7 +5,7 @@
5
5
  "hooks": [
6
6
  {
7
7
  "type": "command",
8
- "command": "{{PYTHON_CMD}} {{platform_config_dir}}/hooks/session-start.py",
8
+ "command": "{{PYTHON_CMD}} {{platform_hooks_dir_shell}}/session-start.py",
9
9
  "timeout": 10
10
10
  }
11
11
  ]
@@ -14,7 +14,7 @@
14
14
  "hooks": [
15
15
  {
16
16
  "type": "command",
17
- "command": "{{PYTHON_CMD}} {{platform_config_dir}}/hooks/inject-workflow-state.py",
17
+ "command": "{{PYTHON_CMD}} {{platform_hooks_dir_shell}}/inject-workflow-state.py",
18
18
  "timeout": 5
19
19
  }
20
20
  ]
@@ -26,7 +26,7 @@
26
26
  "hooks": [
27
27
  {
28
28
  "type": "command",
29
- "command": "{{PYTHON_CMD}} {{platform_config_dir}}/hooks/inject-subagent-context.py",
29
+ "command": "{{PYTHON_CMD}} {{platform_hooks_dir_shell}}/inject-subagent-context.py",
30
30
  "timeout": 30
31
31
  }
32
32
  ]