@kody-ade/kody-engine 0.4.81 → 0.4.83

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.
@@ -49,10 +49,14 @@ for state_file in "${state_files[@]}"; do
49
49
  # dispatch" rather than "origin/<defaultBranch> at goal activation", which
50
50
  # is better for short-lived QA-style goals where main may have moved on.
51
51
 
52
- # Run the tick. Top-level kody invocation is `kody <executable>`
53
- # there's no `dispatch` subcommand. A non-zero exit logs and continues
54
- # so one stuck goal doesn't starve the rest of the schedule.
55
- if ! kody goal-tick --goal "$goal_id"; then
52
+ # Run the tick. The published CLI bin is `kody-engine` (see package.json
53
+ # "bin") NOT `kody`. Calling bare `kody` here failed with
54
+ # `kody: command not found`, so every active goal silently failed to
55
+ # advance. `kody-engine` is on PATH because the workflow invokes the
56
+ # engine via `npx -p @kody-ade/kody-engine ... kody-engine`, and child
57
+ # processes inherit that PATH. A non-zero exit logs and continues so one
58
+ # stuck goal doesn't starve the rest of the schedule.
59
+ if ! kody-engine goal-tick --goal "$goal_id"; then
56
60
  echo "[goal-scheduler] tick $goal_id failed (continuing)"
57
61
  fi
58
62
  done
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "goal-tick",
3
3
  "role": "primitive",
4
- "describe": "One deterministic tick for one goal in the stacked-PR model: read .kody/goals/<id>/state.json, dispatch @kody on the next ready task (stacked on the leaf PR), or squash-merge the leaf when all tasks are done. No agent.",
4
+ "describe": "One deterministic tick for one goal in the stacked-PR model: read .kody/goals/<id>/state.json, dispatch @kody on the next ready task (stacked on the leaf PR), or — when all tasks are done — park the goal at awaiting-merge (the dashboard Merge button later flips it back to active+mergeApproved, which lets finalize squash-merge the leaf). No agent.",
5
5
  "kind": "oneshot",
6
6
  "inputs": [
7
7
  {
@@ -51,6 +51,10 @@
51
51
  "script": "deriveGoalPhase",
52
52
  "runWhen": { "data.goal.state": "active" }
53
53
  },
54
+ {
55
+ "script": "parkGoalForMerge",
56
+ "runWhen": { "data.goal.phase": "all-done" }
57
+ },
54
58
  {
55
59
  "script": "finalizeGoal",
56
60
  "runWhen": { "data.goal.phase": "all-done" }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kody-ade/kody-engine",
3
- "version": "0.4.81",
3
+ "version": "0.4.83",
4
4
  "description": "kody — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
5
5
  "license": "MIT",
6
6
  "type": "module",