@kody-ade/kody-engine 0.4.168 → 0.4.170
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
CHANGED
|
@@ -1061,7 +1061,7 @@ var init_loadPriorArt = __esm({
|
|
|
1061
1061
|
// package.json
|
|
1062
1062
|
var package_default = {
|
|
1063
1063
|
name: "@kody-ade/kody-engine",
|
|
1064
|
-
version: "0.4.
|
|
1064
|
+
version: "0.4.170",
|
|
1065
1065
|
description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
|
|
1066
1066
|
license: "MIT",
|
|
1067
1067
|
type: "module",
|
|
@@ -9087,6 +9087,32 @@ function humanizeSlug(slug) {
|
|
|
9087
9087
|
return slug.split(/[-_]+/).filter((s) => s.length > 0).map((s) => s[0].toUpperCase() + s.slice(1)).join(" ");
|
|
9088
9088
|
}
|
|
9089
9089
|
|
|
9090
|
+
// src/scripts/loadLinkedFinding.ts
|
|
9091
|
+
init_issue();
|
|
9092
|
+
var FINDING_BODY_MAX_BYTES = 4e3;
|
|
9093
|
+
function resolveFindingNumber(pr) {
|
|
9094
|
+
const fromBranch = /^(\d+)-/.exec(pr.headRefName)?.[1];
|
|
9095
|
+
if (fromBranch) return Number(fromBranch);
|
|
9096
|
+
const m = /(?:fix(?:e[sd])?|close[sd]?|resolve[sd]?)\s+#(\d+)/i.exec(pr.body);
|
|
9097
|
+
return m ? Number(m[1]) : null;
|
|
9098
|
+
}
|
|
9099
|
+
var loadLinkedFinding = async (ctx) => {
|
|
9100
|
+
ctx.data.linkedFinding = "";
|
|
9101
|
+
const pr = ctx.data.pr;
|
|
9102
|
+
if (!pr) return;
|
|
9103
|
+
const findingNumber = resolveFindingNumber(pr);
|
|
9104
|
+
if (!findingNumber) return;
|
|
9105
|
+
let issue;
|
|
9106
|
+
try {
|
|
9107
|
+
issue = getIssue(findingNumber, ctx.cwd);
|
|
9108
|
+
} catch {
|
|
9109
|
+
return;
|
|
9110
|
+
}
|
|
9111
|
+
ctx.data.linkedFinding = `Issue #${issue.number}: ${issue.title}
|
|
9112
|
+
|
|
9113
|
+
${truncate2(issue.body, FINDING_BODY_MAX_BYTES)}`;
|
|
9114
|
+
};
|
|
9115
|
+
|
|
9090
9116
|
// src/scripts/index.ts
|
|
9091
9117
|
init_loadMemoryContext();
|
|
9092
9118
|
init_loadPriorArt();
|
|
@@ -13068,6 +13094,7 @@ var preflightScripts = {
|
|
|
13068
13094
|
loadWorkerAdhoc,
|
|
13069
13095
|
loadConventions,
|
|
13070
13096
|
loadCoverageRules,
|
|
13097
|
+
loadLinkedFinding,
|
|
13071
13098
|
loadMemoryContext,
|
|
13072
13099
|
loadPriorArt,
|
|
13073
13100
|
loadQaContext,
|
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"preflight": [
|
|
70
70
|
{ "script": "setLifecycleLabel", "with": { "label": "kody:reviewing-ui", "color": "d93f0b", "description": "kody: UI-reviewing a PR" } },
|
|
71
71
|
{ "script": "reviewFlow" },
|
|
72
|
+
{ "script": "loadLinkedFinding" },
|
|
72
73
|
{ "script": "loadTaskState" },
|
|
73
74
|
{ "script": "loadConventions" },
|
|
74
75
|
{ "script": "discoverQaContext" },
|
|
@@ -36,6 +36,20 @@ If `browser_navigate` errors out (timeout, DNS, connection refused, navigation a
|
|
|
36
36
|
|
|
37
37
|
{{qaAuthBlock}}
|
|
38
38
|
|
|
39
|
+
{{#linkedFinding}}
|
|
40
|
+
# What this PR must deliver
|
|
41
|
+
|
|
42
|
+
This PR is meant to deliver the issue below — a **bug fix** or a **feature**. **Judge your verdict against whether the issue's goal is actually met in the running app — NOT merely whether the diff is internally correct.** Exercise the relevant flow on the preview:
|
|
43
|
+
|
|
44
|
+
- **If it's a bug** (Steps / Expected / Actual): reproduce the Steps and check the reported **Actual** is gone. If the symptom still reproduces, the verdict is **FAIL** — *even if the code change looks correct and the remaining cause is a separate env/config issue*. "Done" means the user no longer sees the bug, not that the author's narrow change landed.
|
|
45
|
+
- **If it's a feature** (described behavior / acceptance criteria): exercise the new behavior and check it actually works as described. If the described capability is missing, broken, or only partially present, the verdict is **FAIL** (or CONCERNS for partial).
|
|
46
|
+
- Either way, verdict **PASS** only if you confirmed the goal is met in the browser; **CONCERNS** if you genuinely could not reach/exercise it.
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
{{linkedFinding}}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
{{/linkedFinding}}
|
|
39
53
|
# Diff
|
|
40
54
|
|
|
41
55
|
```diff
|
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.170",
|
|
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",
|