poly-weaver 0.14.6 → 0.15.0

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 (187) hide show
  1. package/README.md +24 -1
  2. package/dist/agents/implementors/adapter.d.ts +4 -0
  3. package/dist/agents/implementors/adapter.d.ts.map +1 -1
  4. package/dist/agents/implementors/adapter.js +4 -4
  5. package/dist/agents/implementors/adapter.js.map +1 -1
  6. package/dist/agents/implementors/dsl.d.ts +2 -0
  7. package/dist/agents/implementors/dsl.d.ts.map +1 -1
  8. package/dist/agents/implementors/dsl.js.map +1 -1
  9. package/dist/agents/implementors/handler.d.ts.map +1 -1
  10. package/dist/agents/implementors/handler.js +10 -0
  11. package/dist/agents/implementors/handler.js.map +1 -1
  12. package/dist/agents/implementors/prompts.d.ts +5 -4
  13. package/dist/agents/implementors/prompts.d.ts.map +1 -1
  14. package/dist/agents/implementors/prompts.js +44 -7
  15. package/dist/agents/implementors/prompts.js.map +1 -1
  16. package/dist/agents/implementors/types.d.ts +8 -4
  17. package/dist/agents/implementors/types.d.ts.map +1 -1
  18. package/dist/agents/interviewers/adapter.d.ts +2 -0
  19. package/dist/agents/interviewers/adapter.d.ts.map +1 -1
  20. package/dist/agents/interviewers/adapter.js +39 -6
  21. package/dist/agents/interviewers/adapter.js.map +1 -1
  22. package/dist/agents/interviewers/dsl.d.ts +1 -0
  23. package/dist/agents/interviewers/dsl.d.ts.map +1 -1
  24. package/dist/agents/interviewers/dsl.js.map +1 -1
  25. package/dist/agents/interviewers/handler.d.ts +2 -1
  26. package/dist/agents/interviewers/handler.d.ts.map +1 -1
  27. package/dist/agents/interviewers/handler.js +106 -9
  28. package/dist/agents/interviewers/handler.js.map +1 -1
  29. package/dist/agents/interviewers/index.js +1 -1
  30. package/dist/agents/interviewers/index.js.map +1 -1
  31. package/dist/agents/interviewers/prompts.d.ts.map +1 -1
  32. package/dist/agents/interviewers/prompts.js +150 -0
  33. package/dist/agents/interviewers/prompts.js.map +1 -1
  34. package/dist/agents/interviewers/types.d.ts +9 -1
  35. package/dist/agents/interviewers/types.d.ts.map +1 -1
  36. package/dist/agents/planners/adapter.d.ts +2 -0
  37. package/dist/agents/planners/adapter.d.ts.map +1 -1
  38. package/dist/agents/planners/adapter.js +3 -3
  39. package/dist/agents/planners/adapter.js.map +1 -1
  40. package/dist/agents/planners/dsl.d.ts +1 -0
  41. package/dist/agents/planners/dsl.d.ts.map +1 -1
  42. package/dist/agents/planners/dsl.js.map +1 -1
  43. package/dist/agents/planners/handler.d.ts.map +1 -1
  44. package/dist/agents/planners/handler.js +6 -1
  45. package/dist/agents/planners/handler.js.map +1 -1
  46. package/dist/agents/planners/prompts.d.ts +3 -3
  47. package/dist/agents/planners/prompts.d.ts.map +1 -1
  48. package/dist/agents/planners/prompts.js +76 -4
  49. package/dist/agents/planners/prompts.js.map +1 -1
  50. package/dist/agents/planners/types.d.ts +5 -3
  51. package/dist/agents/planners/types.d.ts.map +1 -1
  52. package/dist/agents/registry.d.ts +1 -1
  53. package/dist/agents/registry.d.ts.map +1 -1
  54. package/dist/agents/registry.js +2 -2
  55. package/dist/agents/registry.js.map +1 -1
  56. package/dist/agents/reviewers/adapter.d.ts.map +1 -1
  57. package/dist/agents/reviewers/adapter.js +5 -1
  58. package/dist/agents/reviewers/adapter.js.map +1 -1
  59. package/dist/agents/reviewers/dsl.d.ts +4 -0
  60. package/dist/agents/reviewers/dsl.d.ts.map +1 -1
  61. package/dist/agents/reviewers/dsl.js.map +1 -1
  62. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  63. package/dist/agents/reviewers/handler.js +15 -1
  64. package/dist/agents/reviewers/handler.js.map +1 -1
  65. package/dist/agents/reviewers/prompts.d.ts +7 -7
  66. package/dist/agents/reviewers/prompts.d.ts.map +1 -1
  67. package/dist/agents/reviewers/prompts.js +196 -19
  68. package/dist/agents/reviewers/prompts.js.map +1 -1
  69. package/dist/agents/reviewers/types.d.ts +10 -0
  70. package/dist/agents/reviewers/types.d.ts.map +1 -1
  71. package/dist/agents/reviewers/types.js.map +1 -1
  72. package/dist/agents/runner.d.ts +4 -2
  73. package/dist/agents/runner.d.ts.map +1 -1
  74. package/dist/agents/runner.js +1 -1
  75. package/dist/agents/runner.js.map +1 -1
  76. package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
  77. package/dist/agents/simplifiers/adapter.js +1 -0
  78. package/dist/agents/simplifiers/adapter.js.map +1 -1
  79. package/dist/agents/simplifiers/dsl.d.ts +1 -0
  80. package/dist/agents/simplifiers/dsl.d.ts.map +1 -1
  81. package/dist/agents/simplifiers/dsl.js +1 -0
  82. package/dist/agents/simplifiers/dsl.js.map +1 -1
  83. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  84. package/dist/agents/simplifiers/handler.js +2 -0
  85. package/dist/agents/simplifiers/handler.js.map +1 -1
  86. package/dist/agents/simplifiers/prompts.js +29 -2
  87. package/dist/agents/simplifiers/prompts.js.map +1 -1
  88. package/dist/agents/simplifiers/types.d.ts +2 -0
  89. package/dist/agents/simplifiers/types.d.ts.map +1 -1
  90. package/dist/agents/simplify-protection.d.ts +6 -0
  91. package/dist/agents/simplify-protection.d.ts.map +1 -0
  92. package/dist/agents/simplify-protection.js +12 -0
  93. package/dist/agents/simplify-protection.js.map +1 -0
  94. package/dist/cli.js +3 -3
  95. package/dist/cli.js.map +1 -1
  96. package/dist/dsl.d.ts +2 -0
  97. package/dist/dsl.d.ts.map +1 -1
  98. package/dist/dsl.js +2 -2
  99. package/dist/dsl.js.map +1 -1
  100. package/dist/flow/built-in/default-factory.d.ts.map +1 -1
  101. package/dist/flow/built-in/default-factory.js +55 -11
  102. package/dist/flow/built-in/default-factory.js.map +1 -1
  103. package/dist/flow/built-in/default.d.ts +1 -0
  104. package/dist/flow/built-in/default.d.ts.map +1 -1
  105. package/dist/flow/built-in/default.js +1 -0
  106. package/dist/flow/built-in/default.js.map +1 -1
  107. package/dist/flow/built-in/default.ts +2 -0
  108. package/dist/flow/built-in/simplify-factory.d.ts.map +1 -1
  109. package/dist/flow/built-in/simplify-factory.js +4 -0
  110. package/dist/flow/built-in/simplify-factory.js.map +1 -1
  111. package/dist/flow/custom/AUTHORING.md +8 -88
  112. package/dist/flow/dsl.d.ts +2 -0
  113. package/dist/flow/dsl.d.ts.map +1 -1
  114. package/dist/flow/dsl.js +2 -0
  115. package/dist/flow/dsl.js.map +1 -1
  116. package/dist/flow/params.d.ts +2 -1
  117. package/dist/flow/params.d.ts.map +1 -1
  118. package/dist/flow/params.js +8 -2
  119. package/dist/flow/params.js.map +1 -1
  120. package/dist/flow/types.d.ts +25 -0
  121. package/dist/flow/types.d.ts.map +1 -1
  122. package/dist/flow/types.js +11 -0
  123. package/dist/flow/types.js.map +1 -1
  124. package/dist/managed-spec.d.ts +32 -0
  125. package/dist/managed-spec.d.ts.map +1 -0
  126. package/dist/managed-spec.js +258 -0
  127. package/dist/managed-spec.js.map +1 -0
  128. package/dist/offscreen/agent-viewer.d.ts +2 -1
  129. package/dist/offscreen/agent-viewer.d.ts.map +1 -1
  130. package/dist/offscreen/agent-viewer.js +63 -19
  131. package/dist/offscreen/agent-viewer.js.map +1 -1
  132. package/dist/offscreen/controller.d.ts +14 -3
  133. package/dist/offscreen/controller.d.ts.map +1 -1
  134. package/dist/offscreen/controller.js +82 -17
  135. package/dist/offscreen/controller.js.map +1 -1
  136. package/dist/offscreen/resolve.d.ts.map +1 -1
  137. package/dist/offscreen/resolve.js +14 -3
  138. package/dist/offscreen/resolve.js.map +1 -1
  139. package/dist/offscreen/split-inquiry.d.ts +10 -1
  140. package/dist/offscreen/split-inquiry.d.ts.map +1 -1
  141. package/dist/offscreen/split-inquiry.js +156 -12
  142. package/dist/offscreen/split-inquiry.js.map +1 -1
  143. package/dist/orchestrator.d.ts +5 -0
  144. package/dist/orchestrator.d.ts.map +1 -1
  145. package/dist/orchestrator.js +85 -5
  146. package/dist/orchestrator.js.map +1 -1
  147. package/dist/providers/copilot/completion.d.ts +5 -4
  148. package/dist/providers/copilot/completion.d.ts.map +1 -1
  149. package/dist/providers/copilot/completion.js +193 -42
  150. package/dist/providers/copilot/completion.js.map +1 -1
  151. package/dist/providers/types.d.ts +2 -0
  152. package/dist/providers/types.d.ts.map +1 -1
  153. package/dist/providers/types.js.map +1 -1
  154. package/dist/session/manifest.d.ts +9 -0
  155. package/dist/session/manifest.d.ts.map +1 -1
  156. package/dist/session/session-store.d.ts +2 -1
  157. package/dist/session/session-store.d.ts.map +1 -1
  158. package/dist/session/session-store.js +49 -3
  159. package/dist/session/session-store.js.map +1 -1
  160. package/dist/startup-tui.d.ts +1 -0
  161. package/dist/startup-tui.d.ts.map +1 -1
  162. package/dist/startup-tui.js +6 -2
  163. package/dist/startup-tui.js.map +1 -1
  164. package/dist/terminal/host.d.ts +1 -0
  165. package/dist/terminal/host.d.ts.map +1 -1
  166. package/dist/terminal/host.js +3 -0
  167. package/dist/terminal/host.js.map +1 -1
  168. package/dist/user/dsl.d.ts +1 -0
  169. package/dist/user/dsl.d.ts.map +1 -1
  170. package/dist/user/dsl.js +1 -0
  171. package/dist/user/dsl.js.map +1 -1
  172. package/dist/user/handler.d.ts.map +1 -1
  173. package/dist/user/handler.js +15 -0
  174. package/dist/user/handler.js.map +1 -1
  175. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  176. package/dist/user/host-curate-prompt.js +2 -0
  177. package/dist/user/host-curate-prompt.js.map +1 -1
  178. package/dist/user/host-prompt.d.ts.map +1 -1
  179. package/dist/user/host-prompt.js +264 -13
  180. package/dist/user/host-prompt.js.map +1 -1
  181. package/dist/user/plan-pane.d.ts +1 -1
  182. package/dist/user/plan-pane.d.ts.map +1 -1
  183. package/dist/user/plan-pane.js +7 -1
  184. package/dist/user/plan-pane.js.map +1 -1
  185. package/dist/user/prompt.d.ts +9 -0
  186. package/dist/user/prompt.d.ts.map +1 -1
  187. package/package.json +1 -1
@@ -1,8 +1,10 @@
1
1
  import { existsSync } from "node:fs";
2
- import { readFile, rm } from "node:fs/promises";
2
+ import { readFile, realpath, rm, stat } from "node:fs/promises";
3
3
  import { join } from "node:path";
4
4
  import { bindSessionReporter, bindDriverRuntime, bindPtyBufferReporter, bindAttemptFailureReporter } from "../runner.js";
5
5
  import { liveSidecarPath, readLiveSidecar } from "../session-resume.js";
6
+ import { ITER, ITER_NOTIFICATION } from "../../flow/types.js";
7
+ import { validateManagedIterationNotification, } from "../../managed-spec.js";
6
8
  /** Thrown by the validation step inside the retry closure — retryable. */
7
9
  export class InterviewerValidationError extends Error {
8
10
  constructor(message) {
@@ -18,10 +20,27 @@ async function readFileMaybe(path) {
18
20
  return undefined;
19
21
  }
20
22
  }
23
+ async function sameRealFile(a, b) {
24
+ try {
25
+ const [left, right] = await Promise.all([realpath(a), realpath(b)]);
26
+ if (process.platform === "win32"
27
+ ? left.toLowerCase() === right.toLowerCase()
28
+ : left === right) {
29
+ return true;
30
+ }
31
+ const [leftStat, rightStat] = await Promise.all([stat(left), stat(right)]);
32
+ return leftStat.dev === rightStat.dev && leftStat.ino === rightStat.ino;
33
+ }
34
+ catch {
35
+ return false;
36
+ }
37
+ }
21
38
  export class InterviewerRoleHandler {
22
39
  driver;
23
- constructor(driver) {
40
+ workdir;
41
+ constructor(driver, workdir = process.cwd()) {
24
42
  this.driver = driver;
43
+ this.workdir = workdir;
25
44
  }
26
45
  async execute(step, ctx, retry) {
27
46
  const agentStep = step;
@@ -34,8 +53,9 @@ export class InterviewerRoleHandler {
34
53
  if (!specKey) {
35
54
  throw new Error("InterviewerRoleHandler: step.writes.spec missing");
36
55
  }
37
- const specFile = join(ctx.sessionDir, "spec.md");
38
- const markerFile = join(ctx.sessionDir, "spec.done");
56
+ const managedSpec = step.managedSpec === true;
57
+ const specFile = join(ctx.sessionDir, managedSpec ? "iteration-rationale.md" : "spec.md");
58
+ const markerFile = join(ctx.sessionDir, managedSpec ? "iter-notification.json" : "spec.done");
39
59
  const feedbackFile = step.reads.feedback
40
60
  ? ctx.artifacts.getFile(step.reads.feedback)
41
61
  : undefined;
@@ -66,15 +86,31 @@ export class InterviewerRoleHandler {
66
86
  ? (feedbackFile ? "revise" : "continue")
67
87
  : (feedbackFile ? "rehydrate" : "initial");
68
88
  let prevFailure;
89
+ const currentIterationArtifact = managedSpec
90
+ ? ctx.artifacts.get(step.reads.iteration ?? ITER)
91
+ : undefined;
92
+ const currentIterationFile = currentIterationArtifact?.file;
93
+ const currentIterationPath = typeof currentIterationArtifact?.meta?.managedSpecPath === "string"
94
+ ? currentIterationArtifact.meta.managedSpecPath
95
+ : undefined;
96
+ const currentIterationDisposition = currentIterationArtifact?.meta?.managedSpecDisposition === "created" ||
97
+ currentIterationArtifact?.meta?.managedSpecDisposition === "continued"
98
+ ? currentIterationArtifact.meta.managedSpecDisposition
99
+ : undefined;
100
+ const hasPriorManagedIteration = managedSpec &&
101
+ (currentIterationFile !== undefined || currentIterationArtifact !== undefined);
69
102
  const result = await retry("interviewer", async (attempt) => {
70
103
  await rm(markerFile, { force: true });
71
104
  let mode;
72
105
  if (attempt === 1) {
73
106
  mode = initialMode;
74
107
  }
75
- else if (prevFailure === "missing-spec") {
108
+ else if (prevFailure?.kind === "missing-spec") {
76
109
  mode = "retry-missing-spec";
77
110
  }
111
+ else if (prevFailure?.kind === "invalid-managed-output") {
112
+ mode = "retry-managed-output";
113
+ }
78
114
  else {
79
115
  mode = initialMode;
80
116
  }
@@ -86,6 +122,9 @@ export class InterviewerRoleHandler {
86
122
  specFile,
87
123
  markerFile,
88
124
  feedbackFile,
125
+ managedSpec,
126
+ currentIterationFile,
127
+ validationError: prevFailure?.message,
89
128
  resumeSessionId: currentSessionId,
90
129
  // First attempt only: feed the just-validated path back to the
91
130
  // runner so its resume fast path skips snapshot/discovery (the
@@ -100,11 +139,36 @@ export class InterviewerRoleHandler {
100
139
  }
101
140
  const specText = (await readFileMaybe(specFile)) ?? "";
102
141
  if (specText.trim().length === 0) {
103
- prevFailure = "missing-spec";
104
- throw new InterviewerValidationError("spec.md missing or empty");
142
+ const message = `${managedSpec ? "Iteration Rationale" : "spec.md"} missing or empty`;
143
+ prevFailure = { kind: "missing-spec", message };
144
+ throw new InterviewerValidationError(message);
145
+ }
146
+ let managedIteration;
147
+ if (managedSpec) {
148
+ try {
149
+ managedIteration = await validateManagedIterationNotification(markerFile, this.workdir);
150
+ const sameSelectedIteration = (currentIterationPath !== undefined &&
151
+ managedIteration.notification.path === currentIterationPath) ||
152
+ (currentIterationFile !== undefined &&
153
+ await sameRealFile(currentIterationFile, managedIteration.absolutePath));
154
+ const switchedFromSelectedIteration = hasPriorManagedIteration && !sameSelectedIteration;
155
+ if (feedbackFile &&
156
+ currentIterationDisposition === "created" &&
157
+ managedIteration.notification.disposition === "continued" &&
158
+ switchedFromSelectedIteration &&
159
+ currentIterationFile &&
160
+ existsSync(currentIterationFile)) {
161
+ throw new InterviewerValidationError("managed interviewer must remove the provisional created Iteration Spec before switching to a continued existing Iteration Spec");
162
+ }
163
+ }
164
+ catch (err) {
165
+ const message = err instanceof Error ? err.message : String(err);
166
+ prevFailure = { kind: "invalid-managed-output", message };
167
+ throw new InterviewerValidationError(message);
168
+ }
105
169
  }
106
170
  prevFailure = undefined;
107
- return { driverRes, specText };
171
+ return { driverRes, specText, managedIteration };
108
172
  });
109
173
  const finalSessionId = currentSessionId ?? result.driverRes.sessionId;
110
174
  if (finalSessionId) {
@@ -119,9 +183,42 @@ export class InterviewerRoleHandler {
119
183
  meta: {
120
184
  driver: this.driver.name,
121
185
  iteration: ctx.totalIterations,
122
- source: "interviewer",
186
+ source: managedSpec ? "managed-interviewer-explanation" : "interviewer",
187
+ managedSpec,
123
188
  },
124
189
  });
190
+ if (managedSpec) {
191
+ const managedIteration = result.managedIteration;
192
+ if (!managedIteration) {
193
+ throw new InterviewerValidationError("managed Iteration Spec validation did not produce an artifact");
194
+ }
195
+ const iterationKey = step.writes.iteration ?? ITER;
196
+ const notificationKey = step.writes.notification ?? ITER_NOTIFICATION;
197
+ ctx.artifacts.set(iterationKey, {
198
+ file: managedIteration.absolutePath,
199
+ immutablePersistentFile: true,
200
+ text: managedIteration.text,
201
+ meta: {
202
+ driver: this.driver.name,
203
+ iteration: ctx.totalIterations,
204
+ source: "managed-interviewer-iteration",
205
+ managedSpec: true,
206
+ managedSpecPath: managedIteration.notification.path,
207
+ managedSpecDisposition: managedIteration.notification.disposition,
208
+ },
209
+ });
210
+ ctx.artifacts.set(notificationKey, {
211
+ file: markerFile,
212
+ text: JSON.stringify(managedIteration.notification),
213
+ data: managedIteration.notification,
214
+ meta: {
215
+ driver: this.driver.name,
216
+ iteration: ctx.totalIterations,
217
+ source: "managed-interviewer-notification",
218
+ managedSpec: true,
219
+ },
220
+ });
221
+ }
125
222
  if (sidecarPath) {
126
223
  await rm(sidecarPath, { force: true }).catch(() => { });
127
224
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/interviewers/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/interviewers/handler.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const mod = createRoleModule({
9
9
  roleName: "interviewer",
10
10
  fromFactory: (factory, workdir) => factory(workdir, defaultInterviewerPrompts),
11
11
  fromProvider: (strategy, workdir, opts) => new InterviewerAdapter(strategy, workdir, defaultInterviewerPrompts, opts?.yolo, opts?.model, opts?.effort, opts?.sessionFileWaitMs),
12
- toHandler: (driver) => new InterviewerRoleHandler(driver),
12
+ toHandler: (driver, workdir) => new InterviewerRoleHandler(driver, workdir),
13
13
  });
14
14
  export const registerProvider = mod.registerProvider;
15
15
  export const { registerFactory, availableDrivers } = mod;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/interviewers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAezD,MAAM,GAAG,GAAG,gBAAgB,CAAwC;IAClE,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC9E,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CACxC,IAAI,kBAAkB,CACpB,QAAQ,EACR,OAAO,EACP,yBAAyB,EACzB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,CACxB;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,gBAG3B,CAAC;AACV,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/interviewers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAezD,MAAM,GAAG,GAAG,gBAAgB,CAAwC;IAClE,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,yBAAyB,CAAC;IAC9E,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CACxC,IAAI,kBAAkB,CACpB,QAAQ,EACR,OAAO,EACP,yBAAyB,EACzB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,CACxB;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC;CAC5E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,gBAG3B,CAAC;AACV,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA2FvD,eAAO,MAAM,yBAAyB,EAAE,oBAMvC,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAiTvD,eAAO,MAAM,yBAAyB,EAAE,oBAWvC,CAAC"}
@@ -12,6 +12,22 @@ const GUARDRAILS = [
12
12
  "- Do not write the marker file while any open questions remain. The spec as it exists on disk at the moment you write the marker file is the final committed answer. Make sure it is complete before writing the marker.",
13
13
  "- End your turn immediately after writing the marker file. No follow-up commentary.",
14
14
  ].join("\n");
15
+ const MANAGED_INTERVIEW_GUIDELINES = [
16
+ "Conduct a requirements interview or bug clarification with the user. Your job is to understand WHAT they want or what is broken - not HOW to fix or build it.",
17
+ "Ask focused questions until you understand the goal, success criteria, in/out of scope boundary, and constraints.",
18
+ "Keep grilling until the requirements are clear.",
19
+ "For bug fixes, attempt local reproduction and include the reproduction steps and observed behavior.",
20
+ ].join(" ");
21
+ const MANAGED_STRICT_RULES = [
22
+ "## Strict rules",
23
+ "",
24
+ "- Do not propose an implementation design or implementation plan.",
25
+ "- Do not modify code, current .poly-spec final specs, legacy specification sources, or unrelated repository files.",
26
+ "- Write only the selected pending Iteration Spec, Iteration Rationale, and final notification.",
27
+ "- Do not ask the user to review, approve, or confirm the artifacts before signaling completion.",
28
+ "- Do not signal completion while requirement questions remain.",
29
+ "- End your turn immediately after writing the completion notification.",
30
+ ];
15
31
  function initial(taskFile, specFile, markerFile) {
16
32
  return [
17
33
  `Read the user's task: ${taskFile}`,
@@ -63,11 +79,145 @@ function rehydrate(taskFile, specFile, markerFile, feedbackFile) {
63
79
  lines.push("", INTERVIEW_GUIDELINES, "", "Read those files, then continue the interview from where it left off. You may update the spec on disk as the conversation progresses.", `When the spec is complete, write the marker file at: ${markerFile} and end your turn.`, "", GUARDRAILS);
64
80
  return lines.join("\n");
65
81
  }
82
+ function managedInitialRepositorySpecification(polySpecRoot, explanationFile) {
83
+ return [
84
+ "## Repository specification",
85
+ "",
86
+ `Repository specifications live under: ${polySpecRoot}`,
87
+ "Use .poly-spec/index.md, when present, only for a short product definition, the basic final-spec structure, and selective links to critical final specs. The index is not exhaustive and should not mention iteration specs.",
88
+ "",
89
+ "Discover only the smallest coherent current and legacy context needed for this change: relevant final specs, frozen legacy specs, ADRs, implementation evidence, and related applied history. Record required current-spec corrections in the Iteration Spec instead of editing current specs.",
90
+ "",
91
+ "Create and name a new Iteration Spec under .poly-spec/iterations/pending/ by default.",
92
+ "Continue an existing pending Iteration Spec when the task identifies it, or ask the user when you find a likely continuation. Applied iterations are immutable history and cannot be continued.",
93
+ "",
94
+ "Use this as flexible guidance, not a rigid schema:",
95
+ "",
96
+ "# <Iteration title>",
97
+ "## Intent",
98
+ "<Durable intended change>",
99
+ "## Why",
100
+ "<Durable rationale>",
101
+ "## Baseline coverage",
102
+ "<Current product/behavior/constraint context that must be established>",
103
+ "## Changes",
104
+ "### ADD behaviors/sessions/resume.md > Guarantees",
105
+ "Accepted workflow phases are not repeated after interruption.",
106
+ "### MODIFY behaviors/sessions/resume.md > Flow",
107
+ "Resume from the first incomplete durable boundary.",
108
+ "Why: accepted work must not repeat.",
109
+ "### REMOVE behaviors/sessions/resume.md > Legacy retry flow",
110
+ "Remove the obsolete behavior after its replacement is captured above.",
111
+ "## Acceptance",
112
+ "- Resume after plan approval continues to implementation.",
113
+ "",
114
+ "Put every durable requirement, rationale, acceptance outcome, final-spec decision, and required spec correction in the Iteration Spec. Each change names an intended final .poly-spec file or semantic target. Describe behavior using the clearest narrative, flow, state, table, case, guarantee, or example form.",
115
+ "Omit facts directly and unambiguously deducible from source unless they are needed to express a durable user-visible contract, rationale, acceptance outcome, cross-file invariant, or correction. The Iteration Spec and resulting current specs must be concise, not implementation inventories.",
116
+ "",
117
+ "Final current specs are concise and narrative-first:",
118
+ "- product-wide specs commonly use Purpose, Users, Capabilities, Principles, Vocabulary, and Non-goals;",
119
+ "- behavior specs commonly use the useful parts of Purpose, Actors/trigger, Flow or Experience, States, Variations/Cases, Guarantees, Durable design, and Related;",
120
+ "- shared-constraint specs commonly use Purpose, Applies to, Constraints, and Rationale.",
121
+ "These are guides, not mandatory sections. Use repository-defined types and nested folders when they better fit the content.",
122
+ "",
123
+ `Write the Iteration Rationale to ${explanationFile}. Use it for evidence, brownfield coverage, uncertainty, risks, troubleshooting, and actions to migrate, retain, shorten, or remove legacy non-.poly-spec sources. Do not make it the only location of durable intent.`,
124
+ ];
125
+ }
126
+ function managedRequiredOutputs(explanationFile, notificationFile, polySpecRoot) {
127
+ return [
128
+ "## Required outputs",
129
+ "",
130
+ `- Create or update the selected Iteration Spec Markdown file under ${polySpecRoot}/iterations/pending/.`,
131
+ `- Write the complete supporting Iteration Rationale to ${explanationFile}.`,
132
+ `- Only after both files are complete, write ${notificationFile} last with exactly:`,
133
+ ' {"path":".poly-spec/iterations/pending/<name>.md","disposition":"created|continued"}',
134
+ "- Do not write a separate marker; the notification file is the completion signal.",
135
+ ];
136
+ }
137
+ function managedInitial(taskFile, explanationFile, notificationFile, polySpecRoot, iterationFile, freshFallbackBeforeNotification = false) {
138
+ return [
139
+ `Read the user's task: ${taskFile}`,
140
+ "",
141
+ MANAGED_INTERVIEW_GUIDELINES,
142
+ "",
143
+ ...managedInitialRepositorySpecification(polySpecRoot, explanationFile),
144
+ ...(iterationFile ? ["", `Current Iteration Spec: ${iterationFile}`] : []),
145
+ "",
146
+ ...MANAGED_STRICT_RULES,
147
+ "",
148
+ ...managedRequiredOutputs(explanationFile, notificationFile, polySpecRoot),
149
+ ...(freshFallbackBeforeNotification
150
+ ? [
151
+ "",
152
+ "No completed Iteration Spec notification exists. Create a new Iteration Spec; do not adopt or continue an unnotified draft left by the interrupted provider session.",
153
+ ]
154
+ : []),
155
+ ].join("\n");
156
+ }
157
+ function managedContinue(explanationFile, notificationFile, _polySpecRoot, _iterationFile) {
158
+ return [
159
+ "Continue your current Iteration Spec and Iteration Rationale.",
160
+ "",
161
+ `Current Iteration Rationale output: ${explanationFile}`,
162
+ `Iteration notification output: ${notificationFile}`,
163
+ "",
164
+ "Write the iteration notification last only when both the selected pending Iteration Spec and Iteration Rationale are complete. End your turn immediately afterward.",
165
+ ].join("\n");
166
+ }
167
+ function managedRevise(feedbackFile, explanationFile, notificationFile, polySpecRoot, iterationFile) {
168
+ return [
169
+ `Read the user's new feedback: ${feedbackFile}`,
170
+ ...(iterationFile ? [`Current Iteration Spec: ${iterationFile}`] : []),
171
+ `Iteration Rationale: ${explanationFile}`,
172
+ "",
173
+ "Apply the feedback where it belongs, keeping every durable conclusion in the Iteration Spec. If the user selects an existing pending Iteration Spec, switch to it, transfer the approved change, and remove the provisional Iteration Spec.",
174
+ "",
175
+ `Rewrite ${notificationFile} last with the final path and disposition:`,
176
+ '{"path":".poly-spec/iterations/pending/<name>.md","disposition":"created|continued"}',
177
+ "",
178
+ "End your turn immediately after writing the notification.",
179
+ ].join("\n");
180
+ }
181
+ function managedRehydrate(taskFile, explanationFile, notificationFile, feedbackFile, polySpecRoot, iterationFile) {
182
+ const lines = [
183
+ `Read the user's original task: ${taskFile}`,
184
+ ];
185
+ if (feedbackFile) {
186
+ lines.push(`Read the user's new feedback when present: ${feedbackFile}`);
187
+ }
188
+ else {
189
+ lines.push("No new user feedback file is present.");
190
+ }
191
+ lines.push("", "Conduct or resume the requirements interview or bug clarification. Your job is to understand WHAT the user wants or what is broken - not HOW to fix or build it. Ask focused questions until the goal, success criteria, in/out of scope boundary, and constraints are clear. For bug fixes, attempt local reproduction and preserve relevant reproduction evidence.", "", "## Repository specification", "", `Repository specifications live under: ${polySpecRoot}`, ...(iterationFile ? [`Current Iteration Spec: ${iterationFile}`] : []), `Iteration Rationale: ${explanationFile}`, "", "Read the current repository contents of the notified Iteration Spec and the Iteration Rationale. Inspect only relevant current and legacy specification or implementation evidence as needed. Apply the new feedback where it belongs, keeping every durable requirement, rationale, acceptance outcome, final-spec decision, and required correction in the Iteration Spec. Keep evidence, coverage, migration actions, uncertainty, risk, and troubleshooting in the Iteration Rationale.", "", "If the selected Iteration Spec changes, remove the provisional file when required.", "", ...MANAGED_STRICT_RULES, "", "## Required outputs", "", `- Update the selected Iteration Spec under ${polySpecRoot}/iterations/pending/.`, `- Write the complete supporting Iteration Rationale to ${explanationFile}.`, `- Rewrite ${notificationFile} last with exactly:`, ' {"path":".poly-spec/iterations/pending/<name>.md","disposition":"created|continued"}', "- Do not write a separate marker.");
192
+ return lines.join("\n");
193
+ }
194
+ function managedRetryInvalidOutput(explanationFile, notificationFile, validationError, polySpecRoot, iterationFile) {
195
+ return [
196
+ "Your previous turn did not produce complete managed specification output.",
197
+ "",
198
+ `Validation error: ${validationError}`,
199
+ "",
200
+ "Required Iteration Spec: a non-empty Markdown file under",
201
+ `${polySpecRoot}/iterations/pending/.`,
202
+ `Required Iteration Rationale: a non-empty file at ${explanationFile}.`,
203
+ `Required final notification: ${notificationFile} containing exactly`,
204
+ '{"path":".poly-spec/iterations/pending/<name>.md","disposition":"created|continued"}',
205
+ "and pointing to the completed pending Iteration Spec.",
206
+ ...(iterationFile ? ["", `Previously selected Iteration Spec: ${iterationFile}`] : []),
207
+ "",
208
+ "Correct the missing or invalid output. Write the notification last, only after the Iteration Spec and Iteration Rationale are complete, then end your turn immediately.",
209
+ ].join("\n");
210
+ }
66
211
  export const defaultInterviewerPrompts = {
67
212
  initial,
68
213
  continueInterview,
69
214
  retryMissingSpec,
70
215
  revise,
71
216
  rehydrate,
217
+ managedInitial,
218
+ managedContinue,
219
+ managedRevise,
220
+ managedRehydrate,
221
+ managedRetryInvalidOutput,
72
222
  };
73
223
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/interviewers/prompts.ts"],"names":[],"mappings":"AAEA,MAAM,oBAAoB,GAAG;IAC3B,+JAA+J;IAC/J,qMAAqM;IACrM,iDAAiD;IACjD,+IAA+I;CAChJ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,UAAU,GAAG;IACjB,eAAe;IACf,yEAAyE;IACzE,8FAA8F;IAC9F,yQAAyQ;IACzQ,0NAA0N;IAC1N,qFAAqF;CACtF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,OAAO,CAAC,QAAgB,EAAE,QAAgB,EAAE,UAAkB;IACrE,OAAO;QACL,yBAAyB,QAAQ,EAAE;QACnC,iCAAiC,QAAQ,EAAE;QAC3C,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,kEAAkE;QAClE,EAAE;QACF,sFAAsF,UAAU,EAAE;QAClG,6DAA6D;QAC7D,EAAE;QACF,UAAU;KACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,UAAkB;IAC7D,OAAO;QACL,yBAAyB;QACzB,EAAE;QACF,sBAAsB,QAAQ,EAAE;QAChC,uEAAuE,UAAU,qBAAqB;KACvG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,UAAkB;IAC5D,OAAO;QACL,iEAAiE,QAAQ,uBAAuB;QAChG,EAAE;QACF,8BAA8B,QAAQ,sCAAsC,UAAU,GAAG;KAC1F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,MAAM,CACb,YAAoB,EACpB,QAAgB,EAChB,UAAkB;IAElB,OAAO;QACL,iDAAiD,YAAY,EAAE;QAC/D,EAAE;QACF,sBAAsB,QAAQ,2BAA2B;QACzD,wCAAwC,UAAU,qBAAqB;KACxE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAChB,QAAgB,EAChB,QAAgB,EAChB,UAAkB,EAClB,YAAgC;IAEhC,MAAM,KAAK,GAAG;QACZ,iEAAiE;QACjE,EAAE;QACF,kBAAkB,QAAQ,EAAE;QAC5B,sCAAsC,QAAQ,4BAA4B;KAC3E,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,oCAAoC,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,oBAAoB,EACpB,EAAE,EACF,uIAAuI,EACvI,wDAAwD,UAAU,qBAAqB,EACvF,EAAE,EACF,UAAU,CACX,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAyB;IAC7D,OAAO;IACP,iBAAiB;IACjB,gBAAgB;IAChB,MAAM;IACN,SAAS;CACV,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/interviewers/prompts.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,18 @@ import type { LiveSidecarMeta } from "../runner.js";
4
4
  * the prompt by mode; freshFallbackPrompt selection (see adapter) handles
5
5
  * the resume-failure path.
6
6
  */
7
- export type InterviewerMode = "initial" | "continue" | "retry-missing-spec" | "revise" | "rehydrate";
7
+ export type InterviewerMode = "initial" | "continue" | "retry-missing-spec" | "retry-managed-output" | "revise" | "rehydrate";
8
8
  export interface InterviewerPromptSet {
9
9
  initial: (taskFile: string, specFile: string, markerFile: string) => string;
10
10
  continueInterview: (specFile: string, markerFile: string) => string;
11
11
  retryMissingSpec: (specFile: string, markerFile: string) => string;
12
12
  revise: (feedbackFile: string, specFile: string, markerFile: string) => string;
13
13
  rehydrate: (taskFile: string, specFile: string, markerFile: string, feedbackFile: string | undefined) => string;
14
+ managedInitial: (taskFile: string, explanationFile: string, notificationFile: string, polySpecRoot: string, iterationFile: string | undefined, freshFallbackBeforeNotification?: boolean) => string;
15
+ managedContinue: (explanationFile: string, notificationFile: string, polySpecRoot: string, iterationFile: string | undefined) => string;
16
+ managedRevise: (feedbackFile: string, explanationFile: string, notificationFile: string, polySpecRoot: string, iterationFile: string | undefined) => string;
17
+ managedRehydrate: (taskFile: string, explanationFile: string, notificationFile: string, feedbackFile: string | undefined, polySpecRoot: string, iterationFile: string | undefined) => string;
18
+ managedRetryInvalidOutput: (explanationFile: string, notificationFile: string, validationError: string, polySpecRoot: string, iterationFile: string | undefined) => string;
14
19
  }
15
20
  export type InterviewerLiveSidecarMeta = LiveSidecarMeta;
16
21
  export interface InterviewerRunOpts {
@@ -19,6 +24,9 @@ export interface InterviewerRunOpts {
19
24
  specFile: string;
20
25
  markerFile: string;
21
26
  feedbackFile?: string;
27
+ managedSpec?: boolean;
28
+ currentIterationFile?: string;
29
+ validationError?: string;
22
30
  resumeSessionId?: string;
23
31
  /**
24
32
  * Known on-disk session file path for `resumeSessionId`. When the handler
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,UAAU,GACV,oBAAoB,GACpB,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IACpE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IACnE,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/E,SAAS,EAAE,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,MAAM,CAAC;CACb;AAED,MAAM,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;IACnC,yFAAyF;IACzF,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvD,yFAAyF;IACzF,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IACjE,+FAA+F;IAC/F,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,iEAAiE;IACjE,kBAAkB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/types.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,11 @@ type PlannerRunOptions = {
5
5
  outputPlanFile?: string;
6
6
  resumeSessionId?: string;
7
7
  planFile?: string;
8
+ explanationFile?: string;
8
9
  feedbackFile?: string;
9
10
  feedbackSource?: "reviewer" | "user";
10
11
  implReplan?: boolean;
12
+ managedSpec?: boolean;
11
13
  };
12
14
  export declare function selectPlannerPrompt(taskFile: string, opts: PlannerRunOptions, prompts?: PlannerPromptSet): string;
13
15
  export declare class PlannerAdapter extends BaseAdapter implements PlannerDriver {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,iBAAiB,GAAG;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,gBAAwC,GAChD,MAAM,CAmCR;AAED,qBAAa,cAAe,SAAQ,WAAY,YAAW,aAAa;IAIpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,CAAC,EAAE,gBAAgB,YAAA,EAC3C,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,UAAU,CAAC;CA6DvB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,iBAAiB,GAAG;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE,gBAAwC,GAChD,MAAM,CA4CR;AAED,qBAAa,cAAe,SAAQ,WAAY,YAAW,aAAa;IAIpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,CAAC,EAAE,gBAAgB,YAAA,EAC3C,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,UAAU,CAAC;CA6DvB"}
@@ -11,11 +11,11 @@ export function selectPlannerPrompt(taskFile, opts, prompts = defaultPlannerProm
11
11
  }
12
12
  // Normal plan revision
13
13
  if (opts.resumeSessionId) {
14
- return prompts.resumeRevision(opts.feedbackFile, opts.feedbackSource ?? "reviewer", opts.outputPlanFile);
14
+ return prompts.resumeRevision(opts.feedbackFile, opts.feedbackSource ?? "reviewer", opts.outputPlanFile, opts.managedSpec, opts.explanationFile);
15
15
  }
16
- return prompts.revision(taskFile, opts.planFile, opts.feedbackFile, opts.feedbackSource ?? "reviewer", opts.outputPlanFile);
16
+ return prompts.revision(taskFile, opts.planFile, opts.feedbackFile, opts.feedbackSource ?? "reviewer", opts.outputPlanFile, opts.managedSpec, opts.explanationFile);
17
17
  }
18
- return prompts.initial(taskFile, opts.outputPlanFile);
18
+ return prompts.initial(taskFile, opts.outputPlanFile, opts.managedSpec, opts.explanationFile);
19
19
  }
20
20
  export class PlannerAdapter extends BaseAdapter {
21
21
  prompts;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/planners/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/planners/adapter.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare function plan(opts: {
9
9
  };
10
10
  writes: Record<string, string>;
11
11
  id?: string;
12
+ managedSpec?: boolean;
12
13
  feedbackToTask?: boolean;
13
14
  when?: WhenCondition;
14
15
  whenLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,IAAI,CAAC,IAAI,EAAE;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAMZ"}
1
+ {"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,IAAI,CAAC,IAAI,EAAE;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAMZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/planners/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2C,MAAM,mBAAmB,CAAC;AAGvF,MAAM,UAAU,IAAI,CAAC,IASpB;IACC,OAAO,SAAS,CAAC,SAAS,EAAE;QAC1B,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,gBAAgB;KAC7B,EAAE,IAAI,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/planners/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2C,MAAM,mBAAmB,CAAC;AAGvF,MAAM,UAAU,IAAI,CAAC,IAUpB;IACC,OAAO,SAAS,CAAC,SAAS,EAAE;QAC1B,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,gBAAgB;KAC7B,EAAE,IAAI,CAAC,CAAC;AACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAmB7B,qBAAa,kBAAmB,YAAW,WAAW;IAGxC,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,WAAW,CAAK;gBAEJ,MAAM,EAAE,aAAa;IAEnC,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;CAgIvB"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/planners/handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAmB7B,qBAAa,kBAAmB,YAAW,WAAW;IAGxC,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,WAAW,CAAK;gBAEJ,MAAM,EAAE,aAAa;IAEnC,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;CAqIvB"}
@@ -20,6 +20,9 @@ export class PlannerRoleHandler {
20
20
  ?? (step.reads.task && ctx.artifacts.getFile(step.reads.task));
21
21
  if (!specFile)
22
22
  throw new Error("PlannerRoleHandler: spec or task artifact missing");
23
+ const explanationFile = step.managedSpec && step.reads.explanation
24
+ ? ctx.artifacts.getFile(step.reads.explanation)
25
+ : undefined;
23
26
  // Read feedback from verdict artifact (set by incorporateFeedback)
24
27
  const verdictArtifact = step.reads.verdict
25
28
  ? ctx.artifacts.get(step.reads.verdict) : undefined;
@@ -64,9 +67,11 @@ export class PlannerRoleHandler {
64
67
  outputPlanFile,
65
68
  resumeSessionId: attempt === 1 ? resumeSessionId : undefined,
66
69
  planFile: feedbackSource ? prevPlanFile : undefined,
70
+ explanationFile,
67
71
  feedbackFile: feedbackSource ? feedbackFile : undefined,
68
72
  feedbackSource,
69
73
  implReplan,
74
+ managedSpec: step.managedSpec === true,
70
75
  });
71
76
  const actualPlanFile = planResult.planFilePath ?? outputPlanFile;
72
77
  const planText = await readPlanFromContract(actualPlanFile);
@@ -92,7 +97,7 @@ export class PlannerRoleHandler {
92
97
  }
93
98
  // Merge in-planning clarifications (AskUserQuestion Q&A) into the
94
99
  // planner's input baseline: spec if present, task otherwise.
95
- if (planResult.clarifications?.length) {
100
+ if (!step.managedSpec && planResult.clarifications?.length) {
96
101
  const specKey = step.reads.spec;
97
102
  const taskKey = step.reads.task;
98
103
  const specArtifact = specKey ? ctx.artifacts.get(specKey) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/planners/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/planners/handler.ts"],"names":[],"mappings":"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"}