@kody-ade/kody-engine 0.2.40 → 0.2.42

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/kody2.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // package.json
4
4
  var package_default = {
5
5
  name: "@kody-ade/kody-engine",
6
- version: "0.2.40",
6
+ version: "0.2.42",
7
7
  description: "kody2 \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
8
8
  license: "MIT",
9
9
  type: "module",
@@ -2855,6 +2855,24 @@ ${plan}
2855
2855
  Comment \`@kody2 run\` to execute this plan.`;
2856
2856
  }
2857
2857
 
2858
+ // src/scripts/postResearchComment.ts
2859
+ var postResearchComment = async (ctx) => {
2860
+ if (!ctx.data.agentDone) return;
2861
+ const targetType = ctx.data.commentTargetType;
2862
+ const targetNumber = Number(ctx.data.commentTargetNumber ?? 0);
2863
+ const body = ctx.data.prSummary?.trim();
2864
+ if (targetType !== "issue" || !targetNumber || !body) return;
2865
+ try {
2866
+ postIssueComment(targetNumber, renderResearchComment(targetNumber, body), ctx.cwd);
2867
+ } catch {
2868
+ }
2869
+ };
2870
+ function renderResearchComment(issueNumber, body) {
2871
+ return `## Research for issue #${issueNumber}
2872
+
2873
+ ${body}`;
2874
+ }
2875
+
2858
2876
  // src/scripts/postReviewResult.ts
2859
2877
  function detectVerdict(body) {
2860
2878
  const m = body.match(/##\s*Verdict\s*:\s*(PASS|CONCERNS|FAIL)\b/i);
@@ -3781,6 +3799,7 @@ var postflightScripts = {
3781
3799
  ensurePr: ensurePr2,
3782
3800
  postIssueComment: postIssueComment2,
3783
3801
  postPlanComment,
3802
+ postResearchComment,
3784
3803
  postReviewResult,
3785
3804
  persistArtifacts,
3786
3805
  writeRunSummary,
@@ -0,0 +1,78 @@
1
+ {
2
+ "name": "research",
3
+ "describe": "Research an issue: understand the ask, map relevant repo context, and surface clarifying questions + gaps. Read-only — no branches, no commits, no prescribed next steps.",
4
+ "inputs": [
5
+ {
6
+ "name": "issue",
7
+ "flag": "--issue",
8
+ "type": "int",
9
+ "required": true,
10
+ "describe": "GitHub issue number to research."
11
+ }
12
+ ],
13
+ "claudeCode": {
14
+ "model": "inherit",
15
+ "permissionMode": "default",
16
+ "maxTurns": null,
17
+ "systemPromptAppend": null,
18
+ "tools": [
19
+ "Read",
20
+ "Grep",
21
+ "Glob",
22
+ "Bash"
23
+ ],
24
+ "hooks": [],
25
+ "skills": [],
26
+ "commands": [],
27
+ "subagents": [],
28
+ "plugins": [],
29
+ "mcpServers": []
30
+ },
31
+ "cliTools": [],
32
+ "scripts": {
33
+ "preflight": [
34
+ {
35
+ "script": "loadIssueContext"
36
+ },
37
+ {
38
+ "script": "loadTaskState"
39
+ },
40
+ {
41
+ "script": "loadConventions"
42
+ },
43
+ {
44
+ "script": "composePrompt"
45
+ }
46
+ ],
47
+ "postflight": [
48
+ {
49
+ "script": "parseAgentResult"
50
+ },
51
+ {
52
+ "script": "persistArtifacts"
53
+ },
54
+ {
55
+ "script": "postResearchComment"
56
+ },
57
+ {
58
+ "script": "writeRunSummary"
59
+ },
60
+ {
61
+ "script": "saveTaskState"
62
+ }
63
+ ]
64
+ },
65
+ "output": {
66
+ "actionTypes": [
67
+ "RESEARCH_COMPLETED",
68
+ "RESEARCH_FAILED"
69
+ ],
70
+ "artifacts": [
71
+ {
72
+ "name": "research",
73
+ "format": "markdown",
74
+ "from": "prSummary"
75
+ }
76
+ ]
77
+ }
78
+ }
@@ -0,0 +1,67 @@
1
+ You are a senior engineer **researching** a GitHub issue. Your job is to fill in missing information so a downstream planner (human or agent) can make a decision. You will NOT write code. You will NOT run git or gh commands. You will NOT modify files. You will NOT prescribe a next step.
2
+
3
+ Use Read / Grep / Glob / Bash (read-only) to study the codebase as much as needed. Then emit a final message with the research doc wrapped in the required markers (see "Required output").
4
+
5
+ ---
6
+
7
+ # Repo
8
+ - {{repoOwner}}/{{repoName}}, default branch: {{defaultBranch}}
9
+
10
+ # Issue #{{issue.number}}: {{issue.title}}
11
+
12
+ {{issue.body}}
13
+
14
+ Recent comments (most recent first, truncated):
15
+ {{issue.commentsFormatted}}
16
+
17
+ {{conventionsBlock}}
18
+
19
+ ---
20
+
21
+ # Required output
22
+
23
+ Your FINAL message must be exactly this shape (no extra text before or after):
24
+
25
+ ```
26
+ DONE
27
+ COMMIT_MSG: research: <very short title>
28
+ PR_SUMMARY:
29
+ <A research doc in markdown with EXACTLY these sections, in order:
30
+
31
+ ## Understood request
32
+ One paragraph restating what the issue is asking for, in your own words.
33
+
34
+ ## Repo context
35
+ **Issue-specific only.** Surface whatever you actually discover during your
36
+ read-only exploration — files, modules, or existing patterns the implementer
37
+ would have to find by hand for *this* issue. Use real `path/to/file` references
38
+ from the repo (no placeholders or invented paths).
39
+
40
+ Do NOT restate general architecture, tech stack, or conventions already
41
+ documented in `AGENTS.md` / `CLAUDE.md` — reference those files by path
42
+ ("see AGENTS.md") and move on. If a constraint lives in one of those files,
43
+ cite it; don't copy it.
44
+
45
+ ## Clarifying questions
46
+ Numbered list. Each question must include a one-line "Why:" explaining why
47
+ the answer changes the implementation. Skip if there are genuinely none.
48
+
49
+ ## Gaps & assumptions
50
+ What is unknown, and — for each gap — what assumption the implementer would
51
+ have to make if it stays unanswered.
52
+
53
+ ## Proposed scope
54
+ Two bullet lists: **In scope** and **Out of scope**. Keep tight: only what
55
+ the issue asks for; call out adjacent work that should NOT be bundled.
56
+
57
+ Keep the whole doc to ~80 lines or less. No filler. No marketing language.
58
+ Do NOT include a "Next steps" / "Recommendation" / "How to proceed" section —
59
+ research stops at findings.>
60
+ ```
61
+
62
+ # Rules
63
+ - Read-only. Do NOT modify any file.
64
+ - Do NOT run git or gh commands.
65
+ - Do NOT propose an implementation plan — that's the planner's job.
66
+ - Do NOT tell the user what command to run next.
67
+ - If the issue is empty or incomprehensible, output `FAILED: <why>` instead.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kody-ade/kody-engine",
3
- "version": "0.2.40",
3
+ "version": "0.2.42",
4
4
  "description": "kody2 — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
5
5
  "license": "MIT",
6
6
  "type": "module",