poly-weaver 0.14.7 → 0.15.1

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 (255) hide show
  1. package/README.md +24 -1
  2. package/dist/agents/executors/types.d.ts +3 -1
  3. package/dist/agents/executors/types.d.ts.map +1 -1
  4. package/dist/agents/implementors/adapter.d.ts +6 -1
  5. package/dist/agents/implementors/adapter.d.ts.map +1 -1
  6. package/dist/agents/implementors/adapter.js +6 -6
  7. package/dist/agents/implementors/adapter.js.map +1 -1
  8. package/dist/agents/implementors/dsl.d.ts +2 -0
  9. package/dist/agents/implementors/dsl.d.ts.map +1 -1
  10. package/dist/agents/implementors/dsl.js.map +1 -1
  11. package/dist/agents/implementors/handler.d.ts.map +1 -1
  12. package/dist/agents/implementors/handler.js +10 -0
  13. package/dist/agents/implementors/handler.js.map +1 -1
  14. package/dist/agents/implementors/index.d.ts.map +1 -1
  15. package/dist/agents/implementors/index.js +1 -1
  16. package/dist/agents/implementors/index.js.map +1 -1
  17. package/dist/agents/implementors/prompts.d.ts +5 -4
  18. package/dist/agents/implementors/prompts.d.ts.map +1 -1
  19. package/dist/agents/implementors/prompts.js +44 -7
  20. package/dist/agents/implementors/prompts.js.map +1 -1
  21. package/dist/agents/implementors/types.d.ts +8 -4
  22. package/dist/agents/implementors/types.d.ts.map +1 -1
  23. package/dist/agents/interviewers/adapter.d.ts +4 -1
  24. package/dist/agents/interviewers/adapter.d.ts.map +1 -1
  25. package/dist/agents/interviewers/adapter.js +41 -8
  26. package/dist/agents/interviewers/adapter.js.map +1 -1
  27. package/dist/agents/interviewers/dsl.d.ts +1 -0
  28. package/dist/agents/interviewers/dsl.d.ts.map +1 -1
  29. package/dist/agents/interviewers/dsl.js.map +1 -1
  30. package/dist/agents/interviewers/handler.d.ts +2 -1
  31. package/dist/agents/interviewers/handler.d.ts.map +1 -1
  32. package/dist/agents/interviewers/handler.js +106 -9
  33. package/dist/agents/interviewers/handler.js.map +1 -1
  34. package/dist/agents/interviewers/index.d.ts.map +1 -1
  35. package/dist/agents/interviewers/index.js +2 -2
  36. package/dist/agents/interviewers/index.js.map +1 -1
  37. package/dist/agents/interviewers/prompts.d.ts.map +1 -1
  38. package/dist/agents/interviewers/prompts.js +150 -0
  39. package/dist/agents/interviewers/prompts.js.map +1 -1
  40. package/dist/agents/interviewers/types.d.ts +9 -1
  41. package/dist/agents/interviewers/types.d.ts.map +1 -1
  42. package/dist/agents/planners/adapter.d.ts +4 -1
  43. package/dist/agents/planners/adapter.d.ts.map +1 -1
  44. package/dist/agents/planners/adapter.js +5 -5
  45. package/dist/agents/planners/adapter.js.map +1 -1
  46. package/dist/agents/planners/dsl.d.ts +1 -0
  47. package/dist/agents/planners/dsl.d.ts.map +1 -1
  48. package/dist/agents/planners/dsl.js.map +1 -1
  49. package/dist/agents/planners/handler.d.ts.map +1 -1
  50. package/dist/agents/planners/handler.js +6 -1
  51. package/dist/agents/planners/handler.js.map +1 -1
  52. package/dist/agents/planners/index.d.ts.map +1 -1
  53. package/dist/agents/planners/index.js +1 -1
  54. package/dist/agents/planners/index.js.map +1 -1
  55. package/dist/agents/planners/prompts.d.ts +3 -3
  56. package/dist/agents/planners/prompts.d.ts.map +1 -1
  57. package/dist/agents/planners/prompts.js +76 -4
  58. package/dist/agents/planners/prompts.js.map +1 -1
  59. package/dist/agents/planners/types.d.ts +5 -3
  60. package/dist/agents/planners/types.d.ts.map +1 -1
  61. package/dist/agents/registry.d.ts +4 -1
  62. package/dist/agents/registry.d.ts.map +1 -1
  63. package/dist/agents/registry.js +2 -2
  64. package/dist/agents/registry.js.map +1 -1
  65. package/dist/agents/reviewers/adapter.d.ts +2 -1
  66. package/dist/agents/reviewers/adapter.d.ts.map +1 -1
  67. package/dist/agents/reviewers/adapter.js +7 -3
  68. package/dist/agents/reviewers/adapter.js.map +1 -1
  69. package/dist/agents/reviewers/dsl.d.ts +4 -0
  70. package/dist/agents/reviewers/dsl.d.ts.map +1 -1
  71. package/dist/agents/reviewers/dsl.js.map +1 -1
  72. package/dist/agents/reviewers/handler.d.ts.map +1 -1
  73. package/dist/agents/reviewers/handler.js +15 -1
  74. package/dist/agents/reviewers/handler.js.map +1 -1
  75. package/dist/agents/reviewers/index.d.ts.map +1 -1
  76. package/dist/agents/reviewers/index.js +1 -1
  77. package/dist/agents/reviewers/index.js.map +1 -1
  78. package/dist/agents/reviewers/prompts.d.ts +7 -7
  79. package/dist/agents/reviewers/prompts.d.ts.map +1 -1
  80. package/dist/agents/reviewers/prompts.js +196 -19
  81. package/dist/agents/reviewers/prompts.js.map +1 -1
  82. package/dist/agents/reviewers/types.d.ts +10 -0
  83. package/dist/agents/reviewers/types.d.ts.map +1 -1
  84. package/dist/agents/reviewers/types.js.map +1 -1
  85. package/dist/agents/runner.d.ts +12 -3
  86. package/dist/agents/runner.d.ts.map +1 -1
  87. package/dist/agents/runner.js +11 -3
  88. package/dist/agents/runner.js.map +1 -1
  89. package/dist/agents/simplifiers/adapter.d.ts +2 -1
  90. package/dist/agents/simplifiers/adapter.d.ts.map +1 -1
  91. package/dist/agents/simplifiers/adapter.js +3 -2
  92. package/dist/agents/simplifiers/adapter.js.map +1 -1
  93. package/dist/agents/simplifiers/dsl.d.ts +1 -0
  94. package/dist/agents/simplifiers/dsl.d.ts.map +1 -1
  95. package/dist/agents/simplifiers/dsl.js +1 -0
  96. package/dist/agents/simplifiers/dsl.js.map +1 -1
  97. package/dist/agents/simplifiers/handler.d.ts.map +1 -1
  98. package/dist/agents/simplifiers/handler.js +2 -0
  99. package/dist/agents/simplifiers/handler.js.map +1 -1
  100. package/dist/agents/simplifiers/index.d.ts.map +1 -1
  101. package/dist/agents/simplifiers/index.js +1 -1
  102. package/dist/agents/simplifiers/index.js.map +1 -1
  103. package/dist/agents/simplifiers/prompts.js +29 -2
  104. package/dist/agents/simplifiers/prompts.js.map +1 -1
  105. package/dist/agents/simplifiers/types.d.ts +2 -0
  106. package/dist/agents/simplifiers/types.d.ts.map +1 -1
  107. package/dist/agents/simplify-protection.d.ts +6 -0
  108. package/dist/agents/simplify-protection.d.ts.map +1 -0
  109. package/dist/agents/simplify-protection.js +12 -0
  110. package/dist/agents/simplify-protection.js.map +1 -0
  111. package/dist/cli.js +3 -3
  112. package/dist/cli.js.map +1 -1
  113. package/dist/config.d.ts +3 -1
  114. package/dist/config.d.ts.map +1 -1
  115. package/dist/config.js.map +1 -1
  116. package/dist/crosscheck/coordinator.d.ts.map +1 -1
  117. package/dist/crosscheck/coordinator.js +19 -7
  118. package/dist/crosscheck/coordinator.js.map +1 -1
  119. package/dist/dsl.d.ts +2 -0
  120. package/dist/dsl.d.ts.map +1 -1
  121. package/dist/dsl.js +2 -2
  122. package/dist/dsl.js.map +1 -1
  123. package/dist/flow/built-in/crosscheck-factory.d.ts.map +1 -1
  124. package/dist/flow/built-in/crosscheck-factory.js +8 -0
  125. package/dist/flow/built-in/crosscheck-factory.js.map +1 -1
  126. package/dist/flow/built-in/default-factory.d.ts.map +1 -1
  127. package/dist/flow/built-in/default-factory.js +63 -11
  128. package/dist/flow/built-in/default-factory.js.map +1 -1
  129. package/dist/flow/built-in/default.d.ts +1 -0
  130. package/dist/flow/built-in/default.d.ts.map +1 -1
  131. package/dist/flow/built-in/default.js +1 -0
  132. package/dist/flow/built-in/default.js.map +1 -1
  133. package/dist/flow/built-in/default.ts +2 -0
  134. package/dist/flow/built-in/simplify-factory.d.ts.map +1 -1
  135. package/dist/flow/built-in/simplify-factory.js +10 -0
  136. package/dist/flow/built-in/simplify-factory.js.map +1 -1
  137. package/dist/flow/custom/AUTHORING.md +8 -88
  138. package/dist/flow/dsl.d.ts +2 -0
  139. package/dist/flow/dsl.d.ts.map +1 -1
  140. package/dist/flow/dsl.js +2 -0
  141. package/dist/flow/dsl.js.map +1 -1
  142. package/dist/flow/index.d.ts +2 -2
  143. package/dist/flow/index.d.ts.map +1 -1
  144. package/dist/flow/index.js +1 -1
  145. package/dist/flow/index.js.map +1 -1
  146. package/dist/flow/params.d.ts +15 -6
  147. package/dist/flow/params.d.ts.map +1 -1
  148. package/dist/flow/params.js +119 -10
  149. package/dist/flow/params.js.map +1 -1
  150. package/dist/flow/types.d.ts +38 -1
  151. package/dist/flow/types.d.ts.map +1 -1
  152. package/dist/flow/types.js +11 -0
  153. package/dist/flow/types.js.map +1 -1
  154. package/dist/flow-editor/tui.d.ts.map +1 -1
  155. package/dist/flow-editor/tui.js +4 -1
  156. package/dist/flow-editor/tui.js.map +1 -1
  157. package/dist/managed-spec.d.ts +32 -0
  158. package/dist/managed-spec.d.ts.map +1 -0
  159. package/dist/managed-spec.js +258 -0
  160. package/dist/managed-spec.js.map +1 -0
  161. package/dist/offscreen/agent-viewer.d.ts +2 -1
  162. package/dist/offscreen/agent-viewer.d.ts.map +1 -1
  163. package/dist/offscreen/agent-viewer.js +63 -19
  164. package/dist/offscreen/agent-viewer.js.map +1 -1
  165. package/dist/offscreen/controller.d.ts +14 -3
  166. package/dist/offscreen/controller.d.ts.map +1 -1
  167. package/dist/offscreen/controller.js +82 -17
  168. package/dist/offscreen/controller.js.map +1 -1
  169. package/dist/offscreen/resolve.d.ts.map +1 -1
  170. package/dist/offscreen/resolve.js +16 -3
  171. package/dist/offscreen/resolve.js.map +1 -1
  172. package/dist/offscreen/split-inquiry.d.ts +10 -1
  173. package/dist/offscreen/split-inquiry.d.ts.map +1 -1
  174. package/dist/offscreen/split-inquiry.js +156 -12
  175. package/dist/offscreen/split-inquiry.js.map +1 -1
  176. package/dist/orchestrator.d.ts +5 -0
  177. package/dist/orchestrator.d.ts.map +1 -1
  178. package/dist/orchestrator.js +100 -10
  179. package/dist/orchestrator.js.map +1 -1
  180. package/dist/preview-panel.d.ts +9 -2
  181. package/dist/preview-panel.d.ts.map +1 -1
  182. package/dist/preview-panel.js +329 -54
  183. package/dist/preview-panel.js.map +1 -1
  184. package/dist/providers/base-completion.d.ts.map +1 -1
  185. package/dist/providers/base-completion.js +41 -0
  186. package/dist/providers/base-completion.js.map +1 -1
  187. package/dist/providers/claude/strategy.d.ts.map +1 -1
  188. package/dist/providers/claude/strategy.js +24 -9
  189. package/dist/providers/claude/strategy.js.map +1 -1
  190. package/dist/providers/codex/strategy.d.ts.map +1 -1
  191. package/dist/providers/codex/strategy.js +16 -13
  192. package/dist/providers/codex/strategy.js.map +1 -1
  193. package/dist/providers/configuration-presentation.d.ts +16 -0
  194. package/dist/providers/configuration-presentation.d.ts.map +1 -0
  195. package/dist/providers/configuration-presentation.js +31 -0
  196. package/dist/providers/configuration-presentation.js.map +1 -0
  197. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  198. package/dist/providers/copilot/strategy.js +25 -14
  199. package/dist/providers/copilot/strategy.js.map +1 -1
  200. package/dist/providers/fork.d.ts +5 -1
  201. package/dist/providers/fork.d.ts.map +1 -1
  202. package/dist/providers/fork.js.map +1 -1
  203. package/dist/providers/index.d.ts +2 -1
  204. package/dist/providers/index.d.ts.map +1 -1
  205. package/dist/providers/index.js +1 -0
  206. package/dist/providers/index.js.map +1 -1
  207. package/dist/providers/live.d.ts.map +1 -1
  208. package/dist/providers/live.js +2 -0
  209. package/dist/providers/live.js.map +1 -1
  210. package/dist/providers/option-catalog.d.ts +7 -0
  211. package/dist/providers/option-catalog.d.ts.map +1 -1
  212. package/dist/providers/option-catalog.js +20 -0
  213. package/dist/providers/option-catalog.js.map +1 -1
  214. package/dist/providers/types.d.ts +19 -0
  215. package/dist/providers/types.d.ts.map +1 -1
  216. package/dist/providers/types.js +3 -0
  217. package/dist/providers/types.js.map +1 -1
  218. package/dist/session/manifest.d.ts +9 -0
  219. package/dist/session/manifest.d.ts.map +1 -1
  220. package/dist/session/session-store.d.ts +2 -1
  221. package/dist/session/session-store.d.ts.map +1 -1
  222. package/dist/session/session-store.js +49 -3
  223. package/dist/session/session-store.js.map +1 -1
  224. package/dist/startup-tui.d.ts +1 -0
  225. package/dist/startup-tui.d.ts.map +1 -1
  226. package/dist/startup-tui.js +39 -31
  227. package/dist/startup-tui.js.map +1 -1
  228. package/dist/terminal/host.d.ts +1 -0
  229. package/dist/terminal/host.d.ts.map +1 -1
  230. package/dist/terminal/host.js +3 -0
  231. package/dist/terminal/host.js.map +1 -1
  232. package/dist/text-editing/emacs-input.d.ts +1 -0
  233. package/dist/text-editing/emacs-input.d.ts.map +1 -1
  234. package/dist/text-editing/emacs-input.js +8 -4
  235. package/dist/text-editing/emacs-input.js.map +1 -1
  236. package/dist/user/dsl.d.ts +1 -0
  237. package/dist/user/dsl.d.ts.map +1 -1
  238. package/dist/user/dsl.js +1 -0
  239. package/dist/user/dsl.js.map +1 -1
  240. package/dist/user/handler.d.ts.map +1 -1
  241. package/dist/user/handler.js +15 -0
  242. package/dist/user/handler.js.map +1 -1
  243. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  244. package/dist/user/host-curate-prompt.js +2 -0
  245. package/dist/user/host-curate-prompt.js.map +1 -1
  246. package/dist/user/host-prompt.d.ts.map +1 -1
  247. package/dist/user/host-prompt.js +264 -13
  248. package/dist/user/host-prompt.js.map +1 -1
  249. package/dist/user/plan-pane.d.ts +1 -1
  250. package/dist/user/plan-pane.d.ts.map +1 -1
  251. package/dist/user/plan-pane.js +7 -1
  252. package/dist/user/plan-pane.js.map +1 -1
  253. package/dist/user/prompt.d.ts +9 -0
  254. package/dist/user/prompt.d.ts.map +1 -1
  255. package/package.json +1 -1
package/README.md CHANGED
@@ -62,7 +62,30 @@ poly-weaver --config <path-to-config.json>
62
62
  | `-h, --help` | Show help | |
63
63
  | `-V, --version` | Show version | |
64
64
 
65
- Workflow is selected with **Shift+Tab** in the TUI. Built-in workflows: `default`. Custom flows are also available.
65
+ Workflow is selected with **Shift+Tab** in the TUI. Built-in workflows are
66
+ `default`, `simplify`, and `crosscheck`. Custom flows remain available as
67
+ deprecated compatibility behavior.
68
+
69
+ ### Managed poly-spec mode
70
+
71
+ The built-in `default` workflow has an optional **Manage Spec with poly-weaver**
72
+ toggle. On a fresh run it defaults on when the working directory contains
73
+ `.poly-spec/`, and defaults off otherwise. When enabled, the interviewer owns a
74
+ repository-managed **Iteration Spec** under `.poly-spec/iterations/pending/`
75
+ plus a session-local **Iteration Rationale**. The Iteration Spec is the
76
+ authoritative requirements source for planning, review, and implementation; the
77
+ Iteration Rationale is supporting context.
78
+
79
+ Plan Only sessions stop after the accepted plan and are terminal. In managed
80
+ mode they leave the Iteration Spec pending; later work may continue it, but must
81
+ start a new workflow and approve a new plan.
82
+
83
+ Managed sessions resume only interrupted active work. Resume re-reads the
84
+ current worktree Iteration Spec path recorded in the session manifest, so
85
+ repository edits to `.poly-spec/iterations/pending/*.md` remain authoritative.
86
+ At terminal completion of a non-Plan-Only managed run, the Iteration Spec moves
87
+ to `.poly-spec/iterations/applied/` as immutable history; applied placement does
88
+ not imply implementation-review approval.
66
89
 
67
90
  ## License
68
91
 
@@ -1,8 +1,10 @@
1
- import type { DriverName } from "../../flow/types.js";
1
+ import type { DriverName, ProviderContext } from "../../flow/types.js";
2
2
  export type CrosscheckAgent = "agent-1" | "agent-2";
3
3
  export interface ExecutorConfiguration {
4
4
  driver: DriverName;
5
5
  model?: string;
6
6
  effort?: string;
7
+ fast?: boolean;
8
+ context?: ProviderContext;
7
9
  }
8
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/executors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/executors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B"}
@@ -1,16 +1,21 @@
1
1
  import type { ImplementorDriver, ImplementResult, ImplementorPromptSet } from "./types.js";
2
+ import type { SimplifyProtectionState } from "../simplify-protection.js";
2
3
  import type { ProviderStrategy } from "../../providers/types.js";
4
+ import type { ProviderContext } from "../../flow/types.js";
3
5
  import { BaseAdapter } from "../runner.js";
4
6
  type ImplementorRunOptions = {
5
7
  resumeSessionId?: string;
6
8
  feedbackFile?: string;
7
9
  changePlan?: boolean;
8
10
  snapshotFile?: string;
11
+ managedSpecFile?: string;
12
+ explanationFile?: string;
13
+ simplifyProtection?: SimplifyProtectionState;
9
14
  };
10
15
  export declare function selectImplementorPrompt(planFile: string, opts: ImplementorRunOptions, prompts?: ImplementorPromptSet): string;
11
16
  export declare class ImplementorAdapter extends BaseAdapter implements ImplementorDriver {
12
17
  private readonly prompts?;
13
- constructor(strategy: ProviderStrategy, workdir: string, prompts?: ImplementorPromptSet | undefined, yolo?: boolean, model?: string, effort?: string, sessionFileWaitMs?: number);
18
+ constructor(strategy: ProviderStrategy, workdir: string, prompts?: ImplementorPromptSet | undefined, yolo?: boolean, model?: string, effort?: string, fast?: boolean, context?: ProviderContext, sessionFileWaitMs?: number);
14
19
  run(planFile: string, opts?: ImplementorRunOptions): Promise<ImplementResult>;
15
20
  }
16
21
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,qBAAqB,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,oBAAgD,GACxD,MAAM,CAWR;AAED,qBAAa,kBAAmB,SAAQ,WAAY,YAAW,iBAAiB;IAI5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,CAAC,EAAE,oBAAoB,YAAA,EAC/C,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,GAAE,qBAA0B,GAC/B,OAAO,CAAC,eAAe,CAAC;CAwB5B"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,KAAK,qBAAqB,GAAG;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;CAC9C,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE,oBAAgD,GACxD,MAAM,CAoCR;AAED,qBAAa,kBAAmB,SAAQ,WAAY,YAAW,iBAAiB;IAI5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAFzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,CAAC,EAAE,oBAAoB,YAAA,EAC/C,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,eAAe,EACzB,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,qBAA0B,GAC/B,OAAO,CAAC,eAAe,CAAC;CAwB5B"}
@@ -2,20 +2,20 @@ import { BaseAdapter } from "../runner.js";
2
2
  import { defaultImplementorPrompts } from "./prompts.js";
3
3
  export function selectImplementorPrompt(planFile, opts, prompts = defaultImplementorPrompts) {
4
4
  if (opts.changePlan) {
5
- return prompts.changePlan(planFile, opts.snapshotFile);
5
+ return prompts.changePlan(planFile, opts.snapshotFile, opts.managedSpecFile, opts.explanationFile, opts.simplifyProtection);
6
6
  }
7
7
  if (opts.feedbackFile) {
8
8
  if (opts.resumeSessionId) {
9
- return prompts.resumeRevision(opts.feedbackFile, opts.snapshotFile);
9
+ return prompts.resumeRevision(opts.feedbackFile, opts.snapshotFile, opts.managedSpecFile, opts.explanationFile, opts.simplifyProtection);
10
10
  }
11
- return prompts.revision(planFile, opts.feedbackFile, opts.snapshotFile);
11
+ return prompts.revision(planFile, opts.feedbackFile, opts.snapshotFile, opts.managedSpecFile, opts.explanationFile, opts.simplifyProtection);
12
12
  }
13
- return prompts.initial(planFile, opts.snapshotFile);
13
+ return prompts.initial(planFile, opts.snapshotFile, opts.managedSpecFile, opts.explanationFile, opts.simplifyProtection);
14
14
  }
15
15
  export class ImplementorAdapter extends BaseAdapter {
16
16
  prompts;
17
- constructor(strategy, workdir, prompts, yolo, model, effort, sessionFileWaitMs) {
18
- super(strategy, workdir, yolo, model, effort, sessionFileWaitMs);
17
+ constructor(strategy, workdir, prompts, yolo, model, effort, fast, context, sessionFileWaitMs) {
18
+ super(strategy, workdir, yolo, model, effort, fast, context, sessionFileWaitMs);
19
19
  this.prompts = prompts;
20
20
  }
21
21
  async run(planFile, opts = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AASzD,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,IAA2B,EAC3B,UAAgC,yBAAyB;IAEzD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAI9B;IAHnB,YACE,QAA0B,EAC1B,OAAe,EACE,OAA8B,EAC/C,IAAc,EACd,KAAc,EACd,MAAe,EACf,iBAA0B;QAE1B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QANhD,YAAO,GAAP,OAAO,CAAuB;IAOjD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,OAA8B,EAAE;QAEhC,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe;YAC9C,CAAC,CAAC,uBAAuB,CACrB,QAAQ,EACR,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,EACvC,IAAI,CAAC,OAAO,CACb;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;YACjC,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB;SACpB,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,YAAY;YAC5B,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/implementors/adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAYzD,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,IAA2B,EAC3B,UAAgC,yBAAyB;IAEzD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,UAAU,CACvB,QAAQ,EACR,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,cAAc,CAC3B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,CACxB,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CACrB,QAAQ,EACR,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CACpB,QAAQ,EACR,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,CACxB,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAI9B;IAHnB,YACE,QAA0B,EAC1B,OAAe,EACE,OAA8B,EAC/C,IAAc,EACd,KAAc,EACd,MAAe,EACf,IAAc,EACd,OAAyB,EACzB,iBAA0B;QAE1B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAR/D,YAAO,GAAP,OAAO,CAAuB;IASjD,CAAC;IAED,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,OAA8B,EAAE;QAEhC,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe;YAC9C,CAAC,CAAC,uBAAuB,CACrB,QAAQ,EACR,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,EACvC,IAAI,CAAC,OAAO,CACb;YACH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;YACjC,MAAM;YACN,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB;SACpB,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,YAAY;YAC5B,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC;CACF"}
@@ -5,6 +5,8 @@ export declare function implement(opts: {
5
5
  reads: Record<string, string>;
6
6
  writes?: Record<string, string>;
7
7
  id?: string;
8
+ managedSpec?: boolean;
9
+ simplifyProtection?: boolean;
8
10
  feedbackToTask?: boolean;
9
11
  phaseLabel?: PhaseLabelSpec;
10
12
  }): AgentStep;
@@ -1 +1 @@
1
- {"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAMZ"}
1
+ {"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAMZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/implementors/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,mBAAmB,CAAC;AAGnE,MAAM,UAAU,SAAS,CAAC,IAOzB;IACC,OAAO,SAAS,CAAC,aAAa,EAAE;QAC9B,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,oBAAoB;KACjC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/implementors/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAuB,MAAM,mBAAmB,CAAC;AAGnE,MAAM,UAAU,SAAS,CAAC,IASzB;IACC,OAAO,SAAS,CAAC,aAAa,EAAE;QAC9B,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,oBAAoB;KACjC,EAAE,IAAI,CAAC,CAAC;AACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAc7B,qBAAa,sBAAuB,YAAW,WAAW;IAI5C,OAAO,CAAC,MAAM;IAH1B,2EAA2E;IAC3E,OAAO,CAAC,cAAc,CAA+C;gBAEjD,MAAM,EAAE,iBAAiB;IAEvC,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;CAsFvB"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAe7B,qBAAa,sBAAuB,YAAW,WAAW;IAI5C,OAAO,CAAC,MAAM;IAH1B,2EAA2E;IAC3E,OAAO,CAAC,cAAc,CAA+C;gBAEjD,MAAM,EAAE,iBAAiB;IAEvC,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;CA+FvB"}
@@ -1,4 +1,5 @@
1
1
  import { bindAttemptFailureReporter, bindDriverRuntime, bindPtyBufferReporter, bindSessionReporter, flushDriverSidecar, } from "../runner.js";
2
+ import { resolveSimplifyProtectionState } from "../simplify-protection.js";
2
3
  import { bindStepLiveSidecar, cleanupStepLiveSidecar, resolveResumeSessionId, } from "../session-resume.js";
3
4
  export class ImplementorRoleHandler {
4
5
  driver;
@@ -26,6 +27,12 @@ export class ImplementorRoleHandler {
26
27
  const snapshotFile = step.reads.snapshot
27
28
  ? ctx.artifacts.getFile(step.reads.snapshot)
28
29
  : undefined;
30
+ const managedSpecFile = step.managedSpec && step.reads.spec
31
+ ? ctx.artifacts.getFile(step.reads.spec)
32
+ : undefined;
33
+ const explanationFile = step.managedSpec && step.reads.explanation
34
+ ? ctx.artifacts.getFile(step.reads.explanation)
35
+ : undefined;
29
36
  if (revisePlanFile) {
30
37
  // Pure plan follower: fresh session avoids prior-mode context contaminating the resume.
31
38
  planFile = revisePlanFile;
@@ -58,6 +65,9 @@ export class ImplementorRoleHandler {
58
65
  feedbackFile: feedbackFile ?? undefined,
59
66
  changePlan: revisePlanFile ? true : undefined,
60
67
  snapshotFile,
68
+ managedSpecFile,
69
+ explanationFile,
70
+ simplifyProtection: await resolveSimplifyProtectionState(step, ctx),
61
71
  });
62
72
  });
63
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/agents/implementors/handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,iBAAiB,CAAC;AAkBxG,eAAO,MAAM,gBAAgB,EAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAC/G,eAAO,MAAQ,eAAe,uDAAE,gBAAgB,gBAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,iBAAiB,CAAC;AAoBxG,eAAO,MAAM,gBAAgB,EAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAC/G,eAAO,MAAQ,eAAe,uDAAE,gBAAgB,gBAAQ,CAAC"}
@@ -7,7 +7,7 @@ export { ImplementorRoleHandler } from "./handler.js";
7
7
  const mod = createRoleModule({
8
8
  roleName: "implementor",
9
9
  fromFactory: (factory, workdir) => factory(workdir, defaultImplementorPrompts),
10
- fromProvider: (strategy, workdir, opts) => new ImplementorAdapter(strategy, workdir, defaultImplementorPrompts, opts?.yolo, opts?.model, opts?.effort, opts?.sessionFileWaitMs),
10
+ fromProvider: (strategy, workdir, opts) => new ImplementorAdapter(strategy, workdir, defaultImplementorPrompts, opts?.yolo, opts?.model, opts?.effort, opts?.fast, opts?.context, opts?.sessionFileWaitMs),
11
11
  toHandler: (driver) => new ImplementorRoleHandler(driver),
12
12
  });
13
13
  export const registerProvider = mod.registerProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/implementors/index.ts"],"names":[],"mappings":"AAGA,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;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAKtD,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,gBAA0E,CAAC;AAC/G,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/implementors/index.ts"],"names":[],"mappings":"AAGA,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;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAKtD,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,IAAI,EACV,IAAI,EAAE,OAAO,EACb,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,gBAA0E,CAAC;AAC/G,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { ImplementorPromptSet } from "./types.js";
2
- export declare function buildImplementorPrompt(planFile: string, snapshotFile?: string): string;
3
- export declare function buildImplementorRevisionPrompt(planFile: string, feedbackFile: string, snapshotFile?: string): string;
4
- export declare function buildImplementorResumeRevisionPrompt(feedbackFile: string, _snapshotFile?: string): string;
5
- export declare function buildImplementorChangePlanPrompt(planFile: string, snapshotFile?: string): string;
2
+ import type { SimplifyProtectionState } from "../simplify-protection.js";
3
+ export declare function buildImplementorPrompt(planFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState): string;
4
+ export declare function buildImplementorRevisionPrompt(planFile: string, feedbackFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState): string;
5
+ export declare function buildImplementorResumeRevisionPrompt(feedbackFile: string, _snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState): string;
6
+ export declare function buildImplementorChangePlanPrompt(planFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState): string;
6
7
  export declare const defaultImplementorPrompts: ImplementorPromptSet;
7
8
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAYvD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAUtF;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAWR;AAED,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CASR;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAUR;AAID,eAAO,MAAM,yBAAyB,EAAE,oBAKvC,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AA+DzE,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,GAC3C,MAAM,CAeR;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,GAC3C,MAAM,CAsBR;AAED,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,GAC3C,MAAM,CAaR;AAED,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,GAC3C,MAAM,CAmBR;AAID,eAAO,MAAM,yBAAyB,EAAE,oBAKvC,CAAC"}
@@ -4,36 +4,73 @@ const SNAPSHOT_GUIDANCE = "Preserve those pre-existing changes unless the approv
4
4
  function appendSnapshotContext(lines, snapshotFile) {
5
5
  appendPreSessionSnapshotReference(lines, snapshotFile, SNAPSHOT_GUIDANCE);
6
6
  }
7
- export function buildImplementorPrompt(planFile, snapshotFile) {
7
+ function appendManagedSpecContext(lines, managedSpecFile, explanationFile) {
8
+ if (!managedSpecFile)
9
+ return;
10
+ lines.push(`Read the managed Iteration Spec: ${managedSpecFile}`, ...(explanationFile ? [`Read the supporting Iteration Rationale: ${explanationFile}`] : []));
11
+ }
12
+ function appendManagedSpecObligation(lines, managedSpecFile) {
13
+ if (!managedSpecFile)
14
+ return;
15
+ lines.push("", "## Repository specification", "", "The approved plan includes implementation and repository-specification work under .poly-spec/. Complete both.", "", "## Execution requirements", "", "- Follow the approved plan, including its Iteration Spec and repository-specification application.", "- Make the planned changes in the working directory.", "- Preserve pre-existing work unless the approved plan requires modifying it.");
16
+ }
17
+ function appendSimplifyProtection(lines, simplifyProtection) {
18
+ if (!simplifyProtection)
19
+ return;
20
+ lines.push("", "## Simplify protection", "", "- Implement only changes that preserve all observable behavior.", "- Behavior changes, including changes characterized as improvements, are outside simplify scope.", "- If an approved-plan item would change observable behavior, do not implement it; surface the conflict instead.");
21
+ if (simplifyProtection.repositorySpecDetected) {
22
+ lines.push("- `.poly-spec/` exists in the selected working directory and contains repository specifications.", "- Treat current `.poly-spec` specifications as authoritative for behavior.", "- Do not edit any file under `.poly-spec/`.", "- If an approved-plan item would edit `.poly-spec/` or conflict with current repository specifications, do not implement it; surface the conflict instead.");
23
+ }
24
+ }
25
+ export function buildImplementorPrompt(planFile, snapshotFile, managedSpecFile, explanationFile, simplifyProtection) {
8
26
  const lines = [
9
27
  `Read the approved implementation plan: ${planFile}`,
10
28
  ];
29
+ appendManagedSpecContext(lines, managedSpecFile, explanationFile);
11
30
  appendSnapshotContext(lines, snapshotFile);
12
- lines.push("", "Implement the plan by making code changes in the working directory.");
31
+ lines.push("", managedSpecFile
32
+ ? "Implement the plan by making changes in the working directory."
33
+ : "Implement the plan by making code changes in the working directory.");
34
+ appendSimplifyProtection(lines, simplifyProtection);
35
+ appendManagedSpecObligation(lines, managedSpecFile);
13
36
  return lines.join("\n");
14
37
  }
15
- export function buildImplementorRevisionPrompt(planFile, feedbackFile, snapshotFile) {
38
+ export function buildImplementorRevisionPrompt(planFile, feedbackFile, snapshotFile, managedSpecFile, explanationFile, simplifyProtection) {
16
39
  const lines = [
17
40
  `Read the approved implementation plan: ${planFile}`,
18
- `Read the review feedback: ${feedbackFile}`,
19
41
  ];
42
+ appendManagedSpecContext(lines, managedSpecFile, explanationFile);
43
+ lines.push(`Read the review feedback: ${feedbackFile}`);
20
44
  appendSnapshotContext(lines, snapshotFile);
21
45
  lines.push("", "Revise your implementation to address the feedback.");
46
+ appendSimplifyProtection(lines, simplifyProtection);
47
+ if (managedSpecFile) {
48
+ lines.push("", "The approved plan and feedback cover both implementation and repository-specification work under .poly-spec/. Complete both.", "Preserve pre-existing work unless the approved plan requires modifying it.");
49
+ }
22
50
  return lines.join("\n");
23
51
  }
24
- export function buildImplementorResumeRevisionPrompt(feedbackFile, _snapshotFile) {
52
+ export function buildImplementorResumeRevisionPrompt(feedbackFile, _snapshotFile, managedSpecFile, explanationFile, simplifyProtection) {
25
53
  const lines = [
26
54
  `Read the new review feedback: ${feedbackFile}`,
27
55
  ];
28
- lines.push("", "Revise your implementation accordingly.");
56
+ appendManagedSpecContext(lines, managedSpecFile, explanationFile);
57
+ lines.push("", managedSpecFile
58
+ ? "Revise your implementation accordingly. Re-check and complete both the implementation and repository-specification application required by the approved plan."
59
+ : "Revise your implementation accordingly.");
60
+ appendSimplifyProtection(lines, simplifyProtection);
29
61
  return lines.join("\n");
30
62
  }
31
- export function buildImplementorChangePlanPrompt(planFile, snapshotFile) {
63
+ export function buildImplementorChangePlanPrompt(planFile, snapshotFile, managedSpecFile, explanationFile, simplifyProtection) {
32
64
  const lines = [
33
65
  `Read the change plan: ${planFile}`,
34
66
  ];
67
+ appendManagedSpecContext(lines, managedSpecFile, explanationFile);
35
68
  appendSnapshotContext(lines, snapshotFile);
36
69
  lines.push("", "Apply the changes to the working directory.");
70
+ appendSimplifyProtection(lines, simplifyProtection);
71
+ if (managedSpecFile) {
72
+ lines.push("", "The change plan covers both implementation and repository-specification work under .poly-spec/. Complete both.", "Preserve pre-existing work unless the approved plan requires modifying it.");
73
+ }
37
74
  return lines.join("\n");
38
75
  }
39
76
  // ─── Prompt set exports ──────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEvE,4BAA4B;AAE5B,MAAM,iBAAiB,GACrB,uFAAuF,CAAC;AAE1F,SAAS,qBAAqB,CAAC,KAAe,EAAE,YAAqB;IACnE,iCAAiC,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAE,YAAqB;IAC5E,MAAM,KAAK,GAAG;QACZ,0CAA0C,QAAQ,EAAE;KACrD,CAAC;IACF,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CACR,EAAE,EACF,qEAAqE,CACtE,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,QAAgB,EAChB,YAAoB,EACpB,YAAqB;IAErB,MAAM,KAAK,GAAG;QACZ,0CAA0C,QAAQ,EAAE;QACpD,6BAA6B,YAAY,EAAE;KAC5C,CAAC;IACF,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CACR,EAAE,EACF,qDAAqD,CACtD,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,YAAoB,EACpB,aAAsB;IAEtB,MAAM,KAAK,GAAG;QACZ,iCAAiC,YAAY,EAAE;KAChD,CAAC;IACF,KAAK,CAAC,IAAI,CACR,EAAE,EACF,yCAAyC,CAC1C,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,QAAgB,EAChB,YAAqB;IAErB,MAAM,KAAK,GAAG;QACZ,yBAAyB,QAAQ,EAAE;KACpC,CAAC;IACF,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CACR,EAAE,EACF,6CAA6C,CAC9C,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,4EAA4E;AAE5E,MAAM,CAAC,MAAM,yBAAyB,GAAyB;IAC7D,OAAO,EAAE,sBAAsB;IAC/B,QAAQ,EAAE,8BAA8B;IACxC,cAAc,EAAE,oCAAoC;IACpD,UAAU,EAAE,gCAAgC;CAC7C,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/agents/implementors/prompts.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
+ import type { SimplifyProtectionState } from "../simplify-protection.js";
1
2
  export type ImplementorPromptSet = {
2
- initial: (planFile: string, snapshotFile?: string) => string;
3
- revision: (planFile: string, feedbackFile: string, snapshotFile?: string) => string;
4
- resumeRevision: (feedbackFile: string, snapshotFile?: string) => string;
5
- changePlan: (planFile: string, snapshotFile?: string) => string;
3
+ initial: (planFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState) => string;
4
+ revision: (planFile: string, feedbackFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState) => string;
5
+ resumeRevision: (feedbackFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState) => string;
6
+ changePlan: (planFile: string, snapshotFile?: string, managedSpecFile?: string, explanationFile?: string, simplifyProtection?: SimplifyProtectionState) => string;
6
7
  };
7
8
  export interface ImplementorDriver {
8
9
  readonly name: string;
@@ -12,6 +13,9 @@ export interface ImplementorDriver {
12
13
  feedbackFile?: string;
13
14
  changePlan?: boolean;
14
15
  snapshotFile?: string;
16
+ managedSpecFile?: string;
17
+ explanationFile?: string;
18
+ simplifyProtection?: SimplifyProtectionState;
15
19
  }): Promise<ImplementResult>;
16
20
  /** Get the session ID for resume/correlation. */
17
21
  getSessionId(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7D,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpF,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACxE,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACjE,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4FAA4F;IAC5F,GAAG,CACD,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;QACL,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACA,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,iDAAiD;IACjD,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agents/implementors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,CACP,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,KACzC,MAAM,CAAC;IACZ,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,KACzC,MAAM,CAAC;IACZ,cAAc,EAAE,CACd,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,KACzC,MAAM,CAAC;IACZ,UAAU,EAAE,CACV,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,EACxB,eAAe,CAAC,EAAE,MAAM,EACxB,kBAAkB,CAAC,EAAE,uBAAuB,KACzC,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4FAA4F;IAC5F,GAAG,CACD,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;QACL,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,CAAC,EAAE,uBAAuB,CAAC;KAC9C,GACA,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,iDAAiD;IACjD,YAAY,IAAI,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC"}
@@ -1,11 +1,14 @@
1
1
  import type { ProviderStrategy } from "../../providers/types.js";
2
+ import type { ProviderContext } from "../../flow/types.js";
2
3
  import { BaseAdapter } from "../runner.js";
3
4
  import type { InterviewerDriver, InterviewerPromptSet, InterviewerRunOpts, InterviewResult } from "./types.js";
4
5
  export declare class InterviewerAdapter extends BaseAdapter implements InterviewerDriver {
5
6
  private readonly prompts;
6
- constructor(strategy: ProviderStrategy, workdir: string, prompts?: InterviewerPromptSet, yolo?: boolean, model?: string, effort?: string, sessionFileWaitMs?: number);
7
+ constructor(strategy: ProviderStrategy, workdir: string, prompts?: InterviewerPromptSet, yolo?: boolean, model?: string, effort?: string, fast?: boolean, context?: ProviderContext, sessionFileWaitMs?: number);
7
8
  run(opts: InterviewerRunOpts): Promise<InterviewResult>;
8
9
  private buildPrompt;
10
+ private buildManagedPrompt;
9
11
  private buildFreshFallbackPrompt;
12
+ private managedPolySpecRoot;
10
13
  }
11
14
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,kBAAmB,SAAQ,WAAY,YAAW,iBAAiB;IAI5E,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,GAAE,oBAAgD,EAC1E,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IA0B7D,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,wBAAwB;CAWjC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,iBAAiB,EAEjB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,kBAAmB,SAAQ,WAAY,YAAW,iBAAiB;IAI5E,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACE,OAAO,GAAE,oBAAgD,EAC1E,IAAI,CAAC,EAAE,OAAO,EACd,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,eAAe,EACzB,iBAAiB,CAAC,EAAE,MAAM;IAKtB,GAAG,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;IA0B7D,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,wBAAwB;IAiChC,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -1,9 +1,10 @@
1
+ import { join } from "node:path";
1
2
  import { BaseAdapter } from "../runner.js";
2
3
  import { defaultInterviewerPrompts } from "./prompts.js";
3
4
  export class InterviewerAdapter extends BaseAdapter {
4
5
  prompts;
5
- constructor(strategy, workdir, prompts = defaultInterviewerPrompts, yolo, model, effort, sessionFileWaitMs) {
6
- super(strategy, workdir, yolo, model, effort, sessionFileWaitMs);
6
+ constructor(strategy, workdir, prompts = defaultInterviewerPrompts, yolo, model, effort, fast, context, sessionFileWaitMs) {
7
+ super(strategy, workdir, yolo, model, effort, fast, context, sessionFileWaitMs);
7
8
  this.prompts = prompts;
8
9
  }
9
10
  async run(opts) {
@@ -20,7 +21,7 @@ export class InterviewerAdapter extends BaseAdapter {
20
21
  // that point this.sessionFilePath is undefined).
21
22
  sessionFilePath: opts.resumeSessionFilePath ?? this.sessionFilePath,
22
23
  freshFallbackPrompt,
23
- completionMarkerFile: opts.markerFile,
24
+ completionSignalFile: opts.markerFile,
24
25
  });
25
26
  return {
26
27
  sessionId: result.sessionId,
@@ -30,6 +31,9 @@ export class InterviewerAdapter extends BaseAdapter {
30
31
  };
31
32
  }
32
33
  buildPrompt(mode, opts) {
34
+ if (opts.managedSpec) {
35
+ return this.buildManagedPrompt(mode, opts);
36
+ }
33
37
  switch (mode) {
34
38
  case "initial":
35
39
  return this.prompts.initial(opts.taskFile, opts.specFile, opts.markerFile);
@@ -37,6 +41,8 @@ export class InterviewerAdapter extends BaseAdapter {
37
41
  return this.prompts.continueInterview(opts.specFile, opts.markerFile);
38
42
  case "retry-missing-spec":
39
43
  return this.prompts.retryMissingSpec(opts.specFile, opts.markerFile);
44
+ case "retry-managed-output":
45
+ throw new Error("InterviewerAdapter: retry-managed-output requires managedSpec");
40
46
  case "revise":
41
47
  if (!opts.feedbackFile) {
42
48
  throw new Error("InterviewerAdapter: revise mode requires feedbackFile");
@@ -46,16 +52,43 @@ export class InterviewerAdapter extends BaseAdapter {
46
52
  return this.prompts.rehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile);
47
53
  }
48
54
  }
49
- // Fresh-fallback is intentionally mode-agnostic: it branches on
50
- // `feedbackFile` only. The runner replays this prompt when the resumed
51
- // session cannot be reattached — the new fresh provider conversation has
52
- // no history of the original briefing, so it must receive a self-contained
53
- // `initial` or `rehydrate` regardless of which mode the handler chose.
55
+ buildManagedPrompt(mode, opts) {
56
+ const polySpecRoot = this.managedPolySpecRoot();
57
+ switch (mode) {
58
+ case "initial":
59
+ return this.prompts.managedInitial(opts.taskFile, opts.specFile, opts.markerFile, polySpecRoot, opts.currentIterationFile);
60
+ case "continue":
61
+ return this.prompts.managedContinue(opts.specFile, opts.markerFile, polySpecRoot, opts.currentIterationFile);
62
+ case "retry-missing-spec":
63
+ case "retry-managed-output":
64
+ return this.prompts.managedRetryInvalidOutput(opts.specFile, opts.markerFile, opts.validationError ?? "managed output was invalid", polySpecRoot, opts.currentIterationFile);
65
+ case "revise":
66
+ if (!opts.feedbackFile) {
67
+ throw new Error("InterviewerAdapter: revise mode requires feedbackFile");
68
+ }
69
+ return this.prompts.managedRevise(opts.feedbackFile, opts.specFile, opts.markerFile, polySpecRoot, opts.currentIterationFile);
70
+ case "rehydrate":
71
+ return this.prompts.managedRehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile, polySpecRoot, opts.currentIterationFile);
72
+ }
73
+ }
74
+ // Fresh-fallback is intentionally self-contained. The runner replays this
75
+ // prompt when the resumed session cannot be reattached; managed mode uses a
76
+ // before/after-notification split so unnotified drafts are never adopted.
54
77
  buildFreshFallbackPrompt(opts) {
78
+ if (opts.managedSpec) {
79
+ const polySpecRoot = this.managedPolySpecRoot();
80
+ if (opts.feedbackFile || opts.currentIterationFile) {
81
+ return this.prompts.managedRehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile, polySpecRoot, opts.currentIterationFile);
82
+ }
83
+ return this.prompts.managedInitial(opts.taskFile, opts.specFile, opts.markerFile, polySpecRoot, opts.currentIterationFile, true);
84
+ }
55
85
  if (opts.feedbackFile) {
56
86
  return this.prompts.rehydrate(opts.taskFile, opts.specFile, opts.markerFile, opts.feedbackFile);
57
87
  }
58
88
  return this.prompts.initial(opts.taskFile, opts.specFile, opts.markerFile);
59
89
  }
90
+ managedPolySpecRoot() {
91
+ return join(this.workdir, ".poly-spec");
92
+ }
60
93
  }
61
94
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/interviewers/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/agents/interviewers/adapter.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare function interviewer(opts: {
5
5
  reads: Record<string, string>;
6
6
  writes: Record<string, string>;
7
7
  id?: string;
8
+ managedSpec?: boolean;
8
9
  sessionShareKey?: string;
9
10
  when?: WhenCondition;
10
11
  whenLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/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,WAAW,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAeZ"}
1
+ {"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/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,WAAW,CAAC,IAAI,EAAE;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,GAAG,SAAS,CAeZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/interviewers/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2C,MAAM,mBAAmB,CAAC;AAGvF,MAAM,UAAU,WAAW,CAAC,IAS3B;IACC,OAAO,SAAS,CACd,aAAa,EACb;QACE,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,oBAAoB;KACjC,EACD;QACE,GAAG,IAAI;QACP,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,aAAa;QACtD,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;KAChC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dsl.js","sourceRoot":"","sources":["../../../src/agents/interviewers/dsl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2C,MAAM,mBAAmB,CAAC;AAGvF,MAAM,UAAU,WAAW,CAAC,IAU3B;IACC,OAAO,SAAS,CACd,aAAa,EACb;QACE,cAAc,EAAE,KAAK;QACrB,QAAQ,EAAE,WAAW;QACrB,UAAU,EAAE,oBAAoB;KACjC,EACD;QACE,GAAG,IAAI;QACP,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,aAAa;QACtD,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;KAChC,CACF,CAAC;AACJ,CAAC"}
@@ -6,7 +6,8 @@ export declare class InterviewerValidationError extends Error {
6
6
  }
7
7
  export declare class InterviewerRoleHandler implements RoleHandler {
8
8
  private driver;
9
- constructor(driver: InterviewerDriver);
9
+ private readonly workdir;
10
+ constructor(driver: InterviewerDriver, workdir?: string);
10
11
  execute(step: BaseStep, ctx: StepContext, retry: RetryFn): Promise<StepSignal>;
11
12
  /**
12
13
  * If a prior interviewer session exists (sidecar > snapshot) and its
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,WAAW,EACX,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAUD,qBAAa,sBAAuB,YAAW,WAAW;IAC5C,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEvC,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;IAwHtB;;;;;;OAMG;YACW,qBAAqB;IAuDnC,OAAO,CAAC,oCAAoC;CAsB7C"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../src/agents/interviewers/handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,QAAQ,EACR,OAAO,EACP,WAAW,EACX,WAAW,EACX,UAAU,EACX,MAAM,qBAAqB,CAAC;AAK7B,OAAO,KAAK,EACV,iBAAiB,EAGlB,MAAM,YAAY,CAAC;AAEpB,0EAA0E;AAC1E,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAyBD,qBAAa,sBAAuB,YAAW,WAAW;IAEtD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADhB,MAAM,EAAE,iBAAiB,EAChB,OAAO,GAAE,MAAsB;IAG5C,OAAO,CACX,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,UAAU,CAAC;IAiNtB;;;;;;OAMG;YACW,qBAAqB;IAuDnC,OAAO,CAAC,oCAAoC;CAsB7C"}