codex-orchestrator 2.0.4 → 2.0.5

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 (69) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +29 -3
  3. package/dist/src/v2/acceptance-proof.d.ts +5 -0
  4. package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
  5. package/dist/src/v2/acceptance-proof.js +10 -2
  6. package/dist/src/v2/acceptance-proof.js.map +1 -1
  7. package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts +7 -1
  8. package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts.map +1 -1
  9. package/dist/src/v2/adapters/gh-pull-request-adapter.js +288 -0
  10. package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -1
  11. package/dist/src/v2/adapters/pull-requests.d.ts +69 -0
  12. package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -1
  13. package/dist/src/v2/adapters/pull-requests.js +48 -0
  14. package/dist/src/v2/adapters/pull-requests.js.map +1 -1
  15. package/dist/src/v2/adapters/worktree.d.ts +1 -0
  16. package/dist/src/v2/adapters/worktree.d.ts.map +1 -1
  17. package/dist/src/v2/adapters/worktree.js +10 -1
  18. package/dist/src/v2/adapters/worktree.js.map +1 -1
  19. package/dist/src/v2/cli.d.ts +9 -0
  20. package/dist/src/v2/cli.d.ts.map +1 -1
  21. package/dist/src/v2/cli.js +38 -11
  22. package/dist/src/v2/cli.js.map +1 -1
  23. package/dist/src/v2/config.d.ts +0 -1
  24. package/dist/src/v2/config.d.ts.map +1 -1
  25. package/dist/src/v2/config.js +0 -3
  26. package/dist/src/v2/config.js.map +1 -1
  27. package/dist/src/v2/containment.d.ts +11 -2
  28. package/dist/src/v2/containment.d.ts.map +1 -1
  29. package/dist/src/v2/containment.js +35 -7
  30. package/dist/src/v2/containment.js.map +1 -1
  31. package/dist/src/v2/direct-delivery.d.ts +1 -1
  32. package/dist/src/v2/direct-delivery.d.ts.map +1 -1
  33. package/dist/src/v2/direct-delivery.js +9 -3
  34. package/dist/src/v2/direct-delivery.js.map +1 -1
  35. package/dist/src/v2/review-feedback-coordinator.d.ts +54 -0
  36. package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -0
  37. package/dist/src/v2/review-feedback-coordinator.js +245 -0
  38. package/dist/src/v2/review-feedback-coordinator.js.map +1 -0
  39. package/dist/src/v2/review-feedback.d.ts +127 -0
  40. package/dist/src/v2/review-feedback.d.ts.map +1 -0
  41. package/dist/src/v2/review-feedback.js +436 -0
  42. package/dist/src/v2/review-feedback.js.map +1 -0
  43. package/dist/src/v2/run-issue.d.ts +57 -0
  44. package/dist/src/v2/run-issue.d.ts.map +1 -1
  45. package/dist/src/v2/run-issue.js +701 -36
  46. package/dist/src/v2/run-issue.js.map +1 -1
  47. package/dist/src/v2/run-store.d.ts +45 -1
  48. package/dist/src/v2/run-store.d.ts.map +1 -1
  49. package/dist/src/v2/run-store.js +113 -4
  50. package/dist/src/v2/run-store.js.map +1 -1
  51. package/dist/src/v2/runtime.d.ts +37 -0
  52. package/dist/src/v2/runtime.d.ts.map +1 -1
  53. package/dist/src/v2/runtime.js +120 -5
  54. package/dist/src/v2/runtime.js.map +1 -1
  55. package/dist/src/v2/setup.js +1 -1
  56. package/dist/src/v2/setup.js.map +1 -1
  57. package/docs/deep-dive.md +61 -5
  58. package/internal-workflow/docs/agents/contract-test-ledger.md +11 -1
  59. package/internal-workflow/evals/coding-skill-evals.json +18 -0
  60. package/internal-workflow/manifest.json +1 -1
  61. package/internal-workflow/skills/code-debugger/SKILL.md +3 -3
  62. package/internal-workflow/skills/code-review/SKILL.md +18 -6
  63. package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +1 -1
  64. package/internal-workflow/skills/spec-implementer/references/review-loop.md +7 -1
  65. package/internal-workflow/skills/tdd/SKILL.md +5 -4
  66. package/internal-workflow/skills/tdd/evals/evals.json +18 -0
  67. package/internal-workflow/skills/tdd/mocking.md +3 -42
  68. package/internal-workflow/skills/tdd/refactoring.md +6 -8
  69. package/package.json +1 -1
@@ -0,0 +1,436 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { canonicalJson } from './containment.js';
3
+ const SHA256 = /^[0-9a-f]{64}$/u;
4
+ const GIT_SHA = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/u;
5
+ const SOURCE_ID = /^pr-(?:thread|review):[^\s]+$/u;
6
+ const MAX_SOURCES = 256;
7
+ export function createReviewFeedbackBootstrap() {
8
+ return {
9
+ version: 1,
10
+ phase: 'bootstrap-required',
11
+ consumedSourceIds: [],
12
+ previousPublishedHeadSha: null,
13
+ repairRound: 0,
14
+ activeBatch: null,
15
+ implementationInvocation: null,
16
+ history: [],
17
+ verifiedReceipt: null,
18
+ terminal: null,
19
+ };
20
+ }
21
+ export function createFrozenReviewFeedbackBatch(input) {
22
+ const sources = structuredClone(input.sources).map((source) => ({
23
+ ...source,
24
+ body: normalizeReviewFeedbackBody(source.body),
25
+ })).sort((left, right) => left.sourceId.localeCompare(right.sourceId));
26
+ const identity = {
27
+ runId: input.runId,
28
+ canonicalRepository: input.canonicalRepository,
29
+ pullRequest: input.pullRequest,
30
+ priorPublishedHeadSha: input.priorPublishedHeadSha,
31
+ sources,
32
+ };
33
+ const batch = {
34
+ version: 1,
35
+ batchId: createHash('sha256')
36
+ .update(`codex-orchestrator-review-feedback-batch-v1\0${canonicalJson(identity)}`)
37
+ .digest('hex'),
38
+ ...structuredClone(input),
39
+ sources,
40
+ };
41
+ validateFrozenReviewFeedbackBatch(batch);
42
+ return batch;
43
+ }
44
+ export function normalizeReviewFeedbackBody(body) {
45
+ return body.replace(/\r\n?/gu, '\n');
46
+ }
47
+ export function hashReviewFeedbackText(body) {
48
+ return createHash('sha256').update(normalizeReviewFeedbackBody(body)).digest('hex');
49
+ }
50
+ export function hashReviewFeedbackSnapshot(value) {
51
+ return createHash('sha256')
52
+ .update(`codex-orchestrator-review-feedback-snapshot-v1\0${canonicalJson(value)}`)
53
+ .digest('hex');
54
+ }
55
+ export function projectReviewFeedbackBatch(batch, targetRevision) {
56
+ validateFrozenReviewFeedbackBatch(batch);
57
+ if (!Number.isSafeInteger(targetRevision) || targetRevision < 1)
58
+ throw new Error('review feedback target revision is invalid');
59
+ const sources = [...batch.sources].sort((left, right) => left.sourceId.localeCompare(right.sourceId));
60
+ return {
61
+ repairFindings: sources.map((source) => ({
62
+ id: source.sourceId,
63
+ provenance: 'pr-review',
64
+ sourceId: source.sourceId,
65
+ targetRevision,
66
+ summary: [
67
+ `${source.kind === 'thread' ? 'Pull request review thread' : 'Pull request changes-requested review'}: ${source.sourceUrl}`,
68
+ ...(source.path ? [`Location: ${source.path}${source.line === null ? '' : `:${source.line}`}`] : []),
69
+ source.body,
70
+ ].join('\n'),
71
+ affectedContracts: [...new Set([
72
+ 'pr-review',
73
+ ...(source.path ? [`path:${source.path}`] : []),
74
+ ])].sort(),
75
+ status: 'open',
76
+ })),
77
+ workerFeedback: sources.map((source) => ({
78
+ id: source.sourceId,
79
+ sourceUrl: source.sourceUrl,
80
+ path: source.path,
81
+ line: source.line,
82
+ body: source.body,
83
+ })),
84
+ };
85
+ }
86
+ export function appendConsumedReviewSourceIds(execution, sourceIds) {
87
+ validateReviewFeedbackExecution(execution);
88
+ const seen = new Set(execution.consumedSourceIds);
89
+ const consumedSourceIds = [...execution.consumedSourceIds];
90
+ for (const sourceId of [...sourceIds].sort()) {
91
+ assertSourceId(sourceId, 'review feedback consumed source ID');
92
+ if (!seen.has(sourceId)) {
93
+ seen.add(sourceId);
94
+ consumedSourceIds.push(sourceId);
95
+ }
96
+ }
97
+ return { ...structuredClone(execution), consumedSourceIds };
98
+ }
99
+ export function bootstrapReviewFeedback(execution, previousPublishedHeadSha, existingSourceIds) {
100
+ if (execution.phase !== 'bootstrap-required')
101
+ throw new Error('review feedback bootstrap is already complete');
102
+ assertGitSha(previousPublishedHeadSha, 'review feedback previous published head');
103
+ const next = appendConsumedReviewSourceIds(execution, existingSourceIds);
104
+ const result = {
105
+ ...next, phase: 'idle', previousPublishedHeadSha, repairRound: 0,
106
+ };
107
+ validateReviewFeedbackExecution(result);
108
+ return result;
109
+ }
110
+ export function activateReviewFeedback(execution, batch) {
111
+ validateReviewFeedbackExecution(execution);
112
+ validateFrozenReviewFeedbackBatch(batch);
113
+ if (execution.phase !== 'idle' || execution.previousPublishedHeadSha !== batch.priorPublishedHeadSha
114
+ || batch.sources.some((source) => execution.consumedSourceIds.includes(source.sourceId))) {
115
+ throw new Error('review feedback execution cannot activate this batch');
116
+ }
117
+ const withConsumed = appendConsumedReviewSourceIds(execution, batch.sources.map((source) => source.sourceId));
118
+ const result = {
119
+ ...withConsumed,
120
+ phase: 'frozen',
121
+ repairRound: 1,
122
+ activeBatch: structuredClone(batch),
123
+ implementationInvocation: null,
124
+ verifiedReceipt: null,
125
+ terminal: null,
126
+ };
127
+ validateReviewFeedbackExecution(result);
128
+ return result;
129
+ }
130
+ export function reserveNextReviewFeedbackRound(execution) {
131
+ validateReviewFeedbackExecution(execution);
132
+ if (!['frozen', 'repairing'].includes(execution.phase) || execution.repairRound >= 3) {
133
+ throw new Error('review feedback repair budget is exhausted or inactive');
134
+ }
135
+ const result = { ...structuredClone(execution), phase: 'repairing', repairRound: (execution.repairRound + 1) };
136
+ validateReviewFeedbackExecution(result);
137
+ return result;
138
+ }
139
+ export function markReviewFeedbackRepairing(execution) {
140
+ validateReviewFeedbackExecution(execution);
141
+ if (execution.phase !== 'frozen' && execution.phase !== 'repairing')
142
+ throw new Error('review feedback is not ready for repair');
143
+ const result = { ...structuredClone(execution), phase: 'repairing' };
144
+ validateReviewFeedbackExecution(result);
145
+ return result;
146
+ }
147
+ export function markReviewFeedbackVerified(execution, input) {
148
+ validateReviewFeedbackExecution(execution);
149
+ if (execution.phase !== 'repairing' || !execution.activeBatch)
150
+ throw new Error('review feedback is not ready to verify');
151
+ const result = {
152
+ ...structuredClone(execution),
153
+ phase: 'verified',
154
+ implementationInvocation: null,
155
+ verifiedReceipt: { batchId: execution.activeBatch.batchId, ...structuredClone(input) },
156
+ };
157
+ validateReviewFeedbackExecution(result);
158
+ return result;
159
+ }
160
+ export function markReviewFeedbackPublishing(execution) {
161
+ validateReviewFeedbackExecution(execution);
162
+ if (execution.phase !== 'verified')
163
+ throw new Error('review feedback is not verified for publication');
164
+ const result = { ...structuredClone(execution), phase: 'publishing' };
165
+ validateReviewFeedbackExecution(result);
166
+ return result;
167
+ }
168
+ export function publishReviewFeedback(execution, receipt) {
169
+ validateReviewFeedbackExecution(execution);
170
+ validatePublishedReceipt(receipt);
171
+ if (execution.phase !== 'publishing' || !execution.activeBatch || receipt.batchId !== execution.activeBatch.batchId) {
172
+ throw new Error('review feedback publication receipt does not match active batch');
173
+ }
174
+ const result = {
175
+ ...createReviewFeedbackBootstrap(),
176
+ phase: 'idle',
177
+ consumedSourceIds: [...execution.consumedSourceIds],
178
+ previousPublishedHeadSha: receipt.publishedHeadSha,
179
+ history: [...execution.history, structuredClone(receipt)],
180
+ };
181
+ validateReviewFeedbackExecution(result);
182
+ return result;
183
+ }
184
+ export function blockReviewFeedback(execution, kind, blockedAt) {
185
+ validateReviewFeedbackExecution(execution);
186
+ if (!execution.activeBatch)
187
+ throw new Error('review feedback has no active batch to block');
188
+ const receipt = {
189
+ kind: kind === 'safety' ? 'blocked-safety' : 'blocked-exhausted',
190
+ batchId: execution.activeBatch.batchId,
191
+ blockedAt,
192
+ };
193
+ const result = {
194
+ ...structuredClone(execution),
195
+ phase: receipt.kind,
196
+ activeBatch: null,
197
+ implementationInvocation: null,
198
+ history: [...execution.history, receipt],
199
+ verifiedReceipt: null,
200
+ terminal: { kind, blockedAt },
201
+ };
202
+ validateReviewFeedbackExecution(result);
203
+ return result;
204
+ }
205
+ export function validateReviewFeedbackExecution(value) {
206
+ exactObject(value, [
207
+ 'version', 'phase', 'consumedSourceIds', 'previousPublishedHeadSha', 'repairRound', 'activeBatch',
208
+ 'implementationInvocation', 'history', 'verifiedReceipt', 'terminal',
209
+ ], 'review feedback execution');
210
+ if (value.version !== 1)
211
+ throw new Error('review feedback execution version is invalid');
212
+ const phases = ['bootstrap-required', 'idle', 'frozen', 'repairing', 'verified', 'publishing', 'blocked-safety', 'blocked-exhausted'];
213
+ if (!phases.includes(value.phase))
214
+ throw new Error('review feedback execution phase is invalid');
215
+ validateSourceIds(value.consumedSourceIds, 'review feedback consumed source IDs');
216
+ if (value.previousPublishedHeadSha !== null)
217
+ assertGitSha(value.previousPublishedHeadSha, 'review feedback previous published head');
218
+ if (![0, 1, 2, 3].includes(value.repairRound))
219
+ throw new Error('review feedback repair round is invalid');
220
+ if (!Array.isArray(value.history) || value.history.length > MAX_SOURCES)
221
+ throw new Error('review feedback history is invalid');
222
+ for (const item of value.history)
223
+ validateHistory(item);
224
+ if (value.activeBatch !== null)
225
+ validateFrozenReviewFeedbackBatch(value.activeBatch);
226
+ if (value.implementationInvocation !== null)
227
+ validateImplementationInvocation(value.implementationInvocation);
228
+ if (value.verifiedReceipt !== null)
229
+ validateVerifiedReceipt(value.verifiedReceipt);
230
+ if (value.terminal !== null)
231
+ validateTerminal(value.terminal);
232
+ const phase = value.phase;
233
+ const active = ['frozen', 'repairing', 'verified', 'publishing'].includes(phase);
234
+ const blocked = phase === 'blocked-safety' || phase === 'blocked-exhausted';
235
+ if (phase === 'bootstrap-required' && (value.previousPublishedHeadSha !== null || value.repairRound !== 0 || value.activeBatch !== null)) {
236
+ throw new Error('review feedback bootstrap state is invalid');
237
+ }
238
+ if (phase === 'idle' && (value.previousPublishedHeadSha === null || value.repairRound !== 0 || value.activeBatch !== null
239
+ || value.implementationInvocation !== null || value.terminal !== null)) {
240
+ throw new Error('review feedback idle state is invalid');
241
+ }
242
+ if (active && (value.previousPublishedHeadSha === null || value.activeBatch === null
243
+ || ![1, 2, 3].includes(value.repairRound) || value.terminal !== null
244
+ || value.activeBatch.priorPublishedHeadSha !== value.previousPublishedHeadSha)) {
245
+ throw new Error('review feedback active state is invalid');
246
+ }
247
+ if (blocked && (value.activeBatch !== null || value.implementationInvocation !== null || value.terminal === null
248
+ || (phase === 'blocked-safety') !== (value.terminal.kind === 'safety'))) {
249
+ throw new Error('review feedback terminal state cannot retain active execution');
250
+ }
251
+ if (!active && value.implementationInvocation !== null)
252
+ throw new Error('review feedback invocation requires an active batch');
253
+ if (phase !== 'verified' && phase !== 'publishing' && value.verifiedReceipt !== null) {
254
+ throw new Error('review feedback verified receipt is invalid for phase');
255
+ }
256
+ if ((phase === 'verified' || phase === 'publishing')
257
+ && value.verifiedReceipt?.batchId !== value.activeBatch?.batchId) {
258
+ throw new Error('review feedback verified receipt batch does not match active batch');
259
+ }
260
+ }
261
+ export function validateFrozenReviewFeedbackBatch(value) {
262
+ exactObject(value, ['version', 'batchId', 'runId', 'canonicalRepository', 'pullRequest', 'priorPublishedHeadSha', 'sources', 'frozenAt'], 'review feedback batch');
263
+ if (value.version !== 1)
264
+ throw new Error('review feedback batch version is invalid');
265
+ assertSha(value.batchId, 'review feedback batch ID');
266
+ assertString(value.runId, 'review feedback run ID');
267
+ if (typeof value.canonicalRepository !== 'string' || !/^[a-z0-9._-]+\/[a-z0-9._-]+$/u.test(value.canonicalRepository)) {
268
+ throw new Error('review feedback canonical repository is invalid');
269
+ }
270
+ exactObject(value.pullRequest, ['nodeId', 'number', 'headSha', 'headRefName', 'baseRefName', 'marker'], 'review feedback pull request');
271
+ assertString(value.pullRequest.nodeId, 'review feedback pull request node ID');
272
+ if (!Number.isSafeInteger(value.pullRequest.number) || value.pullRequest.number < 1)
273
+ throw new Error('review feedback pull request number is invalid');
274
+ assertGitSha(value.pullRequest.headSha, 'review feedback pull request head');
275
+ for (const field of ['headRefName', 'baseRefName', 'marker'])
276
+ assertString(value.pullRequest[field], `review feedback pull request ${field}`);
277
+ assertGitSha(value.priorPublishedHeadSha, 'review feedback prior published head');
278
+ if (!Array.isArray(value.sources) || value.sources.length === 0 || value.sources.length > MAX_SOURCES)
279
+ throw new Error('review feedback sources are invalid');
280
+ let prior = '';
281
+ for (const source of value.sources) {
282
+ validateFrozenSource(source);
283
+ if (source.sourceId <= prior)
284
+ throw new Error('review feedback sources must be sorted and unique');
285
+ prior = source.sourceId;
286
+ }
287
+ assertTimestamp(value.frozenAt, 'review feedback frozenAt');
288
+ const expected = createHash('sha256').update(`codex-orchestrator-review-feedback-batch-v1\0${canonicalJson({
289
+ runId: value.runId,
290
+ canonicalRepository: value.canonicalRepository,
291
+ pullRequest: value.pullRequest,
292
+ priorPublishedHeadSha: value.priorPublishedHeadSha,
293
+ sources: value.sources,
294
+ })}`).digest('hex');
295
+ if (value.batchId !== expected)
296
+ throw new Error('review feedback batch hash is invalid');
297
+ }
298
+ function validateFrozenSource(value) {
299
+ exactObject(value, ['sourceId', 'kind', 'sourceUrl', 'path', 'line', 'body', 'bodySha256', 'snapshotSha256', 'threadState', 'commitSha', 'sourceCreatedAt', 'sourceUpdatedAt', 'author', 'permission'], 'review feedback source');
300
+ assertSourceId(value.sourceId, 'review feedback source ID');
301
+ if (value.kind !== 'thread' && value.kind !== 'review')
302
+ throw new Error('review feedback source kind is invalid');
303
+ if ((value.kind === 'thread') !== value.sourceId.startsWith('pr-thread:'))
304
+ throw new Error('review feedback source ID kind mismatch');
305
+ assertString(value.sourceUrl, 'review feedback source URL');
306
+ if (value.path !== null)
307
+ assertString(value.path, 'review feedback source path');
308
+ if (value.line !== null && (!Number.isSafeInteger(value.line) || value.line < 1))
309
+ throw new Error('review feedback source line is invalid');
310
+ if (typeof value.body !== 'string' || value.body.length === 0 || value.body.length > 131_072)
311
+ throw new Error('review feedback source body is invalid');
312
+ assertSha(value.bodySha256, 'review feedback source body hash');
313
+ if (value.bodySha256 !== hashReviewFeedbackText(value.body))
314
+ throw new Error('review feedback source body hash is invalid');
315
+ assertSha(value.snapshotSha256, 'review feedback source snapshot hash');
316
+ if (value.kind === 'thread') {
317
+ exactObject(value.threadState, ['isResolved', 'isOutdated'], 'review feedback thread state');
318
+ if (typeof value.threadState.isResolved !== 'boolean' || typeof value.threadState.isOutdated !== 'boolean')
319
+ throw new Error('review feedback thread state is invalid');
320
+ }
321
+ else if (value.threadState !== null)
322
+ throw new Error('review feedback review source cannot have thread state');
323
+ assertGitSha(value.commitSha, 'review feedback source commit');
324
+ assertTimestamp(value.sourceCreatedAt, 'review feedback source createdAt');
325
+ assertTimestamp(value.sourceUpdatedAt, 'review feedback source updatedAt');
326
+ exactObject(value.author, ['login', 'userId'], 'review feedback source author');
327
+ assertString(value.author.login, 'review feedback source author login');
328
+ assertString(value.author.userId, 'review feedback source author ID');
329
+ exactObject(value.permission, ['permission', 'userId', 'checkedAt'], 'review feedback source permission');
330
+ if (value.permission.permission !== 'write' && value.permission.permission !== 'admin')
331
+ throw new Error('review feedback source permission is invalid');
332
+ if (value.permission.userId !== value.author.userId)
333
+ throw new Error('review feedback permission identity mismatch');
334
+ assertTimestamp(value.permission.checkedAt, 'review feedback permission checkedAt');
335
+ }
336
+ function validateImplementationInvocation(value) {
337
+ exactObject(value, ['phase', 'attemptId', 'reportPath', 'preparedAt', 'baseline', 'pid', 'processGroupId', 'launchedAt'], 'review feedback implementation invocation');
338
+ if (value.phase !== 'prepared' && value.phase !== 'launched')
339
+ throw new Error('review feedback invocation phase is invalid');
340
+ assertString(value.attemptId, 'review feedback invocation attempt ID');
341
+ assertString(value.reportPath, 'review feedback invocation report path');
342
+ assertTimestamp(value.preparedAt, 'review feedback invocation preparedAt');
343
+ exactObject(value.baseline, ['headSha', 'indexTreeSha', 'trackedContentSha256', 'untrackedContentSha256', 'worktreeIdentity'], 'review feedback invocation baseline');
344
+ assertGitSha(value.baseline.headSha, 'review feedback invocation head');
345
+ assertGitSha(value.baseline.indexTreeSha, 'review feedback invocation index tree');
346
+ assertSha(value.baseline.trackedContentSha256, 'review feedback invocation tracked hash');
347
+ assertSha(value.baseline.untrackedContentSha256, 'review feedback invocation untracked hash');
348
+ assertString(value.baseline.worktreeIdentity, 'review feedback invocation worktree identity');
349
+ if (value.phase === 'prepared' && (value.pid !== null || value.processGroupId !== null || value.launchedAt !== null))
350
+ throw new Error('prepared review feedback invocation has launch evidence');
351
+ if (value.phase === 'launched') {
352
+ if (!Number.isSafeInteger(value.pid) || value.pid < 1 || !Number.isSafeInteger(value.processGroupId) || value.processGroupId < 1)
353
+ throw new Error('launched review feedback invocation process is invalid');
354
+ assertTimestamp(value.launchedAt, 'review feedback invocation launchedAt');
355
+ }
356
+ }
357
+ function validateHistory(value) {
358
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
359
+ throw new Error('review feedback history item is invalid');
360
+ const kind = value.kind;
361
+ if (kind === 'published')
362
+ validatePublishedReceipt(value);
363
+ else if (kind === 'blocked-safety' || kind === 'blocked-exhausted') {
364
+ exactObject(value, ['kind', 'batchId', 'blockedAt'], 'review feedback blocked receipt');
365
+ assertSha(value.batchId, 'review feedback blocked batch ID');
366
+ assertTimestamp(value.blockedAt, 'review feedback blockedAt');
367
+ }
368
+ else
369
+ throw new Error('review feedback history kind is invalid');
370
+ }
371
+ function validatePublishedReceipt(value) {
372
+ exactObject(value, ['kind', 'batchId', 'sourceIds', 'priorHeadSha', 'publishedHeadSha', 'pullRequestNumber', 'summaryCommentId', 'publishedAt'], 'review feedback published receipt');
373
+ if (value.kind !== 'published')
374
+ throw new Error('review feedback published receipt kind is invalid');
375
+ assertSha(value.batchId, 'review feedback published batch ID');
376
+ validateSourceIds(value.sourceIds, 'review feedback published source IDs');
377
+ assertGitSha(value.priorHeadSha, 'review feedback prior head');
378
+ assertGitSha(value.publishedHeadSha, 'review feedback published head');
379
+ if (!Number.isSafeInteger(value.pullRequestNumber) || value.pullRequestNumber < 1)
380
+ throw new Error('review feedback published PR number is invalid');
381
+ assertString(value.summaryCommentId, 'review feedback summary comment ID');
382
+ assertTimestamp(value.publishedAt, 'review feedback publishedAt');
383
+ }
384
+ function validateVerifiedReceipt(value) {
385
+ exactObject(value, ['batchId', 'checkedChangeSha256', 'proofId', 'verifiedAt'], 'review feedback verified receipt');
386
+ assertSha(value.batchId, 'review feedback verified batch ID');
387
+ assertSha(value.checkedChangeSha256, 'review feedback checked change hash');
388
+ assertString(value.proofId, 'review feedback proof ID');
389
+ assertTimestamp(value.verifiedAt, 'review feedback verifiedAt');
390
+ }
391
+ function validateTerminal(value) {
392
+ exactObject(value, ['kind', 'blockedAt'], 'review feedback terminal');
393
+ if (value.kind !== 'safety' && value.kind !== 'exhausted')
394
+ throw new Error('review feedback terminal kind is invalid');
395
+ assertTimestamp(value.blockedAt, 'review feedback terminal blockedAt');
396
+ }
397
+ function validateSourceIds(value, field) {
398
+ if (!Array.isArray(value) || value.length > MAX_SOURCES * 4)
399
+ throw new Error(`${field} is invalid`);
400
+ const seen = new Set();
401
+ for (const item of value) {
402
+ assertSourceId(item, field);
403
+ if (seen.has(item))
404
+ throw new Error(`${field} must be unique`);
405
+ seen.add(item);
406
+ }
407
+ }
408
+ function assertSourceId(value, field) {
409
+ if (typeof value !== 'string' || !SOURCE_ID.test(value))
410
+ throw new Error(`${field} is invalid`);
411
+ }
412
+ function exactObject(value, keys, field) {
413
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
414
+ throw new Error(`${field} must be an object`);
415
+ const actual = Object.keys(value).sort();
416
+ const expected = [...keys].sort();
417
+ if (actual.length !== expected.length || actual.some((key, index) => key !== expected[index]))
418
+ throw new Error(`${field} has unknown or missing keys`);
419
+ }
420
+ function assertString(value, field) {
421
+ if (typeof value !== 'string' || value.length === 0 || value.length > 131_072)
422
+ throw new Error(`${field} is invalid`);
423
+ }
424
+ function assertSha(value, field) {
425
+ if (typeof value !== 'string' || !SHA256.test(value))
426
+ throw new Error(`${field} is invalid`);
427
+ }
428
+ function assertGitSha(value, field) {
429
+ if (typeof value !== 'string' || !GIT_SHA.test(value))
430
+ throw new Error(`${field} is invalid`);
431
+ }
432
+ function assertTimestamp(value, field) {
433
+ if (typeof value !== 'string' || Number.isNaN(Date.parse(value)) || new Date(value).toISOString() !== value)
434
+ throw new Error(`${field} is invalid`);
435
+ }
436
+ //# sourceMappingURL=review-feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-feedback.js","sourceRoot":"","sources":["../../../src/v2/review-feedback.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,13 @@ import { type RouteCoordinatorInput, type RouteCoordinatorResult, type RouteCoor
7
7
  import type { RoutedContinuationRegistry } from './route-continuations.js';
8
8
  import type { FrozenSpecReceiptV1 } from './spec-delivery.js';
9
9
  import type { RunRecordV1, RunRecordWriter, RunStateFileV1 } from './run-store.js';
10
+ import type { ReviewFeedbackCoordinator } from './review-feedback-coordinator.js';
11
+ import { type ReviewFeedbackImplementationInvocationV1 } from './review-feedback.js';
10
12
  export type RunIssueResult = {
11
13
  status: 'review-ready';
12
14
  pullRequestUrl: string;
13
15
  evidencePath: string;
16
+ continuationEpoch?: string;
14
17
  } | {
15
18
  status: 'route-ready';
16
19
  route: 'spec-required' | 'awaiting-user';
@@ -72,6 +75,13 @@ export interface RunIssueGit {
72
75
  baseBranch: string;
73
76
  baseSha: string;
74
77
  }): Promise<void>;
78
+ ensureContinuationWorktree?(input: {
79
+ targetRoot: string;
80
+ worktreePath: string;
81
+ branchName: string;
82
+ baseBranch: string;
83
+ publishedHeadSha: string;
84
+ }): Promise<void>;
75
85
  inspectWorktree(input: {
76
86
  worktreePath: string;
77
87
  branchName: string;
@@ -80,6 +90,7 @@ export interface RunIssueGit {
80
90
  snapshot(worktreePath: string): Promise<Omit<CheckedChangeFreshness, 'checkPolicySha256'>>;
81
91
  fingerprintDeniedPaths(worktreePath: string, deniedPaths: string[]): Promise<string>;
82
92
  listChangedFiles(worktreePath: string): Promise<string[]>;
93
+ listChangedFilesIgnoringUntrackedRoot(worktreePath: string, ignoredRoot: string): Promise<string[]>;
83
94
  fingerprintChangedFiles(worktreePath: string, changedFiles: string[]): Promise<string>;
84
95
  stageAll(worktreePath: string): Promise<void>;
85
96
  getTreeSha(worktreePath: string): Promise<string>;
@@ -143,6 +154,9 @@ export interface RunIssueDependencies {
143
154
  }): Promise<{
144
155
  url: string;
145
156
  body: string;
157
+ number?: number;
158
+ nodeId?: string;
159
+ headSha?: string;
146
160
  } | undefined>;
147
161
  createDraft(input: {
148
162
  title: string;
@@ -152,7 +166,16 @@ export interface RunIssueDependencies {
152
166
  }): Promise<{
153
167
  url: string;
154
168
  }>;
169
+ listConversationComments?(number: number): Promise<Array<{
170
+ id: string;
171
+ body: string;
172
+ }>>;
173
+ postConversationComment?(number: number, body: string): Promise<{
174
+ id: string;
175
+ body: string;
176
+ }>;
155
177
  };
178
+ reviewFeedback?: ReviewFeedbackCoordinator;
156
179
  git: RunIssueGit;
157
180
  implementationAgent: {
158
181
  run(input: {
@@ -164,8 +187,30 @@ export interface RunIssueDependencies {
164
187
  reworkFindings: string[];
165
188
  repairOnly: boolean;
166
189
  workflowGeneration: WorkflowGenerationReceipt;
190
+ reviewFeedbackRound?: number;
191
+ reviewFeedback?: Array<{
192
+ id: string;
193
+ sourceUrl: string;
194
+ path: string | null;
195
+ line: number | null;
196
+ body: string;
197
+ }>;
198
+ onPrepared?: (input: Omit<ReviewFeedbackImplementationInvocationV1, 'phase' | 'pid' | 'processGroupId' | 'launchedAt'>) => Promise<void>;
199
+ onLaunched?: (input: {
200
+ attemptId: string;
201
+ pid: number;
202
+ processGroupId: number;
203
+ launchedAt: string;
204
+ }) => Promise<void>;
167
205
  signal: AbortSignal;
168
206
  }): Promise<ImplementationAgentResult>;
207
+ recover?(input: {
208
+ runId: string;
209
+ canonicalRepository: string;
210
+ invocation: ReviewFeedbackImplementationInvocationV1;
211
+ }): Promise<Extract<ImplementationAgentResult, {
212
+ kind: 'completed';
213
+ }> | undefined>;
169
214
  };
170
215
  implementationReviewer: {
171
216
  run(input: ImplementationReviewerInput): Promise<ImplementationReviewerResult>;
@@ -195,6 +240,7 @@ export interface RunIssueDependencies {
195
240
  frozenCriteria: FrozenCriterion[];
196
241
  checkedChange: CheckedChange;
197
242
  workflowGeneration: WorkflowGenerationReceipt;
243
+ beforeAgentLaunch?: () => Promise<void>;
198
244
  }): Promise<ProveChangeResult>;
199
245
  };
200
246
  checkedChangeMint: CheckedChangeMintCapability;
@@ -226,6 +272,7 @@ export declare class OwnerLockContentionError extends Error {
226
272
  interface ActiveRun {
227
273
  state: RunStateFileV1;
228
274
  record: RunRecordV1;
275
+ config: AgentAutoConfig;
229
276
  }
230
277
  export declare class RunIssue {
231
278
  private readonly dependencies;
@@ -234,6 +281,10 @@ export declare class RunIssue {
234
281
  private reconcileClaim;
235
282
  private publish;
236
283
  private publicationDiverged;
284
+ private updateExistingPullRequest;
285
+ private continueReviewReady;
286
+ private resumeActivatedReviewFeedback;
287
+ private reviewReadyObservationBlocked;
237
288
  runIssue(input: {
238
289
  targetRoot: string;
239
290
  issueNumber: number;
@@ -252,11 +303,17 @@ export declare class RunIssue {
252
303
  private clearIntent;
253
304
  private confirmEffect;
254
305
  private authorized;
306
+ private authorizedForExactLabels;
307
+ private hasTrustedClaim;
255
308
  private readIssue;
309
+ private revalidateFeedbackWorker;
310
+ private mapFeedbackRevalidation;
256
311
  private runImplementation;
257
312
  private runDirectReviewFull;
258
313
  private recoverDirectReviewInvocation;
259
314
  private startNextCycle;
315
+ private repairBudgetExhausted;
316
+ private blockReviewFeedback;
260
317
  private mapImplementationFailure;
261
318
  private mapProofFailure;
262
319
  private revoked;
@@ -1 +1 @@
1
- {"version":3,"file":"run-issue.d.ts","sourceRoot":"","sources":["../../../src/v2/run-issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-issue.d.ts","sourceRoot":"","sources":["../../../src/v2/run-issue.ts"],"names":[],"mappings":"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"}