@kody-ade/kody-engine 0.4.64 → 0.4.66
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/dist/bin/kody.js +817 -530
- package/dist/executables/bug/profile.json +1 -0
- package/dist/executables/chore/profile.json +1 -0
- package/dist/executables/feature/profile.json +1 -0
- package/dist/executables/fix/profile.json +11 -27
- package/dist/executables/fix-ci/profile.json +12 -53
- package/dist/executables/goal-scheduler/scheduler.sh +0 -0
- package/dist/executables/release-deploy/deploy.sh +0 -0
- package/dist/executables/release-prepare/prepare.sh +0 -0
- package/dist/executables/release-publish/publish.sh +0 -0
- package/dist/executables/resolve/apply-prefer.sh +0 -0
- package/dist/executables/revert/revert.sh +0 -0
- package/dist/executables/run/profile.json +14 -28
- package/dist/executables/types.ts +32 -0
- package/package.json +14 -15
|
@@ -63,37 +63,21 @@
|
|
|
63
63
|
"usage": ""
|
|
64
64
|
}
|
|
65
65
|
],
|
|
66
|
+
"lifecycle": "pr-branch",
|
|
67
|
+
"lifecycleConfig": {
|
|
68
|
+
"label": {
|
|
69
|
+
"name": "kody:fixing",
|
|
70
|
+
"color": "e99695",
|
|
71
|
+
"description": "kody: applying review feedback"
|
|
72
|
+
},
|
|
73
|
+
"context": "task"
|
|
74
|
+
},
|
|
66
75
|
"scripts": {
|
|
67
76
|
"preflight": [
|
|
68
|
-
{ "script": "
|
|
69
|
-
{
|
|
70
|
-
"script": "setLifecycleLabel",
|
|
71
|
-
"with": {
|
|
72
|
-
"label": "kody:fixing",
|
|
73
|
-
"color": "e99695",
|
|
74
|
-
"description": "kody: applying review feedback"
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
{ "script": "fixFlow" },
|
|
78
|
-
{ "script": "loadTaskState" },
|
|
79
|
-
{ "script": "loadConventions" },
|
|
80
|
-
{ "script": "loadPriorArt" },
|
|
81
|
-
{ "script": "loadMemoryContext" },
|
|
82
|
-
{ "script": "loadCoverageRules" },
|
|
83
|
-
{ "script": "composePrompt" }
|
|
77
|
+
{ "script": "fixFlow" }
|
|
84
78
|
],
|
|
85
79
|
"postflight": [
|
|
86
|
-
{ "script": "
|
|
87
|
-
{ "script": "requireFeedbackActions" },
|
|
88
|
-
{ "script": "verify" },
|
|
89
|
-
{ "script": "checkCoverageWithRetry" },
|
|
90
|
-
{ "script": "abortUnfinishedGitOps" },
|
|
91
|
-
{ "script": "commitAndPush" },
|
|
92
|
-
{ "script": "ensurePr" },
|
|
93
|
-
{ "script": "postIssueComment" },
|
|
94
|
-
{ "script": "writeRunSummary" },
|
|
95
|
-
{ "script": "saveTaskState" },
|
|
96
|
-
{ "script": "advanceFlow" }
|
|
80
|
+
{ "script": "requireFeedbackActions" }
|
|
97
81
|
]
|
|
98
82
|
},
|
|
99
83
|
"output": {
|
|
@@ -44,62 +44,21 @@
|
|
|
44
44
|
"mcpServers": []
|
|
45
45
|
},
|
|
46
46
|
"cliTools": [],
|
|
47
|
+
"lifecycle": "pr-branch",
|
|
48
|
+
"lifecycleConfig": {
|
|
49
|
+
"label": {
|
|
50
|
+
"name": "kody:fixing",
|
|
51
|
+
"color": "e99695",
|
|
52
|
+
"description": "kody: applying review feedback"
|
|
53
|
+
},
|
|
54
|
+
"context": "ci-fix",
|
|
55
|
+
"advance": false
|
|
56
|
+
},
|
|
47
57
|
"scripts": {
|
|
48
58
|
"preflight": [
|
|
49
|
-
{ "script": "
|
|
50
|
-
{
|
|
51
|
-
"script": "setLifecycleLabel",
|
|
52
|
-
"with": {
|
|
53
|
-
"label": "kody:fixing",
|
|
54
|
-
"color": "e99695",
|
|
55
|
-
"description": "kody: applying review feedback"
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"script": "fixCiFlow"
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"script": "loadTaskState"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
"script": "loadConventions"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"script": "loadCoverageRules"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"script": "composePrompt"
|
|
72
|
-
}
|
|
59
|
+
{ "script": "fixCiFlow" }
|
|
73
60
|
],
|
|
74
|
-
"postflight": [
|
|
75
|
-
{
|
|
76
|
-
"script": "parseAgentResult"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"script": "verify"
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"script": "checkCoverageWithRetry"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"script": "abortUnfinishedGitOps"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"script": "commitAndPush"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"script": "ensurePr"
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"script": "postIssueComment"
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"script": "writeRunSummary"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"script": "saveTaskState"
|
|
101
|
-
}
|
|
102
|
-
]
|
|
61
|
+
"postflight": []
|
|
103
62
|
},
|
|
104
63
|
"output": {
|
|
105
64
|
"actionTypes": [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -44,38 +44,24 @@
|
|
|
44
44
|
"mcpServers": []
|
|
45
45
|
},
|
|
46
46
|
"cliTools": [],
|
|
47
|
+
"lifecycle": "pr-branch",
|
|
48
|
+
"lifecycleConfig": {
|
|
49
|
+
"label": {
|
|
50
|
+
"name": "kody:running",
|
|
51
|
+
"color": "fbca04",
|
|
52
|
+
"description": "kody: implementing the change"
|
|
53
|
+
},
|
|
54
|
+
"context": "task",
|
|
55
|
+
"contextExtras": ["resolveArtifacts"],
|
|
56
|
+
"sync": false,
|
|
57
|
+
"mirrorState": true
|
|
58
|
+
},
|
|
47
59
|
"scripts": {
|
|
48
60
|
"preflight": [
|
|
49
|
-
{
|
|
50
|
-
"script": "setLifecycleLabel",
|
|
51
|
-
"with": {
|
|
52
|
-
"label": "kody:running",
|
|
53
|
-
"color": "fbca04",
|
|
54
|
-
"description": "kody: implementing the change"
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
{ "script": "runFlow" },
|
|
58
|
-
{ "script": "loadTaskState" },
|
|
59
|
-
{ "script": "resolveArtifacts" },
|
|
60
|
-
{ "script": "loadPriorArt" },
|
|
61
|
-
{ "script": "loadMemoryContext" },
|
|
62
|
-
{ "script": "loadConventions" },
|
|
63
|
-
{ "script": "loadCoverageRules" },
|
|
64
|
-
{ "script": "composePrompt" }
|
|
61
|
+
{ "script": "runFlow" }
|
|
65
62
|
],
|
|
66
63
|
"postflight": [
|
|
67
|
-
{ "script": "
|
|
68
|
-
{ "script": "requirePlanDeviations" },
|
|
69
|
-
{ "script": "verify" },
|
|
70
|
-
{ "script": "checkCoverageWithRetry" },
|
|
71
|
-
{ "script": "abortUnfinishedGitOps" },
|
|
72
|
-
{ "script": "commitAndPush" },
|
|
73
|
-
{ "script": "ensurePr" },
|
|
74
|
-
{ "script": "postIssueComment" },
|
|
75
|
-
{ "script": "writeRunSummary" },
|
|
76
|
-
{ "script": "saveTaskState" },
|
|
77
|
-
{ "script": "mirrorStateToPr" },
|
|
78
|
-
{ "script": "advanceFlow" }
|
|
64
|
+
{ "script": "requirePlanDeviations" }
|
|
79
65
|
]
|
|
80
66
|
},
|
|
81
67
|
"input": {
|
|
@@ -51,6 +51,24 @@ export interface Profile {
|
|
|
51
51
|
inputs: InputSpec[]
|
|
52
52
|
claudeCode: ClaudeCodeSpec
|
|
53
53
|
cliTools: CliToolSpec[]
|
|
54
|
+
/**
|
|
55
|
+
* Optional lifecycle macro. When set, the profile loader applies a
|
|
56
|
+
* predefined preflight/postflight wrapper around `scripts.preflight` and
|
|
57
|
+
* `scripts.postflight` before returning the profile. Registry of lifecycles
|
|
58
|
+
* lives in src/lifecycles/. Unknown values are rejected at load time.
|
|
59
|
+
*
|
|
60
|
+
* Lifecycles exist to consolidate orchestration boilerplate (label,
|
|
61
|
+
* context loading, verify, commit, comment) that recurs across many
|
|
62
|
+
* executables. Per-executable specifics still go in `scripts.preflight`
|
|
63
|
+
* and `scripts.postflight` — the lifecycle wraps them, it doesn't
|
|
64
|
+
* replace them.
|
|
65
|
+
*/
|
|
66
|
+
lifecycle?: string
|
|
67
|
+
/**
|
|
68
|
+
* Lifecycle-specific configuration. Shape depends on `lifecycle`. Validated
|
|
69
|
+
* by each lifecycle expander, not by the generic profile parser.
|
|
70
|
+
*/
|
|
71
|
+
lifecycleConfig?: Record<string, unknown>
|
|
54
72
|
scripts: {
|
|
55
73
|
preflight: ScriptEntry[]
|
|
56
74
|
postflight: ScriptEntry[]
|
|
@@ -84,6 +102,20 @@ export interface Profile {
|
|
|
84
102
|
* then makes pass). Only honoured when `role === "container"`.
|
|
85
103
|
*/
|
|
86
104
|
resetBetweenChildren?: boolean
|
|
105
|
+
/**
|
|
106
|
+
* Phase 5 in-process handoff: when true, the container's loop runs
|
|
107
|
+
* the shared context loaders (loadConventions, loadPriorArt,
|
|
108
|
+
* loadMemoryContext, loadCoverageRules) ONCE after its own preflight
|
|
109
|
+
* completes, then passes the resulting `ctx.data` snapshot to every
|
|
110
|
+
* child via `ExecutorInput.preloadedData`. Each child's loaders take
|
|
111
|
+
* their fast path (added in 0.4.63) and skip the redundant
|
|
112
|
+
* GitHub/filesystem round-trips.
|
|
113
|
+
*
|
|
114
|
+
* Default `false` (opt-in) so the change is gated to containers
|
|
115
|
+
* that have been verified end-to-end. Only honoured when
|
|
116
|
+
* `role === "container"`.
|
|
117
|
+
*/
|
|
118
|
+
preloadContext?: boolean
|
|
87
119
|
/** Absolute directory the profile was loaded from. Used to resolve prompt.md. */
|
|
88
120
|
dir: string
|
|
89
121
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kody-ade/kody-engine",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.66",
|
|
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",
|
|
@@ -12,18 +12,6 @@
|
|
|
12
12
|
"templates",
|
|
13
13
|
"kody.config.schema.json"
|
|
14
14
|
],
|
|
15
|
-
"scripts": {
|
|
16
|
-
"kody": "tsx bin/kody.ts",
|
|
17
|
-
"build": "tsup && node scripts/copy-assets.cjs",
|
|
18
|
-
"test": "vitest run tests/unit tests/int --no-coverage",
|
|
19
|
-
"test:e2e": "vitest run tests/e2e --no-coverage",
|
|
20
|
-
"test:all": "vitest run tests --no-coverage",
|
|
21
|
-
"typecheck": "tsc --noEmit",
|
|
22
|
-
"lint": "biome check",
|
|
23
|
-
"lint:fix": "biome check --write",
|
|
24
|
-
"format": "biome format --write",
|
|
25
|
-
"prepublishOnly": "pnpm build"
|
|
26
|
-
},
|
|
27
15
|
"dependencies": {
|
|
28
16
|
"@actions/cache": "^6.0.0",
|
|
29
17
|
"@anthropic-ai/claude-agent-sdk": "0.2.119",
|
|
@@ -45,5 +33,16 @@
|
|
|
45
33
|
"url": "git+https://github.com/aharonyaircohen/kody-engine.git"
|
|
46
34
|
},
|
|
47
35
|
"homepage": "https://github.com/aharonyaircohen/kody-engine",
|
|
48
|
-
"bugs": "https://github.com/aharonyaircohen/kody-engine/issues"
|
|
49
|
-
|
|
36
|
+
"bugs": "https://github.com/aharonyaircohen/kody-engine/issues",
|
|
37
|
+
"scripts": {
|
|
38
|
+
"kody": "tsx bin/kody.ts",
|
|
39
|
+
"build": "tsup && node scripts/copy-assets.cjs",
|
|
40
|
+
"test": "vitest run tests/unit tests/int --no-coverage",
|
|
41
|
+
"test:e2e": "vitest run tests/e2e --no-coverage",
|
|
42
|
+
"test:all": "vitest run tests --no-coverage",
|
|
43
|
+
"typecheck": "tsc --noEmit",
|
|
44
|
+
"lint": "biome check",
|
|
45
|
+
"lint:fix": "biome check --write",
|
|
46
|
+
"format": "biome format --write"
|
|
47
|
+
}
|
|
48
|
+
}
|