@kenkaiiii/ggcoder 4.3.217 → 4.3.218

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.
Files changed (126) hide show
  1. package/dist/cli/command-routing.d.ts +28 -0
  2. package/dist/cli/command-routing.d.ts.map +1 -0
  3. package/dist/cli/command-routing.js +51 -0
  4. package/dist/cli/command-routing.js.map +1 -0
  5. package/dist/cli/command-routing.test.d.ts +2 -0
  6. package/dist/cli/command-routing.test.d.ts.map +1 -0
  7. package/dist/cli/command-routing.test.js +59 -0
  8. package/dist/cli/command-routing.test.js.map +1 -0
  9. package/dist/cli.d.ts +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +46 -103
  12. package/dist/cli.js.map +1 -1
  13. package/dist/core/agent-session-compaction.test.d.ts +2 -0
  14. package/dist/core/agent-session-compaction.test.d.ts.map +1 -0
  15. package/dist/core/agent-session-compaction.test.js +121 -0
  16. package/dist/core/agent-session-compaction.test.js.map +1 -0
  17. package/dist/core/agent-session.d.ts.map +1 -1
  18. package/dist/core/agent-session.js +6 -7
  19. package/dist/core/agent-session.js.map +1 -1
  20. package/dist/core/goal-store.d.ts +9 -0
  21. package/dist/core/goal-store.d.ts.map +1 -1
  22. package/dist/core/goal-store.js +24 -0
  23. package/dist/core/goal-store.js.map +1 -1
  24. package/dist/core/goal-worker.d.ts +7 -0
  25. package/dist/core/goal-worker.d.ts.map +1 -1
  26. package/dist/core/goal-worker.js +62 -20
  27. package/dist/core/goal-worker.js.map +1 -1
  28. package/dist/core/goal-worker.test.js +92 -2
  29. package/dist/core/goal-worker.test.js.map +1 -1
  30. package/dist/core/goal-worktree.d.ts +33 -0
  31. package/dist/core/goal-worktree.d.ts.map +1 -0
  32. package/dist/core/goal-worktree.js +67 -0
  33. package/dist/core/goal-worktree.js.map +1 -0
  34. package/dist/core/goal-worktree.test.d.ts +2 -0
  35. package/dist/core/goal-worktree.test.d.ts.map +1 -0
  36. package/dist/core/goal-worktree.test.js +101 -0
  37. package/dist/core/goal-worktree.test.js.map +1 -0
  38. package/dist/core/repomap-budget.d.ts +7 -0
  39. package/dist/core/repomap-budget.d.ts.map +1 -0
  40. package/dist/core/repomap-budget.js +10 -0
  41. package/dist/core/repomap-budget.js.map +1 -0
  42. package/dist/core/repomap-budget.test.d.ts +2 -0
  43. package/dist/core/repomap-budget.test.d.ts.map +1 -0
  44. package/dist/core/repomap-budget.test.js +26 -0
  45. package/dist/core/repomap-budget.test.js.map +1 -0
  46. package/dist/system-prompt.js +2 -2
  47. package/dist/system-prompt.js.map +1 -1
  48. package/dist/system-prompt.test.js +2 -2
  49. package/dist/system-prompt.test.js.map +1 -1
  50. package/dist/tools/goals.d.ts.map +1 -1
  51. package/dist/tools/goals.js +30 -26
  52. package/dist/tools/goals.js.map +1 -1
  53. package/dist/tools/goals.test.js +47 -1
  54. package/dist/tools/goals.test.js.map +1 -1
  55. package/dist/ui/App.d.ts +11 -381
  56. package/dist/ui/App.d.ts.map +1 -1
  57. package/dist/ui/App.js +61 -554
  58. package/dist/ui/App.js.map +1 -1
  59. package/dist/ui/app-items.d.ts +207 -0
  60. package/dist/ui/app-items.d.ts.map +1 -0
  61. package/dist/ui/app-items.js +2 -0
  62. package/dist/ui/app-items.js.map +1 -0
  63. package/dist/ui/app-state-persistence.test.js +4 -1
  64. package/dist/ui/app-state-persistence.test.js.map +1 -1
  65. package/dist/ui/chat-layout-pinning.test.js +2 -1
  66. package/dist/ui/chat-layout-pinning.test.js.map +1 -1
  67. package/dist/ui/components/ToolUseLoader.d.ts +3 -1
  68. package/dist/ui/components/ToolUseLoader.d.ts.map +1 -1
  69. package/dist/ui/components/ToolUseLoader.js +2 -2
  70. package/dist/ui/components/ToolUseLoader.js.map +1 -1
  71. package/dist/ui/goal-events.test.js +2 -1
  72. package/dist/ui/goal-events.test.js.map +1 -1
  73. package/dist/ui/goal-lifecycle-orchestration.test.js +20 -1
  74. package/dist/ui/goal-lifecycle-orchestration.test.js.map +1 -1
  75. package/dist/ui/goal-progress.d.ts +31 -0
  76. package/dist/ui/goal-progress.d.ts.map +1 -0
  77. package/dist/ui/goal-progress.js +152 -0
  78. package/dist/ui/goal-progress.js.map +1 -0
  79. package/dist/ui/item-helpers.d.ts +24 -0
  80. package/dist/ui/item-helpers.d.ts.map +1 -0
  81. package/dist/ui/item-helpers.js +96 -0
  82. package/dist/ui/item-helpers.js.map +1 -0
  83. package/dist/ui/layout-decisions.d.ts +113 -0
  84. package/dist/ui/layout-decisions.d.ts.map +1 -0
  85. package/dist/ui/layout-decisions.js +173 -0
  86. package/dist/ui/layout-decisions.js.map +1 -0
  87. package/dist/ui/prompt-routing.d.ts +29 -0
  88. package/dist/ui/prompt-routing.d.ts.map +1 -0
  89. package/dist/ui/prompt-routing.js +105 -0
  90. package/dist/ui/prompt-routing.js.map +1 -0
  91. package/dist/ui/queued-message.test.js +1 -1
  92. package/dist/ui/queued-message.test.js.map +1 -1
  93. package/dist/ui/render.d.ts +1 -0
  94. package/dist/ui/render.d.ts.map +1 -1
  95. package/dist/ui/render.js +1 -0
  96. package/dist/ui/render.js.map +1 -1
  97. package/dist/ui/scroll-stabilization.test.js +1 -1
  98. package/dist/ui/scroll-stabilization.test.js.map +1 -1
  99. package/dist/ui/slash-command-images.test.js +1 -1
  100. package/dist/ui/slash-command-images.test.js.map +1 -1
  101. package/dist/ui/terminal-history-format.d.ts +41 -0
  102. package/dist/ui/terminal-history-format.d.ts.map +1 -0
  103. package/dist/ui/terminal-history-format.js +131 -0
  104. package/dist/ui/terminal-history-format.js.map +1 -0
  105. package/dist/ui/terminal-history-spacing.d.ts +3 -0
  106. package/dist/ui/terminal-history-spacing.d.ts.map +1 -0
  107. package/dist/ui/terminal-history-spacing.js +28 -0
  108. package/dist/ui/terminal-history-spacing.js.map +1 -0
  109. package/dist/ui/terminal-history-status-renderers.d.ts +16 -0
  110. package/dist/ui/terminal-history-status-renderers.d.ts.map +1 -0
  111. package/dist/ui/terminal-history-status-renderers.js +83 -0
  112. package/dist/ui/terminal-history-status-renderers.js.map +1 -0
  113. package/dist/ui/terminal-history.d.ts.map +1 -1
  114. package/dist/ui/terminal-history.js +17 -233
  115. package/dist/ui/terminal-history.js.map +1 -1
  116. package/dist/ui/terminal-history.test.js +2 -1
  117. package/dist/ui/terminal-history.test.js.map +1 -1
  118. package/dist/ui/thinking-level-cycle.test.js +7 -1
  119. package/dist/ui/thinking-level-cycle.test.js.map +1 -1
  120. package/dist/ui/thinking-level.d.ts +5 -0
  121. package/dist/ui/thinking-level.d.ts.map +1 -0
  122. package/dist/ui/thinking-level.js +30 -0
  123. package/dist/ui/thinking-level.js.map +1 -0
  124. package/dist/ui/tui-history-parity.test.js +4 -3
  125. package/dist/ui/tui-history-parity.test.js.map +1 -1
  126. package/package.json +3 -3
@@ -7,7 +7,7 @@ import path from "node:path";
7
7
  import { getGoalRun, updateGoalTask, upsertGoalRun } from "./goal-store.js";
8
8
  const spawnMock = vi.hoisted(() => vi.fn());
9
9
  const killProcessTreeMock = vi.hoisted(() => vi.fn());
10
- vi.mock("node:child_process", () => ({ spawn: spawnMock }));
10
+ vi.mock("node:child_process", () => ({ spawn: spawnMock, execFile: vi.fn() }));
11
11
  vi.mock("../utils/process.js", () => ({ killProcessTree: killProcessTreeMock }));
12
12
  class FakeChild extends EventEmitter {
13
13
  stdout = new PassThrough();
@@ -62,6 +62,7 @@ async function start(onComplete = vi.fn()) {
62
62
  goalRunId: "goal-a",
63
63
  goalTaskId: "task-a",
64
64
  prompt: "Do deterministic work",
65
+ isolateWorktree: false,
65
66
  onComplete,
66
67
  });
67
68
  return { mod, record, onComplete };
@@ -96,6 +97,7 @@ describe("goal worker failure propagation", () => {
96
97
  goalRunId: "goal-a",
97
98
  goalTaskId: "task-a",
98
99
  prompt: "Hang forever",
100
+ isolateWorktree: false,
99
101
  timeoutMs: 10,
100
102
  onComplete,
101
103
  });
@@ -132,7 +134,7 @@ describe("goal worker failure propagation", () => {
132
134
  expect(prompt).toContain("do not default to generic tests, scripts, screenshots, benchmarks, or simulations");
133
135
  expect(prompt).toContain("command/file evidence");
134
136
  expect(prompt).toContain("isolated git worktree");
135
- expect(prompt).toContain("Do not merge or touch the main checkout");
137
+ expect(prompt).toContain("do not merge or touch the main checkout");
136
138
  expect(prompt).toContain("candidate packet");
137
139
  expect(prompt).toContain("base SHA");
138
140
  expect(prompt).toContain("diffstat");
@@ -153,10 +155,98 @@ describe("goal worker failure propagation", () => {
153
155
  goalRunId: "goal-a",
154
156
  goalTaskId: "task-a",
155
157
  prompt: "Do deterministic work",
158
+ isolateWorktree: false,
156
159
  });
157
160
  const args = spawnMock.mock.calls[0]?.[1];
158
161
  expect(args).toEqual(expect.arrayContaining(["--thinking", "xhigh"]));
159
162
  });
163
+ it("launches workers through JSON mode so they use the AgentSession auto-compaction path", async () => {
164
+ await start();
165
+ const args = spawnMock.mock.calls[0]?.[1];
166
+ expect(args).toEqual(expect.arrayContaining([
167
+ "--json",
168
+ "--provider",
169
+ "anthropic",
170
+ "--model",
171
+ "claude-test",
172
+ "--max-turns",
173
+ "12",
174
+ "--system-prompt",
175
+ ]));
176
+ expect(args.at(-1)).toBe("Do deterministic work");
177
+ });
178
+ it("creates and launches implementation workers inside an isolated git worktree by default", async () => {
179
+ const worktreeCalls = [];
180
+ const runner = {
181
+ execFile: vi.fn(async (_file, args) => {
182
+ worktreeCalls.push(args);
183
+ return { stdout: "", stderr: "" };
184
+ }),
185
+ };
186
+ const mod = await import("./goal-worker.js");
187
+ const record = await mod.startGoalWorker({
188
+ cwd: tmpProject,
189
+ provider: "anthropic",
190
+ model: "claude-test",
191
+ goalRunId: "goal-a",
192
+ goalTaskId: "task-a",
193
+ prompt: "Do deterministic work",
194
+ worktreeBaseRef: "base-sha",
195
+ worktreesRoot: path.join(tmpProject, "worktrees"),
196
+ worktreeCommandRunner: runner,
197
+ });
198
+ const spawnOptions = spawnMock.mock.calls[0]?.[2];
199
+ const run = await getGoalRun(tmpProject, "goal-a");
200
+ expect(record.projectPath).toBe(tmpProject);
201
+ expect(record.cwd).toBe(path.join(tmpProject, "worktrees", `task-a-${record.id}`));
202
+ expect(record.worktree).toMatchObject({
203
+ baseRef: "base-sha",
204
+ branchName: `goal/goal-a/task-a-${record.id}`,
205
+ path: record.cwd,
206
+ });
207
+ expect(spawnOptions.cwd).toBe(record.cwd);
208
+ expect(spawnOptions.env.GG_GOAL_PROJECT_PATH).toBe(tmpProject);
209
+ expect(worktreeCalls).toEqual([
210
+ ["status", "--porcelain"],
211
+ ["worktree", "add", "-b", `goal/goal-a/task-a-${record.id}`, record.cwd, "base-sha"],
212
+ ]);
213
+ expect(run?.tasks[0]?.worktree).toMatchObject({
214
+ baseRef: "base-sha",
215
+ branchName: `goal/goal-a/task-a-${record.id}`,
216
+ path: record.cwd,
217
+ status: "created",
218
+ });
219
+ expect(run?.evidence.some((item) => item.label === `Worker ${record.id} worktree created` && item.path === record.cwd)).toBe(true);
220
+ });
221
+ it("blocks a task instead of launching when isolated worktree creation is unsafe", async () => {
222
+ const runner = {
223
+ execFile: vi.fn(async (_file, args) => args[0] === "status"
224
+ ? { stdout: " M packages/dirty.ts\n", stderr: "" }
225
+ : { stdout: "", stderr: "" }),
226
+ };
227
+ const mod = await import("./goal-worker.js");
228
+ await expect(mod.startGoalWorker({
229
+ cwd: tmpProject,
230
+ provider: "anthropic",
231
+ model: "claude-test",
232
+ goalRunId: "goal-a",
233
+ goalTaskId: "task-a",
234
+ prompt: "Do deterministic work",
235
+ worktreeCommandRunner: runner,
236
+ })).rejects.toThrow("Cannot launch isolated Goal worker from a dirty checkout");
237
+ const run = await getGoalRun(tmpProject, "goal-a");
238
+ expect(spawnMock).not.toHaveBeenCalled();
239
+ expect(run?.tasks[0]).toMatchObject({
240
+ status: "blocked",
241
+ lastSummary: expect.stringContaining("dirty checkout"),
242
+ });
243
+ expect(run?.evidence).toEqual(expect.arrayContaining([
244
+ expect.objectContaining({
245
+ label: expect.stringContaining("worktree failed"),
246
+ content: expect.stringContaining("packages/dirty.ts"),
247
+ }),
248
+ ]));
249
+ });
160
250
  it("exports a testable worker system prompt/context helper", async () => {
161
251
  const mod = await import("./goal-worker.js");
162
252
  const prompt = mod.buildGoalWorkerSystemPrompt({
@@ -1 +1 @@
1
- {"version":3,"file":"goal-worker.test.js","sourceRoot":"","sources":["../../src/core/goal-worker.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goal-worker.test.js","sourceRoot":"","sources":["../../src/core/goal-worker.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export interface GoalWorktreeCommandRunner {
2
+ execFile(file: string, args: readonly string[], options: {
3
+ cwd: string;
4
+ }): Promise<{
5
+ stdout: string;
6
+ stderr: string;
7
+ }>;
8
+ }
9
+ export interface GoalWorktreeRequest {
10
+ projectPath: string;
11
+ goalRunId: string;
12
+ goalTaskId: string;
13
+ workerId: string;
14
+ baseRef?: string;
15
+ worktreesRoot?: string;
16
+ commandRunner?: GoalWorktreeCommandRunner;
17
+ }
18
+ export interface GoalWorktreeCandidate {
19
+ baseRef: string;
20
+ branchName: string;
21
+ path: string;
22
+ }
23
+ export declare function defaultGoalWorktreeCommandRunner(file: string, args: readonly string[], options: {
24
+ cwd: string;
25
+ }): Promise<{
26
+ stdout: string;
27
+ stderr: string;
28
+ }>;
29
+ export declare function goalWorktreeRoot(projectPath: string): string;
30
+ export declare function sanitizeWorktreeToken(value: string): string;
31
+ export declare function createGoalWorkerWorktree({ projectPath, goalRunId, goalTaskId, workerId, baseRef, worktreesRoot, commandRunner, }: GoalWorktreeRequest): Promise<GoalWorktreeCandidate>;
32
+ export declare function formatGitError(error: unknown): string;
33
+ //# sourceMappingURL=goal-worktree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-worktree.d.ts","sourceRoot":"","sources":["../../src/core/goal-worktree.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GACvB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,yBAAyB,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GACvB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAM7C;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D;AAOD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,OAAO,EACP,aAAa,EACb,aAAa,GACd,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAmBtD;AAwBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUrD"}
@@ -0,0 +1,67 @@
1
+ import { execFile } from "node:child_process";
2
+ import { mkdir } from "node:fs/promises";
3
+ import { dirname, join } from "node:path";
4
+ import { promisify } from "node:util";
5
+ const execFileAsync = promisify(execFile);
6
+ const MAX_GIT_OUTPUT = 2000;
7
+ export async function defaultGoalWorktreeCommandRunner(file, args, options) {
8
+ const result = await execFileAsync(file, [...args], {
9
+ cwd: options.cwd,
10
+ maxBuffer: 1024 * 1024,
11
+ });
12
+ return { stdout: result.stdout, stderr: result.stderr };
13
+ }
14
+ export function goalWorktreeRoot(projectPath) {
15
+ return join(dirname(projectPath), `${projectBasename(projectPath)}-goal-worktrees`);
16
+ }
17
+ function projectBasename(projectPath) {
18
+ const parts = projectPath.split(/[\\/]+/u).filter(Boolean);
19
+ return parts.at(-1) ?? "project";
20
+ }
21
+ export function sanitizeWorktreeToken(value) {
22
+ return (value
23
+ .replace(/[^a-zA-Z0-9._-]+/gu, "-")
24
+ .replace(/^-+|-+$/gu, "")
25
+ .slice(0, 80) || "item");
26
+ }
27
+ export async function createGoalWorkerWorktree({ projectPath, goalRunId, goalTaskId, workerId, baseRef, worktreesRoot, commandRunner, }) {
28
+ const runner = commandRunner ?? { execFile: defaultGoalWorktreeCommandRunner };
29
+ await assertCleanProject(runner, projectPath);
30
+ const resolvedBaseRef = baseRef ?? (await gitStdout(runner, projectPath, ["rev-parse", "HEAD"]));
31
+ const token = sanitizeWorktreeToken(`${goalTaskId}-${workerId}`);
32
+ const branchName = `goal/${sanitizeWorktreeToken(goalRunId)}/${token}`;
33
+ const root = worktreesRoot ?? goalWorktreeRoot(projectPath);
34
+ const worktreePath = join(root, token);
35
+ await mkdir(root, { recursive: true });
36
+ await runner.execFile("git", ["worktree", "add", "-b", branchName, worktreePath, resolvedBaseRef], {
37
+ cwd: projectPath,
38
+ });
39
+ return { baseRef: resolvedBaseRef, branchName, path: worktreePath };
40
+ }
41
+ async function assertCleanProject(runner, cwd) {
42
+ const status = await gitStdout(runner, cwd, ["status", "--porcelain"]);
43
+ if (status.length > 0) {
44
+ throw new Error(`Cannot launch isolated Goal worker from a dirty checkout. Commit or stash integration changes first. Dirty files:\n${status.slice(0, MAX_GIT_OUTPUT)}`);
45
+ }
46
+ }
47
+ async function gitStdout(runner, cwd, args) {
48
+ try {
49
+ const result = await runner.execFile("git", args, { cwd });
50
+ return result.stdout.trim();
51
+ }
52
+ catch (error) {
53
+ throw new Error(`git ${args.join(" ")} failed: ${formatGitError(error)}`, { cause: error });
54
+ }
55
+ }
56
+ export function formatGitError(error) {
57
+ if (error instanceof Error) {
58
+ const maybe = error;
59
+ const output = [maybe.stderr, maybe.stdout, error.message]
60
+ .filter((item) => typeof item === "string" && item.trim().length > 0)
61
+ .join("\n")
62
+ .trim();
63
+ return output.slice(0, MAX_GIT_OUTPUT);
64
+ }
65
+ return String(error).slice(0, MAX_GIT_OUTPUT);
66
+ }
67
+ //# sourceMappingURL=goal-worktree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-worktree.js","sourceRoot":"","sources":["../../src/core/goal-worktree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=goal-worktree.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-worktree.test.d.ts","sourceRoot":"","sources":["../../src/core/goal-worktree.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,101 @@
1
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
+ import fs from "node:fs/promises";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import { createGoalWorkerWorktree, goalWorktreeRoot, sanitizeWorktreeToken, } from "./goal-worktree.js";
6
+ describe("goal worktree helpers", () => {
7
+ let tmpDir;
8
+ beforeEach(async () => {
9
+ tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "goal-worktree-test-"));
10
+ });
11
+ afterEach(async () => {
12
+ await fs.rm(tmpDir, { recursive: true, force: true });
13
+ });
14
+ it("sanitizes worktree tokens for branch and path names", () => {
15
+ expect(sanitizeWorktreeToken("Task: refactor / App?!")).toBe("Task-refactor-App");
16
+ expect(sanitizeWorktreeToken("***")).toBe("item");
17
+ });
18
+ it("places worker worktrees beside the project checkout", () => {
19
+ expect(goalWorktreeRoot(path.join("/tmp", "repo"))).toBe(path.join("/tmp", "repo-goal-worktrees"));
20
+ });
21
+ it("creates a branch worktree from the requested base ref", async () => {
22
+ const projectPath = path.join(tmpDir, "main");
23
+ const root = path.join(tmpDir, "worktrees");
24
+ await fs.mkdir(projectPath, { recursive: true });
25
+ const calls = [];
26
+ const runner = {
27
+ execFile: vi.fn(async (file, args, options) => {
28
+ calls.push({ file, args, cwd: options.cwd });
29
+ return { stdout: "", stderr: "" };
30
+ }),
31
+ };
32
+ const candidate = await createGoalWorkerWorktree({
33
+ projectPath,
34
+ goalRunId: "goal-123",
35
+ goalTaskId: "task/app split",
36
+ workerId: "worker-1",
37
+ baseRef: "abc123",
38
+ worktreesRoot: root,
39
+ commandRunner: runner,
40
+ });
41
+ expect(candidate).toEqual({
42
+ baseRef: "abc123",
43
+ branchName: "goal/goal-123/task-app-split-worker-1",
44
+ path: path.join(root, "task-app-split-worker-1"),
45
+ });
46
+ expect(calls).toEqual([
47
+ {
48
+ file: "git",
49
+ args: ["status", "--porcelain"],
50
+ cwd: projectPath,
51
+ },
52
+ {
53
+ file: "git",
54
+ args: ["worktree", "add", "-b", candidate.branchName, candidate.path, "abc123"],
55
+ cwd: projectPath,
56
+ },
57
+ ]);
58
+ });
59
+ it("resolves HEAD as the base ref when no explicit base is supplied", async () => {
60
+ const projectPath = path.join(tmpDir, "main");
61
+ const root = path.join(tmpDir, "worktrees");
62
+ await fs.mkdir(projectPath, { recursive: true });
63
+ const calls = [];
64
+ const runner = {
65
+ execFile: vi.fn(async (_file, args) => {
66
+ calls.push(args);
67
+ return args[0] === "rev-parse"
68
+ ? { stdout: "head-sha\n", stderr: "" }
69
+ : { stdout: "", stderr: "" };
70
+ }),
71
+ };
72
+ const candidate = await createGoalWorkerWorktree({
73
+ projectPath,
74
+ goalRunId: "goal",
75
+ goalTaskId: "task",
76
+ workerId: "worker",
77
+ worktreesRoot: root,
78
+ commandRunner: runner,
79
+ });
80
+ expect(candidate.baseRef).toBe("head-sha");
81
+ expect(calls[0]).toEqual(["status", "--porcelain"]);
82
+ expect(calls[1]).toEqual(["rev-parse", "HEAD"]);
83
+ expect(calls[2]?.at(-1)).toBe("head-sha");
84
+ });
85
+ it("refuses to create worker worktrees from dirty integration checkouts", async () => {
86
+ const runner = {
87
+ execFile: vi.fn(async (_file, args) => args[0] === "status"
88
+ ? { stdout: " M packages/app.ts\n", stderr: "" }
89
+ : { stdout: "", stderr: "" }),
90
+ };
91
+ await expect(createGoalWorkerWorktree({
92
+ projectPath: "/repo/main",
93
+ goalRunId: "goal",
94
+ goalTaskId: "task",
95
+ workerId: "worker",
96
+ baseRef: "base-sha",
97
+ commandRunner: runner,
98
+ })).rejects.toThrow("Cannot launch isolated Goal worker from a dirty checkout");
99
+ });
100
+ });
101
+ //# sourceMappingURL=goal-worktree.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-worktree.test.js","sourceRoot":"","sources":["../../src/core/goal-worktree.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { Message } from "@kenkaiiii/gg-ai";
2
+ export interface RepoMapBudgetSignals {
3
+ messages: readonly Message[];
4
+ readFileCount: number;
5
+ }
6
+ export declare function getRepoMapBudgetForContext({ messages, readFileCount, }: RepoMapBudgetSignals): number;
7
+ //# sourceMappingURL=repomap-budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repomap-budget.d.ts","sourceRoot":"","sources":["../../src/core/repomap-budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGhD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,aAAa,GACd,EAAE,oBAAoB,GAAG,MAAM,CAK/B"}
@@ -0,0 +1,10 @@
1
+ import { FOCUSED_REPO_MAP_MAX_CHARS, FIRST_TURN_REPO_MAP_MAX_CHARS } from "./repomap.js";
2
+ export function getRepoMapBudgetForContext({ messages, readFileCount, }) {
3
+ const userTurns = messages.filter((message) => message.role === "user").length;
4
+ if (userTurns <= 1 && readFileCount === 0)
5
+ return FIRST_TURN_REPO_MAP_MAX_CHARS;
6
+ if (readFileCount > 0)
7
+ return FOCUSED_REPO_MAP_MAX_CHARS;
8
+ return FOCUSED_REPO_MAP_MAX_CHARS + 1000;
9
+ }
10
+ //# sourceMappingURL=repomap-budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repomap-budget.js","sourceRoot":"","sources":["../../src/core/repomap-budget.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAOzF,MAAM,UAAU,0BAA0B,CAAC,EACzC,QAAQ,EACR,aAAa,GACQ;IACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAC/E,IAAI,SAAS,IAAI,CAAC,IAAI,aAAa,KAAK,CAAC;QAAE,OAAO,6BAA6B,CAAC;IAChF,IAAI,aAAa,GAAG,CAAC;QAAE,OAAO,0BAA0B,CAAC;IACzD,OAAO,0BAA0B,GAAG,IAAI,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=repomap-budget.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repomap-budget.test.d.ts","sourceRoot":"","sources":["../../src/core/repomap-budget.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { FOCUSED_REPO_MAP_MAX_CHARS, FIRST_TURN_REPO_MAP_MAX_CHARS } from "./repomap.js";
3
+ import { getRepoMapBudgetForContext } from "./repomap-budget.js";
4
+ const userMessage = (content) => ({ role: "user", content });
5
+ const assistantMessage = (content) => ({ role: "assistant", content });
6
+ describe("getRepoMapBudgetForContext", () => {
7
+ it("uses the first-turn budget before any files have been read", () => {
8
+ expect(getRepoMapBudgetForContext({
9
+ messages: [assistantMessage("hello"), userMessage("first request")],
10
+ readFileCount: 0,
11
+ })).toBe(FIRST_TURN_REPO_MAP_MAX_CHARS);
12
+ });
13
+ it("uses the focused budget as soon as read-file signals exist", () => {
14
+ expect(getRepoMapBudgetForContext({
15
+ messages: [userMessage("first request")],
16
+ readFileCount: 1,
17
+ })).toBe(FOCUSED_REPO_MAP_MAX_CHARS);
18
+ });
19
+ it("keeps a small repo-map budget after the first turn without file-read focus", () => {
20
+ expect(getRepoMapBudgetForContext({
21
+ messages: [userMessage("first"), assistantMessage("done"), userMessage("second")],
22
+ readFileCount: 0,
23
+ })).toBe(FOCUSED_REPO_MAP_MAX_CHARS + 1000);
24
+ });
25
+ });
26
+ //# sourceMappingURL=repomap-budget.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repomap-budget.test.js","sourceRoot":"","sources":["../../src/core/repomap-budget.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9E,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAoB,EAAE,OAAO,EAAE,CAAC,CAAC;AAExF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CACJ,0BAA0B,CAAC;YACzB,QAAQ,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;YACnE,aAAa,EAAE,CAAC;SACjB,CAAC,CACH,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CACJ,0BAA0B,CAAC;YACzB,QAAQ,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACxC,aAAa,EAAE,CAAC;SACjB,CAAC,CACH,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CACJ,0BAA0B,CAAC;YACzB,QAAQ,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;YACjF,aAAa,EAAE,CAAC;SACjB,CAAC,CACH,CAAC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -50,7 +50,7 @@ function renderGoalSetupSection() {
50
50
  return (`## Goal Setup Mode (ACTIVE)\n\n` +
51
51
  `You are setting up a durable Goal run only. Ordered protocol: clarify if the objective is absent or too vague; model the intended experience; identify every supplied Goal reference (URLs/repos/screenshots/documents) and make each non-prompt reference explicit in success criteria, worker task prompts, evidence paths, verifier metadata, or blockers; imagine goal-specific failures; choose the required senses/signals; run only cheap local prerequisite checks; create/update the durable run with \`goals create\`; add \`goals task\` entries and evidence/harness/verifier plans; make each evidence-plan label/command/path match the proof workers or verifier will record; record setup evidence when useful; give a short final response; then stop.\n\n` +
52
52
  `Allowed tools: read/search/list tools, cheap foreground non-mutating bash checks, and \`goals\` metadata actions. Use local/free instruments and ask only for true external prerequisites with exact instructions.\n\n` +
53
- `Goal Worktree Isolation Contract: define worker tasks as isolated candidate worktrees when possible, not edits to be trusted directly in the user's main checkout. Each task prompt should require a candidate packet: base SHA, branch/worktree path when available, changed files, diffstat, patch path, verifier command/result, evidence paths, and risk notes.\n\n` +
53
+ `Goal Worktree Isolation Contract: define implementation worker tasks as isolated candidate worktree tasks, not edits to be trusted directly in the user's main checkout. Each task prompt must require a candidate packet: base SHA, branch/worktree path, changed files, diffstat, patch path, verifier command/result, evidence paths, and risk notes. If a task truly cannot use isolation, set merge_strategy=manual and record the blocker/risk explicitly.\n\n` +
54
54
  `Goal Task DAG Contract: classify tasks as parallel candidates or dependent sequence steps before creating them. Record dependency metadata in the typed goals task fields depends_on, parallel_group, expected_changed_scope, and merge_strategy (and mirror it in prompts when useful) so the coordinator can decide what can start together and what must wait.\n\n` +
55
55
  `Forbidden: \`edit\`, \`write\`, \`subagent\`, verifier execution, background processes, \`goals resume\`, and implementation/refactor/file generation outside Goal state. Workers are the only actors that implement project changes.`);
56
56
  }
@@ -58,7 +58,7 @@ function renderGoalCoordinatorSection() {
58
58
  return (`## Goal Coordinator Mode (ACTIVE)\n\n` +
59
59
  `You are coordinating synthetic Goal events, not implementing. Ordered protocol: call \`goals status\` for the current run first before choosing any next action; inspect durable state; persist evidence, decisions, task status, blockers, or verifier definitions; add the next Goal worker task or verifier only when needed; let workers use targeted checks while they build/fix/reconcile; pause/block on repeated failures or missing prerequisites; keep responses concise and action-oriented.\n\n` +
60
60
  `Completion rule: call \`goals complete\` only when the configured verifier has run as the final pre-audit gate after all non-audit worker/evidence changes, verifier evidence satisfies the original success criteria, evidence plan, and mandatory Goal references, and a final completion audit has compared the actual durable files/logs/results against the latest verifier pass and references. If proof is missing before the final verifier, reconcile the same Goal run first by recording matching evidence or updating that evidence-plan item to ready; do not create a new Goal to finish old bookkeeping. If verifier evidence passed but an evidence-plan item or reference is still unmatched, the read-only final audit may reconcile matching durable proof to ready before recording \`goals audit\`; if proof is missing, it must create/resume a fix task instead of passing. If any non-audit worker changes files or durable proof after a verifier pass, rerun the configured verifier before final audit. Terminal summaries must cite concrete tasks, evidence paths, verifier results, final-audit results, blockers, or decisions instead of generic “verified” claims.\n\n` +
61
- `Goal Worktree Isolation Contract: inspect candidate packets first, not raw directories. Reject failed, stale, risky, or overlapping candidates; compare changed files and diffstats; integrate survivors one at a time in an integration worktree; verify after merge; and never complete from worker-worktree verifier results alone.\n\n` +
61
+ `Goal Worktree Isolation Contract: implementation workers are launched in isolated git worktrees from the current clean integration checkpoint. Inspect candidate packets first, not raw directories. Reject failed, stale, risky, or overlapping candidates; compare changed files and diffstats; integrate survivors one at a time in the main/integration checkout; verify after merge; commit or otherwise cleanly checkpoint accepted integration changes before launching dependent implementation workers; and never complete from worker-worktree verifier results alone.\n\n` +
62
62
  `Goal Task DAG Contract: use recorded depends_on, parallel_group, expected_changed_scope, and merge_strategy metadata to start independent tasks in parallel, wait only on true dependencies, and unlock dependent tasks against the updated integration base after accepted candidates are merged and verified. Prefer zero-dependency batches when scopes do not overlap.\n\n` +
63
63
  `Forbidden: direct project implementation, \`edit\`, \`write\`, \`bash\`, \`subagent\`, and background processes. Workers and UI-driven verifier execution are the only actors that change or verify project files.`);
64
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAc,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGtF,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AACnF,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAE5C,SAAS,qBAAqB,CAAC,QAAkB;IAC/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CACL,sGAAsG;YACtG,kGAAkG,CACnG,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,CACL,6FAA6F;YAC7F,8IAA8I,CAC/I,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,OAAO,CACL,8FAA8F;YAC9F,sJAAsJ,CACvJ,CAAC;IACJ,CAAC;IACD,OAAO,CACL,2FAA2F;QAC3F,iFAAiF;QACjF,oCAAoC,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,CACL,oBAAoB;QACpB,uHAAuH;QACvH,0GAA0G;QAC1G,qLAAqL;QACrL,yFAAyF,CAC1F,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,CACL,oBAAoB;QACpB,sJAAsJ;QACtJ,oHAAoH;QACpH,8IAA8I;QAC9I,8LAA8L;QAC9L,2MAA2M;QAC3M,gHAAgH;QAChH,uJAAuJ,CACxJ,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,CACL,mCAAmC;QACnC,wWAAwW;QACxW,oWAAoW;QACpW,iJAAiJ,CAClJ,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,CACL,iCAAiC;QACjC,6uBAA6uB;QAC7uB,wNAAwN;QACxN,yWAAyW;QACzW,uWAAuW;QACvW,uOAAuO,CACxO,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B;IACnC,OAAO,CACL,uCAAuC;QACvC,6eAA6e;QAC7e,yoCAAyoC;QACzoC,4UAA4U;QAC5U,gXAAgX;QAChX,oNAAoN,CACrN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,gBAAoC,EACpC,QAAkB;IAElB,IAAI,CAAC,gBAAgB,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACnF,IAAI,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,CACL,sBAAsB;QACtB,oCAAoC,gBAAgB,MAAM;QAC1D,oBAAoB,WAAW,CAAC,IAAI,EAAE,wBAAwB;QAC9D,iEAAiE;QACjE,2JAA2J,CAC5J,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,CACL,gCAAgC;QAChC,sNAAsN;QACtN,6PAA6P;QAC7P,ofAAof;QACpf,+HAA+H,CAChI,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,CACL,qBAAqB;QACrB,mLAAmL,CACpL,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAwC;IAClE,MAAM,WAAW,GAAG,SAAS,IAAI,kBAAkB,CAAC;IACpD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI;YAAE,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAAW;IAC9C,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC;gBACrD,YAAY,CAAC,IAAI,CAAC,OAAO,OAAO,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,4BAA4B;YAC9B,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,2BAA2B,CAAC,YAA+B;IAClE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,8HAA8H,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AACnK,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAW;IAC3C,OAAO,0CAA0C,GAAG,iBAAiB,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC1F,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,GAAG,eAAe,mBAAmB,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,MAAgB,EAChB,eAAyB,EACzB,gBAAyB,EACzB,SAA6B,EAC7B,eAAiC,EACjC,WAAqB,KAAK;IAE1B,MAAM,QAAQ,GAAa;QACzB,qBAAqB,CAAC,QAAQ,CAAC;QAC/B,iBAAiB,EAAE;QACnB,iBAAiB,EAAE;KACpB,CAAC;IAEF,IAAI,QAAQ,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACtE,IAAI,QAAQ,KAAK,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAClE,IAAI,QAAQ,KAAK,aAAa;QAAE,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAE9E,MAAM,mBAAmB,GAAG,MAAM,yBAAyB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACxF,IAAI,mBAAmB;QAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE5D,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,YAAY;QAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE9C,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5F,IAAI,qBAAqB;QAAE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAEhE,IAAI,eAAe,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,uBAAuB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QACjE,IAAI,UAAU;YAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,aAAa;YAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,aAAa;YAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEzE,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../src/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -165,7 +165,7 @@ describe("buildSystemPrompt", () => {
165
165
  expect(prompt).toContain("Forbidden: `edit`, `write`, `subagent`, verifier execution");
166
166
  expect(prompt).toContain("Workers are the only actors that implement project changes");
167
167
  expect(prompt).toContain("Goal Worktree Isolation Contract");
168
- expect(prompt).toContain("isolated candidate worktrees");
168
+ expect(prompt).toContain("isolated candidate worktree tasks");
169
169
  expect(prompt).toContain("base SHA");
170
170
  expect(prompt).toContain("candidate packet");
171
171
  expect(prompt).toContain("Goal Task DAG Contract");
@@ -207,7 +207,7 @@ describe("buildSystemPrompt", () => {
207
207
  expect(prompt).toContain("Workers and UI-driven verifier execution are the only actors");
208
208
  expect(prompt).toContain("Goal Worktree Isolation Contract");
209
209
  expect(prompt).toContain("candidate packets first");
210
- expect(prompt).toContain("integration worktree");
210
+ expect(prompt).toContain("main/integration checkout");
211
211
  expect(prompt).toContain("verify after merge");
212
212
  expect(prompt).toContain("Goal Task DAG Contract");
213
213
  expect(prompt).toContain("zero-dependency");