forge-cc 0.1.9 → 0.1.11

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 (59) hide show
  1. package/README.md +253 -178
  2. package/dist/cli.js +109 -8
  3. package/dist/cli.js.map +1 -1
  4. package/dist/gates/codex-gate.d.ts +51 -0
  5. package/dist/gates/codex-gate.js +121 -0
  6. package/dist/gates/codex-gate.js.map +1 -0
  7. package/dist/go/auto-chain.d.ts +13 -23
  8. package/dist/go/auto-chain.js +29 -101
  9. package/dist/go/auto-chain.js.map +1 -1
  10. package/dist/go/executor.d.ts +5 -0
  11. package/dist/go/executor.js +43 -5
  12. package/dist/go/executor.js.map +1 -1
  13. package/dist/go/finalize.d.ts +50 -1
  14. package/dist/go/finalize.js +122 -0
  15. package/dist/go/finalize.js.map +1 -1
  16. package/dist/go/prd-queue.d.ts +43 -0
  17. package/dist/go/prd-queue.js +67 -0
  18. package/dist/go/prd-queue.js.map +1 -0
  19. package/dist/go/prd-selector.d.ts +57 -0
  20. package/dist/go/prd-selector.js +101 -0
  21. package/dist/go/prd-selector.js.map +1 -0
  22. package/dist/go/verify-loop.d.ts +18 -1
  23. package/dist/go/verify-loop.js +119 -2
  24. package/dist/go/verify-loop.js.map +1 -1
  25. package/dist/spec/templates.d.ts +2 -2
  26. package/dist/state/prd-status.d.ts +59 -0
  27. package/dist/state/prd-status.js +121 -0
  28. package/dist/state/prd-status.js.map +1 -0
  29. package/dist/state/reader.d.ts +2 -24
  30. package/dist/state/reader.js +4 -77
  31. package/dist/state/reader.js.map +1 -1
  32. package/dist/state/writer.d.ts +2 -41
  33. package/dist/state/writer.js +14 -130
  34. package/dist/state/writer.js.map +1 -1
  35. package/dist/team/consensus.d.ts +28 -0
  36. package/dist/team/consensus.js +130 -0
  37. package/dist/team/consensus.js.map +1 -0
  38. package/dist/team/index.d.ts +4 -0
  39. package/dist/team/index.js +5 -0
  40. package/dist/team/index.js.map +1 -0
  41. package/dist/team/lifecycle.d.ts +37 -0
  42. package/dist/team/lifecycle.js +92 -0
  43. package/dist/team/lifecycle.js.map +1 -0
  44. package/dist/team/reviewer.d.ts +10 -0
  45. package/dist/team/reviewer.js +345 -0
  46. package/dist/team/reviewer.js.map +1 -0
  47. package/dist/team/types.d.ts +269 -0
  48. package/dist/team/types.js +70 -0
  49. package/dist/team/types.js.map +1 -0
  50. package/dist/types.d.ts +1 -0
  51. package/dist/utils/browser.d.ts +1 -1
  52. package/dist/utils/browser.js +8 -1
  53. package/dist/utils/browser.js.map +1 -1
  54. package/dist/worktree/session.d.ts +3 -0
  55. package/dist/worktree/session.js +1 -0
  56. package/dist/worktree/session.js.map +1 -1
  57. package/package.json +2 -1
  58. package/skills/forge-go.md +176 -62
  59. package/skills/forge-spec.md +30 -5
@@ -2,8 +2,8 @@
2
2
  * Auto-Chain — Multi-Milestone Execution Orchestrator
3
3
  *
4
4
  * After a milestone completes, spawns a fresh agent with clean context for the
5
- * next milestone. Fresh agent reads CLAUDE.md + STATE.md + next milestone section
6
- * only. Loops until all milestones done or a failure stops the chain.
5
+ * next milestone. Fresh agent reads CLAUDE.md + next milestone section only.
6
+ * Loops until all milestones done or a failure stops the chain.
7
7
  *
8
8
  * This module is the data/logic layer. It does NOT spawn agents — that is
9
9
  * the skill file's job (via Claude Code's Task tool). Auto-chain prepares
@@ -12,8 +12,9 @@
12
12
  import { readFile } from "node:fs/promises";
13
13
  import { execSync } from "node:child_process";
14
14
  import { join } from "node:path";
15
- import { readStateFile, readRoadmapProgress, readCurrentMilestone, } from "../state/reader.js";
16
- import { isLastMilestone, updateMilestoneProgress, commitMilestoneWork, } from "../state/writer.js";
15
+ import { readCurrentMilestone } from "../state/reader.js";
16
+ import { findNextPendingMilestone, countPendingMilestones, updateMilestoneStatus, } from "../state/prd-status.js";
17
+ import { isLastMilestone, commitMilestoneWork, } from "../state/writer.js";
17
18
  import { buildMilestoneContext } from "./executor.js";
18
19
  import { createWorktree, removeWorktree, getRepoRoot, } from "../worktree/manager.js";
19
20
  import { registerSession, deregisterSession, updateSessionStatus, } from "../worktree/session.js";
@@ -54,14 +55,13 @@ function extractQuickContext(claudeMd) {
54
55
  /**
55
56
  * Build the fresh-context prompt for a milestone agent (Ralph Loop pattern).
56
57
  *
57
- * Reads CLAUDE.md (abbreviated to Quick Context), STATE.md content, and the
58
- * current milestone section from the PRD. The total is kept as small as
59
- * possible (~200-300 lines) while giving the agent enough context to work.
58
+ * Reads CLAUDE.md (abbreviated to Quick Context) and the current milestone
59
+ * section from the PRD. The total is kept as small as possible (~200-300
60
+ * lines) while giving the agent enough context to work.
60
61
  */
61
62
  export async function buildFreshSessionPrompt(projectDir, prdPath, milestoneNumber) {
62
- const [claudeMd, stateInfo, milestoneSection] = await Promise.all([
63
+ const [claudeMd, milestoneSection] = await Promise.all([
63
64
  safeRead(join(projectDir, "CLAUDE.md")),
64
- readStateFile(projectDir),
65
65
  readCurrentMilestone(prdPath, milestoneNumber),
66
66
  ]);
67
67
  const lines = [];
@@ -73,14 +73,7 @@ export async function buildFreshSessionPrompt(projectDir, prdPath, milestoneNumb
73
73
  lines.push(quickContext);
74
74
  lines.push("");
75
75
  }
76
- // 2. STATE.md current position
77
- if (stateInfo) {
78
- lines.push("# Current State");
79
- lines.push("");
80
- lines.push(stateInfo.raw.trim());
81
- lines.push("");
82
- }
83
- // 3. Current milestone section from PRD
76
+ // 2. Current milestone section from PRD
84
77
  if (milestoneSection) {
85
78
  lines.push("# Current Milestone");
86
79
  lines.push("");
@@ -93,58 +86,20 @@ export async function buildFreshSessionPrompt(projectDir, prdPath, milestoneNumb
93
86
  lines.push(`Milestone ${milestoneNumber} section not found in PRD at ${prdPath}.`);
94
87
  lines.push("");
95
88
  }
96
- // 4. Session instructions (minimal)
89
+ // 3. Session instructions (minimal)
97
90
  lines.push("# Session Instructions");
98
91
  lines.push("");
99
92
  lines.push("You are executing the milestone described above. Follow the PRD precisely.");
100
93
  lines.push("- Run `npx tsc --noEmit` after all changes to verify types.");
101
94
  lines.push("- Stage only files you create/modify (never `git add .`).");
102
95
  lines.push("- Do not commit — the orchestrator handles commits.");
103
- lines.push("- On completion, update `.planning/STATE.md` and `.planning/ROADMAP.md`.");
96
+ lines.push("- On completion, the orchestrator will update the status JSON automatically.");
104
97
  lines.push("");
105
98
  return lines.join("\n");
106
99
  }
107
- // ---------------------------------------------------------------------------
108
- // findNextPendingMilestone
109
- // ---------------------------------------------------------------------------
110
- /**
111
- * Find the next pending milestone number from the roadmap.
112
- *
113
- * Scans ROADMAP.md for milestones whose status does NOT start with "Complete".
114
- * Returns the lowest-numbered pending milestone, or null if all are done.
115
- */
116
- export async function findNextPendingMilestone(projectDir) {
117
- const roadmap = await readRoadmapProgress(projectDir);
118
- if (!roadmap || roadmap.milestones.length === 0) {
119
- return null;
120
- }
121
- // Sort by number ascending to get the lowest pending one
122
- const sorted = [...roadmap.milestones].sort((a, b) => a.number - b.number);
123
- for (const milestone of sorted) {
124
- const statusLower = milestone.status.toLowerCase();
125
- if (!statusLower.startsWith("complete") &&
126
- !statusLower.startsWith("done")) {
127
- return milestone;
128
- }
129
- }
130
- return null; // All milestones are complete
131
- }
132
- // ---------------------------------------------------------------------------
133
- // countPendingMilestones
134
- // ---------------------------------------------------------------------------
135
- /**
136
- * Count the number of pending (not complete/done) milestones in the roadmap.
137
- *
138
- * Used by `npx forge run` to determine if there are milestones to execute
139
- * and to detect stalls (pending count should decrease each iteration).
140
- */
141
- export async function countPendingMilestones(projectDir) {
142
- const roadmap = await readRoadmapProgress(projectDir);
143
- if (!roadmap)
144
- return 0;
145
- return roadmap.milestones.filter((m) => !m.status.toLowerCase().startsWith("complete") &&
146
- !m.status.toLowerCase().startsWith("done")).length;
147
- }
100
+ // Re-export findNextPendingMilestone and countPendingMilestones from prd-status
101
+ // so that existing consumers (cli.ts, tests) can continue importing from auto-chain.
102
+ export { findNextPendingMilestone, countPendingMilestones };
148
103
  // ---------------------------------------------------------------------------
149
104
  // runAutoChain
150
105
  // ---------------------------------------------------------------------------
@@ -152,7 +107,7 @@ export async function countPendingMilestones(projectDir) {
152
107
  * Auto-chain orchestrator: manages multi-milestone execution with context resets.
153
108
  *
154
109
  * For each pending milestone:
155
- * 1. Determines the starting milestone (from options or STATE.md/ROADMAP.md)
110
+ * 1. Determines the starting milestone (from options or per-PRD status)
156
111
  * 2. Creates a git worktree for isolated execution
157
112
  * 3. Registers a session in the session registry
158
113
  * 4. Builds a fresh-context prompt for the milestone agent
@@ -169,7 +124,7 @@ export async function countPendingMilestones(projectDir) {
169
124
  * orchestration loop and context management.
170
125
  */
171
126
  export async function runAutoChain(options) {
172
- const { projectDir, prdPath, config, branch, project, activePrd, developer, onMilestoneStart, onMilestoneComplete, onChainComplete, } = options;
127
+ const { projectDir, prdPath, config, branch, project, prdSlug, activePrd, developer, onMilestoneStart, onMilestoneComplete, onChainComplete, } = options;
173
128
  const completed = [];
174
129
  // Determine starting milestone
175
130
  let currentMilestoneNumber;
@@ -177,8 +132,8 @@ export async function runAutoChain(options) {
177
132
  currentMilestoneNumber = options.startMilestone;
178
133
  }
179
134
  else {
180
- // Auto-detect from STATE.md and ROADMAP.md
181
- const nextPending = await findNextPendingMilestone(projectDir);
135
+ // Auto-detect from per-PRD status
136
+ const nextPending = await findNextPendingMilestone(projectDir, prdSlug);
182
137
  if (!nextPending) {
183
138
  // All milestones are already complete
184
139
  const result = {
@@ -203,6 +158,7 @@ export async function runAutoChain(options) {
203
158
  user,
204
159
  skill: "go",
205
160
  milestone: `M${currentMilestoneNumber}`,
161
+ prdSlug,
206
162
  branch: worktreeBranch,
207
163
  worktreePath,
208
164
  });
@@ -227,6 +183,7 @@ export async function runAutoChain(options) {
227
183
  prdPath,
228
184
  milestoneNumber: currentMilestoneNumber,
229
185
  config,
186
+ prdSlug,
230
187
  });
231
188
  // Attach worktree path to context
232
189
  context.worktreePath = worktreePath;
@@ -263,7 +220,7 @@ export async function runAutoChain(options) {
263
220
  milestoneNumber: currentMilestoneNumber,
264
221
  milestoneName: context.milestoneName,
265
222
  success: true, // Optimistic; caller updates via completeMilestone
266
- isLast: await isLastMilestone(effectiveProjectDir, currentMilestoneNumber),
223
+ isLast: await isLastMilestone(effectiveProjectDir, prdSlug, currentMilestoneNumber),
267
224
  freshPrompt,
268
225
  worktreePath,
269
226
  errors: [],
@@ -282,7 +239,7 @@ export async function runAutoChain(options) {
282
239
  return chainResult;
283
240
  }
284
241
  // Find the next pending milestone
285
- const nextPending = await findNextPendingMilestone(effectiveProjectDir);
242
+ const nextPending = await findNextPendingMilestone(effectiveProjectDir, prdSlug);
286
243
  if (!nextPending) {
287
244
  // All milestones are complete
288
245
  const chainResult = {
@@ -319,7 +276,7 @@ export async function runAutoChain(options) {
319
276
  * Called after a milestone's agent finishes execution.
320
277
  *
321
278
  * Handles:
322
- * 1. Updating milestone progress in STATE.md and ROADMAP.md
279
+ * 1. Updating milestone status in per-PRD status JSON
323
280
  * 2. Committing milestone work to git (in the worktree if one was used)
324
281
  * 3. Merging worktree branch into the feature branch (if worktree was used)
325
282
  * 4. Returning the commit SHA for the milestone result
@@ -327,43 +284,14 @@ export async function runAutoChain(options) {
327
284
  * The caller should update the MilestoneResult with the returned commit info.
328
285
  */
329
286
  export async function completeMilestone(options) {
330
- const { projectDir, project, milestoneNumber, milestoneName, branch, activePrd, developer, filesToStage, push, worktreePath, repoRoot, } = options;
331
- // The effective directory for state doc updates and commits:
287
+ const { projectDir, prdSlug, milestoneNumber, milestoneName, branch, filesToStage, push, worktreePath, repoRoot, } = options;
288
+ // The effective directory for status updates and commits:
332
289
  // if a worktree was used, commit there; otherwise use projectDir
333
290
  const commitDir = worktreePath ?? projectDir;
334
291
  // Check if this is the last milestone
335
- const last = await isLastMilestone(commitDir, milestoneNumber);
336
- // Find next milestone for state docs
337
- const roadmap = await readRoadmapProgress(commitDir);
338
- const milestoneTable = roadmap?.milestones.map((m) => ({
339
- number: m.number,
340
- name: m.name,
341
- status: m.number === milestoneNumber
342
- ? `Complete (${new Date().toISOString().slice(0, 10)})`
343
- : m.status,
344
- })) ?? [];
345
- // Find the next milestone (if any)
346
- const nextMilestone = last
347
- ? undefined
348
- : roadmap?.milestones
349
- .filter((m) => m.number > milestoneNumber &&
350
- !m.status.toLowerCase().startsWith("complete"))
351
- .sort((a, b) => a.number - b.number)[0];
352
- const nextMilestoneInfo = nextMilestone
353
- ? { number: nextMilestone.number, name: nextMilestone.name }
354
- : undefined;
355
- // Update state docs (STATE.md, ROADMAP.md, session memory)
356
- await updateMilestoneProgress({
357
- projectDir: commitDir,
358
- project,
359
- milestoneNumber,
360
- milestoneName,
361
- branch,
362
- activePrd,
363
- developer,
364
- nextMilestone: nextMilestoneInfo,
365
- milestoneTable,
366
- });
292
+ const last = await isLastMilestone(commitDir, prdSlug, milestoneNumber);
293
+ // Update per-PRD status JSON
294
+ await updateMilestoneStatus(commitDir, prdSlug, milestoneNumber, "complete");
367
295
  // Commit milestone work (in the worktree if one was used)
368
296
  const commitResult = commitMilestoneWork({
369
297
  projectDir: commitDir,
@@ -1 +1 @@
1
- {"version":3,"file":"auto-chain.js","sourceRoot":"","sources":["../../src/go/auto-chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-chain.js","sourceRoot":"","sources":["../../src/go/auto-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EACL,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AA0D/D,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAC/B,+CAA+C,CAChD,CAAC;IACF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,qBAAqB,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACrD,CAAC;IAED,wEAAwE;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,OAAe,EACf,eAAuB;IAEvB,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACvC,oBAAoB,CAAC,OAAO,EAAE,eAAe,CAAC;KAC/C,CAAC,CAAC;IAEH,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,2BAA2B;IAC3B,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,wCAAwC;IACxC,IAAI,gBAAgB,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,aAAa,eAAe,gCAAgC,OAAO,GAAG,CACvE,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,oCAAoC;IACpC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,4EAA4E,CAC7E,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC1E,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACxE,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,CACR,8EAA8E,CAC/E,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,qFAAqF;AACrF,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,CAAC;AAE5D,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAyB;IAEzB,MAAM,EACJ,UAAU,EACV,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,+BAA+B;IAC/B,IAAI,sBAA8B,CAAC;IACnC,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,kCAAkC;QAClC,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,sCAAsC;YACtC,MAAM,MAAM,GAAoB;gBAC9B,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,IAAI;aAClB,CAAC;YACF,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,sBAAsB,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,GAAG,OAAO,KAAK,sBAAsB,EAAE,CAAC;IAErD,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QAC/D,UAAU,EAAE,MAAM;KACnB,CAAC,CAAC;IACH,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC;IAEhE,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE;QACxC,IAAI;QACJ,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI,sBAAsB,EAAE;QACvC,OAAO;QACP,MAAM,EAAE,cAAc;QACtB,YAAY;KACb,CAAC,CAAC;IAEH,2EAA2E;IAC3E,0FAA0F;IAC1F,8DAA8D;IAC9D,MAAM,mBAAmB,GAAG,YAAY,CAAC;IAEzC,IAAI,CAAC;QACH,4DAA4D;QAC5D,OAAO,IAAI,EAAE,CAAC;YACZ,oCAAoC;YACpC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAEpD,oEAAoE;YACpE,6CAA6C;YAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAC/C,UAAU,EACV,gBAAgB,EAChB,sBAAsB,CACvB,CAAC;YAEF,iFAAiF;YACjF,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,qBAAqB,CAAC;oBACpC,UAAU,EAAE,mBAAmB;oBAC/B,OAAO;oBACP,eAAe,EAAE,sBAAsB;oBACvC,MAAM;oBACN,OAAO;iBACR,CAAC,CAAC;gBACH,kCAAkC;gBAClC,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qDAAqD;gBACrD,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAoB;oBAClC,eAAe,EAAE,sBAAsB;oBACvC,aAAa,EAAE,SAAS;oBACxB,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,KAAK;oBACb,WAAW;oBACX,YAAY;oBACZ,MAAM,EAAE,CAAC,YAAY,CAAC;iBACvB,CAAC;gBAEF,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3B,mBAAmB,EAAE,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;gBAE1D,MAAM,WAAW,GAAoB;oBACnC,SAAS;oBACT,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,sBAAsB;oBACjC,WAAW,EAAE,KAAK;iBACnB,CAAC;gBACF,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7B,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,6BAA6B;YAC7B,gBAAgB,EAAE,CAAC,sBAAsB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YAElE,oDAAoD;YACpD,8DAA8D;YAC9D,kDAAkD;YAClD,MAAM,eAAe,GAAoB;gBACvC,eAAe,EAAE,sBAAsB;gBACvC,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,OAAO,EAAE,IAAI,EAAE,mDAAmD;gBAClE,MAAM,EAAE,MAAM,eAAe,CAAC,mBAAmB,EAAE,OAAO,EAAE,sBAAsB,CAAC;gBACnF,WAAW;gBACX,YAAY;gBACZ,MAAM,EAAE,EAAE;aACX,CAAC;YAEF,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAEhC,kEAAkE;YAClE,mBAAmB,EAAE,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;YAE/D,6CAA6C;YAC7C,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAoB;oBACnC,SAAS;oBACT,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,IAAI;iBAClB,CAAC;gBACF,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7B,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,kCAAkC;YAClC,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;YACjF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,8BAA8B;gBAC9B,MAAM,WAAW,GAAoB;oBACnC,SAAS;oBACT,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,IAAI;iBAClB,CAAC;gBACF,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7B,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,sBAAsB,GAAG,WAAW,CAAC,MAAM,CAAC;QAC9C,CAAC;IACH,CAAC;YAAS,CAAC;QACT,uDAAuD;QACvD,IAAI,CAAC;YACH,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;QACD,IAAI,CAAC;YACH,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAevC;IACC,MAAM,EACJ,UAAU,EACV,OAAO,EACP,eAAe,EACf,aAAa,EACb,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,YAAY,EACZ,QAAQ,GACT,GAAG,OAAO,CAAC;IAEZ,0DAA0D;IAC1D,iEAAiE;IACjE,MAAM,SAAS,GAAG,YAAY,IAAI,UAAU,CAAC;IAE7C,sCAAsC;IACtC,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAExE,6BAA6B;IAC7B,MAAM,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAE7E,0DAA0D;IAC1D,MAAM,YAAY,GAAG,mBAAmB,CAAC;QACvC,UAAU,EAAE,SAAS;QACrB,eAAe;QACf,aAAa;QACb,YAAY;QACZ,IAAI,EAAE,KAAK,EAAE,qDAAqD;QAClE,MAAM;KACP,CAAC,CAAC;IAEH,4EAA4E;IAC5E,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,QAAQ,CAAC,iCAAiC,EAAE;YACjE,GAAG,EAAE,YAAY;YACjB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAEtD,iDAAiD;QACjD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC;gBACH,QAAQ,CAAC,mBAAmB,MAAM,EAAE,EAAE;oBACpC,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,MAAM;oBACb,QAAQ,EAAE,OAAO;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,2DAA2D;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,EAAE,CAAC;QAChB,kEAAkE;QAClE,IAAI,CAAC;YACH,QAAQ,CAAC,mBAAmB,MAAM,EAAE,EAAE;gBACpC,GAAG,EAAE,UAAU;gBACf,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,cAAsB,EACtB,YAAoB;IAEpB,qDAAqD;IACrD,QAAQ,CAAC,gBAAgB,YAAY,EAAE,EAAE;QACvC,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,mDAAmD;IACnD,QAAQ,CAAC,aAAa,cAAc,YAAY,EAAE;QAChD,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe;IAEf,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
@@ -9,6 +9,7 @@
9
9
  * (via Claude Code's Task tool). The executor is the data/logic layer.
10
10
  */
11
11
  import type { SessionContext } from "../state/reader.js";
12
+ import type { TeamConfig } from "../team/types.js";
12
13
  import type { ForgeConfig, PipelineResult } from "../types.js";
13
14
  import type { MilestoneWave } from "../spec/templates.js";
14
15
  export interface ExecuteMilestoneOptions {
@@ -16,6 +17,8 @@ export interface ExecuteMilestoneOptions {
16
17
  prdPath: string;
17
18
  milestoneNumber: number;
18
19
  config: ForgeConfig;
20
+ /** PRD slug for per-PRD status tracking */
21
+ prdSlug?: string;
19
22
  /** Log prompts but don't run verification (for testing) */
20
23
  dryRun?: boolean;
21
24
  }
@@ -63,6 +66,8 @@ export interface MilestoneContext {
63
66
  claudeMd: string;
64
67
  /** Path to the worktree used for isolated execution (if any) */
65
68
  worktreePath?: string;
69
+ /** Team configuration for agent team lifecycle (M2 integration) */
70
+ teamConfig?: TeamConfig;
66
71
  }
67
72
  /**
68
73
  * Build the full context needed to execute a milestone.
@@ -11,8 +11,10 @@
11
11
  import { readFile } from "node:fs/promises";
12
12
  import { join } from "node:path";
13
13
  import { readSessionContext } from "../state/reader.js";
14
+ import { readPRDStatus } from "../state/prd-status.js";
14
15
  import { runPipeline } from "../gates/index.js";
15
16
  import { formatHumanReport } from "../reporter/human.js";
17
+ import { createTeamConfig, shouldIncludeNotetaker } from "../team/lifecycle.js";
16
18
  // ---------------------------------------------------------------------------
17
19
  // Helpers
18
20
  // ---------------------------------------------------------------------------
@@ -92,7 +94,9 @@ function parseMilestoneSection(section) {
92
94
  }
93
95
  }
94
96
  }
95
- return { name, goal, waves, verificationCommands };
97
+ // Compute max agents across all waves for team sizing
98
+ const maxAgentsPerWave = waves.reduce((max, w) => Math.max(max, w.agents.length), 0);
99
+ return { name, goal, waves, verificationCommands, maxAgentsPerWave };
96
100
  }
97
101
  // ---------------------------------------------------------------------------
98
102
  // Context Building
@@ -103,19 +107,30 @@ function parseMilestoneSection(section) {
103
107
  */
104
108
  export async function buildMilestoneContext(options) {
105
109
  const { projectDir, prdPath, milestoneNumber } = options;
106
- // Read session context (STATE.md, ROADMAP.md, milestone section)
107
- const sessionContext = await readSessionContext(projectDir, prdPath, milestoneNumber);
110
+ // Read session context (milestone section from PRD)
111
+ const sessionContext = await readSessionContext(projectDir, prdPath, milestoneNumber, options.prdSlug ?? "unknown");
108
112
  const milestoneSection = sessionContext.currentMilestoneSection;
109
113
  if (!milestoneSection) {
110
114
  throw new Error(`Milestone ${milestoneNumber} not found in PRD at ${prdPath}`);
111
115
  }
112
116
  // Parse the milestone section into structured data
113
117
  const parsed = parseMilestoneSection(milestoneSection);
114
- // Read supporting files
115
- const [lessons, claudeMd] = await Promise.all([
118
+ const prdSlug = options.prdSlug ?? "unknown";
119
+ // Read supporting files and PRD status in parallel
120
+ const [lessons, claudeMd, _prdStatus] = await Promise.all([
116
121
  safeRead(join(projectDir, "tasks", "lessons.md")),
117
122
  safeRead(join(projectDir, "CLAUDE.md")),
123
+ readPRDStatus(projectDir, prdSlug),
118
124
  ]);
125
+ // Build team config based on wave structure
126
+ const builderCount = parsed.maxAgentsPerWave;
127
+ const includeNotetaker = shouldIncludeNotetaker(parsed.waves.length, parsed.maxAgentsPerWave);
128
+ const teamConfig = createTeamConfig({
129
+ prdSlug,
130
+ milestoneNumber,
131
+ builderCount,
132
+ includeNotetaker,
133
+ });
119
134
  return {
120
135
  milestoneNumber,
121
136
  milestoneName: parsed.name,
@@ -126,6 +141,7 @@ export async function buildMilestoneContext(options) {
126
141
  sessionContext,
127
142
  lessons,
128
143
  claudeMd,
144
+ teamConfig,
129
145
  };
130
146
  }
131
147
  // ---------------------------------------------------------------------------
@@ -189,6 +205,28 @@ export function buildAgentPrompt(agent, context, existingCode) {
189
205
  lines.push("");
190
206
  }
191
207
  }
208
+ // Team Communication (M2 integration)
209
+ if (context.teamConfig) {
210
+ const teamName = context.teamConfig.teamName;
211
+ lines.push("## Team Communication");
212
+ lines.push("");
213
+ lines.push(`You are part of team **${teamName}**.`);
214
+ lines.push("");
215
+ lines.push("Use the **SendMessage** tool to communicate with teammates:");
216
+ lines.push('- Send a direct message: `{ "type": "message", "recipient": "<name>", "content": "...", "summary": "..." }`');
217
+ lines.push("- Only use broadcast for critical blocking issues that affect all teammates.");
218
+ lines.push("- When your task is complete, send a message to the executive summarizing what you did.");
219
+ lines.push("- If you encounter a blocker, message the executive immediately rather than guessing.");
220
+ lines.push("");
221
+ lines.push("## Subagent Spawning");
222
+ lines.push("");
223
+ lines.push("You may spawn subagents for research or exploration using the **Task** tool:");
224
+ lines.push('- Use `subagent_type: "Explore"` for read-only research tasks (searching code, reading files).');
225
+ lines.push('- Use `subagent_type: "general-purpose"` for tasks that require file edits or shell commands.');
226
+ lines.push("- Always provide a clear, self-contained prompt — subagents do not share your conversation context.");
227
+ lines.push("- Prefer subagents for tasks like: finding usage patterns, reading large files, running diagnostic commands.");
228
+ lines.push("");
229
+ }
192
230
  // Verification
193
231
  lines.push("## Verification");
194
232
  lines.push("");
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/go/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/go/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAwB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAyEhF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,qBAAqB,CAAC,OAAe;IAO5C,yBAAyB;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAC7B,iDAAiD,CAClD,CAAC;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAEnE,eAAe;IACf,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAElD,cAAc;IACd,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,WAAW,GACf,oGAAoG,CAAC;IAEvG,IAAI,SAAiC,CAAC;IACtC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAsC,EAAE,CAAC;QAErD,6DAA6D;QAC7D,MAAM,YAAY,GAChB,uGAAuG,CAAC;QAE1G,IAAI,UAAkC,CAAC;QACvC,OAAO,CAAC,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEvC,6CAA6C;YAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,eAAe,GACnB,wDAAwD,CAAC;YAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAC/B,UAAU,CAAC,KAAK,EAChB,YAAY,CAAC,SAAS,CACvB,CAAC;YACF,IAAI,SAAiC,CAAC;YACtC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;qBAC1B,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CACjC,0DAA0D,CAC3D,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAC1C,CAAC,CACF,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAgC;IAEhC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEzD,oDAAoD;IACpD,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAC7C,UAAU,EACV,OAAO,EACP,eAAe,EACf,OAAO,CAAC,OAAO,IAAI,SAAS,CAC7B,CAAC;IAEF,MAAM,gBAAgB,GAAG,cAAc,CAAC,uBAAuB,CAAC;IAChE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,aAAa,eAAe,wBAAwB,OAAO,EAAE,CAC9D,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,MAAM,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;IAE7C,mDAAmD;IACnD,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACvC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC;KACnC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAC7C,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,MAAM,CAAC,gBAAgB,CACxB,CAAC;IACF,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,OAAO;QACP,eAAe;QACf,YAAY;QACZ,gBAAgB;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,eAAe;QACf,aAAa,EAAE,MAAM,CAAC,IAAI;QAC1B,aAAa,EAAE,MAAM,CAAC,IAAI;QAC1B,gBAAgB;QAChB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,cAAc;QACd,OAAO;QACP,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAsC,EACtC,OAAyB,EACzB,YAAqB;IAErB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,kCAAkC,OAAO,CAAC,eAAe,KAAK,OAAO,CAAC,aAAa,KAAK,CACzF,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,sBAAsB;IACtB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,yBAAyB;IACzB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,mCAAmC;IACnC,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,UAAU;IACV,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,uDAAuD;IACvD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,qDAAqD;QACrD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CACvC,8CAA8C,CAC/C,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,QAAQ,KAAK,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CACR,6GAA6G,CAC9G,CAAC;QACF,KAAK,CAAC,IAAI,CACR,8EAA8E,CAC/E,CAAC;QACF,KAAK,CAAC,IAAI,CACR,yFAAyF,CAC1F,CAAC;QACF,KAAK,CAAC,IAAI,CACR,uFAAuF,CACxF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CACR,8EAA8E,CAC/E,CAAC;QACF,KAAK,CAAC,IAAI,CACR,gGAAgG,CACjG,CAAC;QACF,KAAK,CAAC,IAAI,CACR,+FAA+F,CAChG,CAAC;QACF,KAAK,CAAC,IAAI,CACR,qGAAqG,CACtG,CAAC;QACF,KAAK,CAAC,IAAI,CACR,8GAA8G,CAC/G,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,YAAY;IACZ,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,qEAAqE,CACtE,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACjE,KAAK,CAAC,IAAI,CACR,8DAA8D,CAC/D,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAyB,EACzB,eAAqC;IAErC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,gBAAgB,CACtB,KAAK,EACL,OAAO,EACP,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CACjC;SACF,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;AACN,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAgC;IAEhC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEhD,MAAM,aAAa,GAAkB;QACnC,UAAU;QACV,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;QAClC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO;QAC3C,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI;KACtC,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;IAEhD,+BAA+B;IAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAyB;IAEzB,OAAO;QACL,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,EAAE;QACT,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA0B,EAC1B,UAAsB;IAEtB,MAAM,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEtD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;YAC1C,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;YAC5C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK;iBACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;iBACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS,CAAC,IAAI,CACZ,QAAQ,IAAI,CAAC,UAAU,yBAAyB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,sBAAsB,GAC1B,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,IAAI,CAAC;IACzC,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAClD,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CACjC,CAAC;IACF,MAAM,OAAO,GAAG,kBAAkB,IAAI,sBAAsB,CAAC;IAE7D,OAAO;QACL,GAAG,SAAS;QACZ,KAAK,EAAE,YAAY;QACnB,OAAO;QACP,iBAAiB,EAAE,YAAY;QAC/B,kBAAkB,EAAE,aAAa;QACjC,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgC;IAMhC,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAErD,mBAAmB;IACnB,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEpC,2BAA2B;IAC3B,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAE9C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,gDAAgD;QAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC;IAED,4DAA4D;IAC5D,2DAA2D;IAC3D,8CAA8C;IAC9C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACpC,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEtD,KAAK,CAAC,IAAI,CACR,gBAAgB,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,aAAa,OAAO,MAAM,EAAE,CAC/E,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,eAAe;IACf,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM;aAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACrD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;YACpC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;gBACxB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,QAAQ;YACZ,CAAC,CAAC,SAAS,CAAC;QAEd,KAAK,CAAC,IAAI,CACR,UAAU,IAAI,CAAC,UAAU,OAAO,WAAW,cAAc,YAAY,EAAE,CACxE,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,QAAQ;IACR,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,SAAS;IACT,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAA4B;IAE5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM;YAAE,SAAS;QAE1B,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI;gBACpB,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * in the body. Designed to be called by the execution engine after the final
7
7
  * milestone passes verification.
8
8
  */
9
- import type { PipelineResult } from "../types.js";
9
+ import type { PipelineResult, GateResult, CodexComment } from "../types.js";
10
10
  export interface CreatePROptions {
11
11
  projectDir: string;
12
12
  branch: string;
@@ -33,6 +33,55 @@ export interface PRError {
33
33
  created: false;
34
34
  error: string;
35
35
  }
36
+ export interface FinalizeWithCodexOptions extends CreatePROptions {
37
+ /** GitHub owner/org for the repo */
38
+ owner: string;
39
+ /** GitHub repo name */
40
+ repo: string;
41
+ /** Codex gate poll interval in milliseconds (default: 60_000) */
42
+ codexPollIntervalMs?: number;
43
+ /** Maximum number of poll cycles (default: 8) */
44
+ codexMaxPolls?: number;
45
+ /** Called for each unresolved PR comment; return true if fix was pushed */
46
+ onFixComment?: (comment: CodexComment) => Promise<boolean>;
47
+ }
48
+ export interface FinalizeResult {
49
+ pr: PRResult | PRError;
50
+ codexGate?: GateResult;
51
+ allCommentsResolved: boolean;
52
+ }
53
+ /**
54
+ * Extract the owner and repo name from the current Git remote using `gh`.
55
+ * Returns `null` if `gh` is unavailable or the command fails.
56
+ */
57
+ export declare function extractRepoInfo(projectDir: string): {
58
+ owner: string;
59
+ repo: string;
60
+ } | null;
61
+ /**
62
+ * Poll for Codex review comments on a PR and attempt to resolve them
63
+ * using the provided `onFixComment` callback. Returns the list of
64
+ * comments that remain unresolved after the fix cycle.
65
+ */
66
+ export declare function pollAndResolvePRComments(options: {
67
+ owner: string;
68
+ repo: string;
69
+ prNumber: number;
70
+ projectDir?: string;
71
+ pollIntervalMs?: number;
72
+ maxPolls?: number;
73
+ onFixComment?: (comment: CodexComment) => Promise<boolean>;
74
+ }): Promise<{
75
+ unresolved: CodexComment[];
76
+ gateResult: GateResult;
77
+ }>;
78
+ /**
79
+ * Create a PR and run the Codex review gate. The milestone only marks
80
+ * complete when 0 unresolved PR comments remain. If the Codex gate
81
+ * times out with no comments, the milestone still completes (gate is
82
+ * optional).
83
+ */
84
+ export declare function finalizeWithCodexGate(options: FinalizeWithCodexOptions): Promise<FinalizeResult>;
36
85
  /**
37
86
  * Generate a PR title summarizing all completed milestones.
38
87
  *