codex-workflow-v2 2.0.0-alpha.6.2 → 2.0.0-alpha.7.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.
- package/README.md +43 -71
- package/dist/src/alpha6/handoff.d.ts +1 -0
- package/dist/src/alpha6/handoff.js +6 -0
- package/dist/src/alpha6/handoff.js.map +1 -1
- package/dist/src/alpha6/milestone.d.ts +3 -0
- package/dist/src/alpha6/milestone.js +57 -3
- package/dist/src/alpha6/milestone.js.map +1 -1
- package/dist/src/alpha6/plan-risk.js +61 -0
- package/dist/src/alpha6/plan-risk.js.map +1 -1
- package/dist/src/alpha6/remediation.d.ts +4 -20
- package/dist/src/alpha6/remediation.js +73 -150
- package/dist/src/alpha6/remediation.js.map +1 -1
- package/dist/src/alpha7/autonomy.d.ts +61 -0
- package/dist/src/alpha7/autonomy.js +256 -0
- package/dist/src/alpha7/autonomy.js.map +1 -0
- package/dist/src/cli.js +23 -16
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +11 -6
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/state/lock.d.ts +1 -3
- package/dist/src/state/lock.js +2 -5
- package/dist/src/state/lock.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/workflow.d.ts +21 -65
- package/dist/src/workflow.js +548 -657
- package/dist/src/workflow.js.map +1 -1
- package/docs/alpha7.1-implementation-brief.md +268 -0
- package/docs/autonomy-guardrails.md +56 -20
- package/docs/decisions.md +16 -4
- package/docs/delegated-approval.md +12 -5
- package/docs/development-flow.md +12 -7
- package/docs/release.md +4 -6
- package/docs/updating-existing-project.md +9 -39
- package/docs/validation-report.md +50 -63
- package/package.json +2 -2
- package/plugins/codex-workflow-gateway/references/protocol.md +53 -17
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +33 -9
- package/references/state-machine.md +31 -13
- package/roles/delivery-coordinator.md +10 -1
- package/roles/technical-planner.md +3 -0
- package/schemas/context-envelope.schema.json +0 -10
- package/schemas/milestone-autonomy-event.schema.json +45 -0
- package/schemas/milestone-scope-change-event.schema.json +3 -1
- package/schemas/plan-risk-audit-event.schema.json +21 -4
- package/schemas/corrective-plan-audit-record.schema.json +0 -47
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { WorkflowError } from '../errors.js';
|
|
4
4
|
import { createUlid } from '../ulid.js';
|
|
5
5
|
import { assertHash64 } from './store-sidecars.js';
|
|
6
|
-
import { readReviewerAttestations, readStepReviewEvents } from './review.js';
|
|
6
|
+
import { buildCurrentStrictStepReviewCycle, readReviewerAttestations, readStepReviewEvents, } from './review.js';
|
|
7
7
|
export const REMEDIATION_EVENTS_SIDECAR = 'remediation-events.jsonl';
|
|
8
8
|
export const CORRECTIVE_DECISIONS_SIDECAR = 'corrective-decisions.jsonl';
|
|
9
|
-
export const CORRECTIVE_PLAN_AUDITS_SIDECAR = 'corrective-plan-audits.jsonl';
|
|
10
9
|
const COMMIT_SHA_PATTERN = /^[a-f0-9]{40}$/;
|
|
11
10
|
const REMEDIATION_FAILURE_KINDS = new Set([
|
|
12
11
|
'checks-failed',
|
|
@@ -20,84 +19,18 @@ const CORRECTIVE_DECISION_VALUES = new Set([
|
|
|
20
19
|
'split-required',
|
|
21
20
|
'stop-escalate',
|
|
22
21
|
]);
|
|
23
|
-
export function readCorrectivePlanAuditRecords(store, task) {
|
|
24
|
-
const file = path.join(store.taskRoot(task.projectId, task.id), CORRECTIVE_PLAN_AUDITS_SIDECAR);
|
|
25
|
-
if (!existsSync(file))
|
|
26
|
-
return [];
|
|
27
|
-
const records = [];
|
|
28
|
-
for (const [index, line] of readFileSync(file, 'utf8').split('\n').entries()) {
|
|
29
|
-
if (!line)
|
|
30
|
-
continue;
|
|
31
|
-
let parsed;
|
|
32
|
-
try {
|
|
33
|
-
parsed = JSON.parse(line);
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
throw new WorkflowError('STATE_CORRUPT', `Invalid corrective Plan audit log: ${file}`, {
|
|
37
|
-
line: index + 1,
|
|
38
|
-
cause: error instanceof Error ? error.message : String(error),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
if (!parsed || typeof parsed !== 'object' || !('decisionEventId' in parsed)) {
|
|
42
|
-
// Alpha.6 already used this filename for the older Task-level review audit.
|
|
43
|
-
// Those records remain readable but do not authorize guarded corrective execution.
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
const record = parsed;
|
|
47
|
-
validateCorrectivePlanAuditRecord(record, task, file, index + 1);
|
|
48
|
-
records.push(record);
|
|
49
|
-
}
|
|
50
|
-
return records;
|
|
51
|
-
}
|
|
52
|
-
export function appendCorrectivePlanAuditRecord(store, previous, saved, stepId, decision, audit, now) {
|
|
53
|
-
if (!previous.planHash || !saved.planHash) {
|
|
54
|
-
throw new WorkflowError('STATE_CORRUPT', 'Corrective Plan audit requires previous and replacement Plan hashes.');
|
|
55
|
-
}
|
|
56
|
-
const record = {
|
|
57
|
-
recordedAt: now.toISOString(),
|
|
58
|
-
taskId: previous.id,
|
|
59
|
-
taskRevision: previous.revision,
|
|
60
|
-
stepId,
|
|
61
|
-
triggeringAttemptCount: decision.triggeringAttemptCount,
|
|
62
|
-
decisionEventId: decision.eventId,
|
|
63
|
-
decisionPlanHash: decision.planHash,
|
|
64
|
-
previousPlanHash: previous.planHash,
|
|
65
|
-
correctivePlanHash: saved.planHash,
|
|
66
|
-
failedReviewAttempts: decision.triggeringAttemptCount - 1,
|
|
67
|
-
auditor: audit.auditor.trim(),
|
|
68
|
-
summary: audit.summary.trim(),
|
|
69
|
-
decision: 'continue-fix',
|
|
70
|
-
reviewedFindingIds: normalizeStringList(audit.reviewedFindingIds, 'Corrective Plan audit reviewedFindingIds'),
|
|
71
|
-
};
|
|
72
|
-
validateCorrectivePlanAuditRecord(record, saved, path.join(store.taskRoot(saved.projectId, saved.id), CORRECTIVE_PLAN_AUDITS_SIDECAR), readCorrectivePlanAuditRecords(store, saved).length + 1);
|
|
73
|
-
appendFileSync(path.join(store.taskRoot(saved.projectId, saved.id), CORRECTIVE_PLAN_AUDITS_SIDECAR), `${JSON.stringify(record)}\n`, { encoding: 'utf8', mode: 0o600 });
|
|
74
|
-
return record;
|
|
75
|
-
}
|
|
76
|
-
export function hasCorrectivePlanAuditBinding(store, task, decision) {
|
|
77
|
-
if (!task.planHash || decision.decision !== 'continue-fix')
|
|
78
|
-
return false;
|
|
79
|
-
const matches = readCorrectivePlanAuditRecords(store, task).filter((record) => record.taskId === task.id
|
|
80
|
-
&& record.stepId === decision.stepId
|
|
81
|
-
&& record.triggeringAttemptCount === decision.triggeringAttemptCount
|
|
82
|
-
&& record.decisionEventId === decision.eventId
|
|
83
|
-
&& record.decisionPlanHash === decision.planHash
|
|
84
|
-
&& record.correctivePlanHash === task.planHash);
|
|
85
|
-
if (matches.length > 1) {
|
|
86
|
-
throw new WorkflowError('STATE_CORRUPT', 'Multiple corrective Plan audits bind the same decision and Plan.', {
|
|
87
|
-
taskId: task.id,
|
|
88
|
-
stepId: decision.stepId,
|
|
89
|
-
decisionEventId: decision.eventId,
|
|
90
|
-
correctivePlanHash: task.planHash,
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
return matches.length === 1;
|
|
94
|
-
}
|
|
95
22
|
export function readRemediationEvents(store, task) {
|
|
96
23
|
return validateRemediationHistory(store, task).remediationEvents;
|
|
97
24
|
}
|
|
98
25
|
export function readCorrectiveDecisionEvents(store, task) {
|
|
99
26
|
return validateRemediationHistory(store, task).correctiveDecisionEvents;
|
|
100
27
|
}
|
|
28
|
+
export function defaultCorrectiveAuditorActor(taskId) {
|
|
29
|
+
if (!/^TASK-[0-9A-HJKMNP-TV-Z]{26}$/.test(taskId)) {
|
|
30
|
+
throw new WorkflowError('INVALID_ARGUMENT', `Cannot derive a corrective Auditor actor from invalid Task ID ${taskId}.`);
|
|
31
|
+
}
|
|
32
|
+
return `agent:corrective-auditor:${taskId.toLowerCase()}`;
|
|
33
|
+
}
|
|
101
34
|
export function assertCorrectiveAuditorIndependence(store, task, stepId, auditor) {
|
|
102
35
|
const remediationEvents = readRemediationEvents(store, task).filter((event) => event.stepId === stepId);
|
|
103
36
|
const latestRemediationEvent = remediationEvents.at(-1) ?? null;
|
|
@@ -171,7 +104,7 @@ export function appendRemediationEvent(store, task, stepId, failureKind, failure
|
|
|
171
104
|
if (matching.length === 1) {
|
|
172
105
|
const reused = matching[0];
|
|
173
106
|
const priorEvents = existing.filter((event) => event.attemptOrdinal < reused.attemptOrdinal);
|
|
174
|
-
const gate = deriveAttemptGateFromHistory(task, stepId, planRiskAudit, priorEvents, readCorrectiveDecisionEvents(store, task)
|
|
107
|
+
const gate = deriveAttemptGateFromHistory(task, stepId, planRiskAudit, priorEvents, readCorrectiveDecisionEvents(store, task));
|
|
175
108
|
if (reused.attemptOrdinal !== gate.nextAttemptOrdinal || reused.mode !== gate.mode || reused.guardedCategory !== gate.guardedCategory) {
|
|
176
109
|
throw new WorkflowError('STATE_CORRUPT', 'Existing remediation event conflicts with the current guarded retry binding.', {
|
|
177
110
|
taskId: task.id,
|
|
@@ -185,7 +118,7 @@ export function appendRemediationEvent(store, task, stepId, failureKind, failure
|
|
|
185
118
|
}
|
|
186
119
|
return reused;
|
|
187
120
|
}
|
|
188
|
-
const gate = deriveAttemptGateFromHistory(task, stepId, planRiskAudit, existing, readCorrectiveDecisionEvents(store, task)
|
|
121
|
+
const gate = deriveAttemptGateFromHistory(task, stepId, planRiskAudit, existing, readCorrectiveDecisionEvents(store, task));
|
|
189
122
|
return store.appendSidecarEvent(store.taskRoot(task.projectId, task.id), REMEDIATION_EVENTS_SIDECAR, {
|
|
190
123
|
eventId: `RME-${createUlid(now.getTime())}`,
|
|
191
124
|
recordedAt: now.toISOString(),
|
|
@@ -281,18 +214,34 @@ export function assertGuardedRemediationAttemptAllowed(store, task, stepId, plan
|
|
|
281
214
|
const remediationEvents = readRemediationEvents(store, task).filter((event) => event.stepId === stepId);
|
|
282
215
|
return deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEvents, readCorrectiveDecisionEvents(store, task), {
|
|
283
216
|
enforceRuntimeGate: true,
|
|
284
|
-
correctivePlanBound: (decision) => hasCorrectivePlanAuditBinding(store, task, decision),
|
|
285
217
|
});
|
|
286
218
|
}
|
|
287
|
-
export function
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
219
|
+
export function readGuardedRemediationPostureForStep(store, task, stepId, planRiskAudit) {
|
|
220
|
+
if (!planRiskAudit.reviewRequiredStepIds.includes(stepId))
|
|
221
|
+
return null;
|
|
222
|
+
const step = task.steps.find((candidate) => candidate.id === stepId) ?? null;
|
|
223
|
+
if (!step) {
|
|
224
|
+
throw new WorkflowError('STATE_CORRUPT', `Task ${task.id} is missing guarded Step ${stepId}.`, {
|
|
225
|
+
taskId: task.id,
|
|
226
|
+
stepId,
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
const remediationEvents = readRemediationEvents(store, task).filter((event) => event.stepId === stepId);
|
|
230
|
+
if (remediationEvents.length < 2)
|
|
231
|
+
return null;
|
|
232
|
+
if (step.status === 'failed') {
|
|
233
|
+
return deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEvents, readCorrectiveDecisionEvents(store, task));
|
|
234
|
+
}
|
|
235
|
+
if (task.status !== 'blocked' || step.status !== 'in_progress' || !step.evidence)
|
|
236
|
+
return null;
|
|
237
|
+
const currentCycle = buildCurrentStrictStepReviewCycle(store, task, stepId);
|
|
238
|
+
if (currentCycle.resolution !== 'unverified')
|
|
239
|
+
return null;
|
|
240
|
+
return deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEvents, readCorrectiveDecisionEvents(store, task));
|
|
241
|
+
}
|
|
242
|
+
export function findCurrentGuardedRemediationPosture(store, task, planRiskAudit) {
|
|
243
|
+
const matches = planRiskAudit.reviewRequiredStepIds
|
|
244
|
+
.map((stepId) => readGuardedRemediationPostureForStep(store, task, stepId, planRiskAudit))
|
|
296
245
|
.filter((value) => value !== null);
|
|
297
246
|
if (matches.length === 0)
|
|
298
247
|
return null;
|
|
@@ -304,18 +253,18 @@ export function findFailedGuardedStepRequiringCorrectiveDecision(store, task, pl
|
|
|
304
253
|
}
|
|
305
254
|
return matches[0];
|
|
306
255
|
}
|
|
256
|
+
export function findFailedGuardedStepRequiringCorrectiveDecision(store, task, planRiskAudit) {
|
|
257
|
+
const posture = findCurrentGuardedRemediationPosture(store, task, planRiskAudit);
|
|
258
|
+
if (!posture)
|
|
259
|
+
return null;
|
|
260
|
+
return posture.posture === 'decision-required' || posture.posture === 'hard-stop'
|
|
261
|
+
? posture
|
|
262
|
+
: null;
|
|
263
|
+
}
|
|
307
264
|
function deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEvents, correctiveDecisions, options = {}) {
|
|
308
265
|
const attemptCount = remediationEvents.length;
|
|
309
266
|
const nextAttemptOrdinal = attemptCount + 1;
|
|
310
267
|
const guardedCategory = requireGuardedCategory(planRiskAudit, stepId);
|
|
311
|
-
if (attemptCount >= 3) {
|
|
312
|
-
throw new WorkflowError('TRANSITION_BLOCKED', `Guarded Step ${stepId} reached the hard stop after its third failed remediation review.`, {
|
|
313
|
-
taskId: task.id,
|
|
314
|
-
stepId,
|
|
315
|
-
failedAttemptCount: attemptCount,
|
|
316
|
-
requiredAction: 'Record split-required or stop-escalate; another remediation run is prohibited.',
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
268
|
if (attemptCount < 2) {
|
|
320
269
|
return {
|
|
321
270
|
stepId,
|
|
@@ -324,19 +273,28 @@ function deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEv
|
|
|
324
273
|
nextAttemptOrdinal,
|
|
325
274
|
mode: 'ordinary',
|
|
326
275
|
correctiveDecision: null,
|
|
276
|
+
posture: 'ordinary',
|
|
327
277
|
};
|
|
328
278
|
}
|
|
329
279
|
const correctiveDecision = findCurrentCorrectiveDecision(task, stepId, nextAttemptOrdinal, correctiveDecisions);
|
|
330
|
-
if (
|
|
331
|
-
if (
|
|
332
|
-
|
|
333
|
-
taskId: task.id,
|
|
280
|
+
if (attemptCount >= 3) {
|
|
281
|
+
if (correctiveDecision?.decision === 'split-required' || correctiveDecision?.decision === 'stop-escalate') {
|
|
282
|
+
return {
|
|
334
283
|
stepId,
|
|
284
|
+
guardedCategory,
|
|
335
285
|
attemptCount,
|
|
336
|
-
requiredSidecar: CORRECTIVE_DECISIONS_SIDECAR,
|
|
337
286
|
nextAttemptOrdinal,
|
|
338
|
-
|
|
339
|
-
|
|
287
|
+
mode: 'ordinary',
|
|
288
|
+
correctiveDecision,
|
|
289
|
+
posture: correctiveDecision.decision,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
if (options.enforceRuntimeGate) {
|
|
293
|
+
throw new WorkflowError('TRANSITION_BLOCKED', `Guarded Step ${stepId} reached the hard stop after its third failed remediation review.`, {
|
|
294
|
+
taskId: task.id,
|
|
295
|
+
stepId,
|
|
296
|
+
failedAttemptCount: attemptCount,
|
|
297
|
+
requiredAction: 'Record split-required or stop-escalate; another remediation run is prohibited.',
|
|
340
298
|
});
|
|
341
299
|
}
|
|
342
300
|
return {
|
|
@@ -345,18 +303,20 @@ function deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEv
|
|
|
345
303
|
attemptCount,
|
|
346
304
|
nextAttemptOrdinal,
|
|
347
305
|
mode: 'ordinary',
|
|
348
|
-
correctiveDecision
|
|
306
|
+
correctiveDecision,
|
|
307
|
+
posture: 'hard-stop',
|
|
349
308
|
};
|
|
350
309
|
}
|
|
351
|
-
if (correctiveDecision
|
|
352
|
-
&& !options.correctivePlanBound?.(correctiveDecision)) {
|
|
310
|
+
if (!correctiveDecision) {
|
|
353
311
|
if (options.enforceRuntimeGate) {
|
|
354
|
-
throw new WorkflowError('TRANSITION_BLOCKED', `Guarded Step ${stepId}
|
|
312
|
+
throw new WorkflowError('TRANSITION_BLOCKED', `Guarded Step ${stepId} exhausted two ordinary remediation attempts and requires a corrective decision before another run.`, {
|
|
355
313
|
taskId: task.id,
|
|
356
314
|
stepId,
|
|
357
315
|
attemptCount,
|
|
358
|
-
|
|
359
|
-
|
|
316
|
+
requiredSidecar: CORRECTIVE_DECISIONS_SIDECAR,
|
|
317
|
+
nextAttemptOrdinal,
|
|
318
|
+
allowedDecision: 'continue-fix',
|
|
319
|
+
escalationDecisions: ['replan-required', 'split-required', 'stop-escalate'],
|
|
360
320
|
});
|
|
361
321
|
}
|
|
362
322
|
return {
|
|
@@ -365,7 +325,8 @@ function deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEv
|
|
|
365
325
|
attemptCount,
|
|
366
326
|
nextAttemptOrdinal,
|
|
367
327
|
mode: 'ordinary',
|
|
368
|
-
correctiveDecision,
|
|
328
|
+
correctiveDecision: null,
|
|
329
|
+
posture: 'decision-required',
|
|
369
330
|
};
|
|
370
331
|
}
|
|
371
332
|
if (correctiveDecision.planHash !== task.planHash) {
|
|
@@ -377,16 +338,7 @@ function deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEv
|
|
|
377
338
|
nextAttemptOrdinal,
|
|
378
339
|
mode: 'corrective',
|
|
379
340
|
correctiveDecision,
|
|
380
|
-
|
|
381
|
-
}
|
|
382
|
-
if (correctiveDecision.decision === 'continue-fix' && options.correctivePlanBound?.(correctiveDecision)) {
|
|
383
|
-
return {
|
|
384
|
-
stepId,
|
|
385
|
-
guardedCategory,
|
|
386
|
-
attemptCount,
|
|
387
|
-
nextAttemptOrdinal,
|
|
388
|
-
mode: 'corrective',
|
|
389
|
-
correctiveDecision,
|
|
341
|
+
posture: 'replan-ready',
|
|
390
342
|
};
|
|
391
343
|
}
|
|
392
344
|
if (options.enforceRuntimeGate) {
|
|
@@ -406,6 +358,7 @@ function deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEv
|
|
|
406
358
|
nextAttemptOrdinal,
|
|
407
359
|
mode: 'ordinary',
|
|
408
360
|
correctiveDecision,
|
|
361
|
+
posture: 'decision-required',
|
|
409
362
|
};
|
|
410
363
|
}
|
|
411
364
|
if (correctiveDecision.decision !== 'continue-fix' && options.enforceRuntimeGate) {
|
|
@@ -418,6 +371,7 @@ function deriveAttemptGateFromHistory(task, stepId, planRiskAudit, remediationEv
|
|
|
418
371
|
nextAttemptOrdinal,
|
|
419
372
|
mode: correctiveDecision.decision === 'continue-fix' ? 'corrective' : 'ordinary',
|
|
420
373
|
correctiveDecision,
|
|
374
|
+
posture: correctiveDecision.decision === 'continue-fix' ? 'continue-fix' : correctiveDecision.decision,
|
|
421
375
|
};
|
|
422
376
|
}
|
|
423
377
|
function findCurrentCorrectiveDecision(task, stepId, triggeringAttemptOrdinal, events) {
|
|
@@ -806,37 +760,6 @@ function validateCorrectiveDecisionAudit(audit) {
|
|
|
806
760
|
}
|
|
807
761
|
normalizeStringList(audit.reviewedFindingIds, 'Corrective decision reviewedFindingIds');
|
|
808
762
|
}
|
|
809
|
-
function validateCorrectivePlanAuditRecord(record, task, file, line) {
|
|
810
|
-
const details = { file, line, taskId: task.id };
|
|
811
|
-
if (record.taskId !== task.id) {
|
|
812
|
-
throw new WorkflowError('STATE_CORRUPT', 'Corrective Plan audit taskId does not match the current Task.', details);
|
|
813
|
-
}
|
|
814
|
-
if (!Number.isInteger(record.taskRevision) || record.taskRevision < 0) {
|
|
815
|
-
throw new WorkflowError('STATE_CORRUPT', 'Corrective Plan audit taskRevision is invalid.', details);
|
|
816
|
-
}
|
|
817
|
-
if (typeof record.stepId !== 'string' || !record.stepId.trim()) {
|
|
818
|
-
throw new WorkflowError('STATE_CORRUPT', 'Corrective Plan audit stepId is missing.', details);
|
|
819
|
-
}
|
|
820
|
-
if (!Number.isInteger(record.triggeringAttemptCount) || record.triggeringAttemptCount !== 3) {
|
|
821
|
-
throw new WorkflowError('STATE_CORRUPT', 'Corrective Plan audit must bind the third attempt.', details);
|
|
822
|
-
}
|
|
823
|
-
if (typeof record.decisionEventId !== 'string' || !record.decisionEventId.trim()) {
|
|
824
|
-
throw new WorkflowError('STATE_CORRUPT', 'Corrective Plan audit decisionEventId is missing.', details);
|
|
825
|
-
}
|
|
826
|
-
assertHash64(record.decisionPlanHash, `Corrective Plan audit decisionPlanHash at ${file}:${line}`);
|
|
827
|
-
assertHash64(record.previousPlanHash, `Corrective Plan audit previousPlanHash at ${file}:${line}`);
|
|
828
|
-
assertHash64(record.correctivePlanHash, `Corrective Plan audit correctivePlanHash at ${file}:${line}`);
|
|
829
|
-
if (record.correctivePlanHash === record.previousPlanHash) {
|
|
830
|
-
throw new WorkflowError('STATE_CORRUPT', 'Corrective Plan audit must bind a changed replacement Plan.', details);
|
|
831
|
-
}
|
|
832
|
-
if (record.failedReviewAttempts !== 2 || record.decision !== 'continue-fix') {
|
|
833
|
-
throw new WorkflowError('STATE_CORRUPT', 'Corrective Plan audit has an invalid breaker posture.', details);
|
|
834
|
-
}
|
|
835
|
-
if (typeof record.auditor !== 'string' || !record.auditor.trim() || typeof record.summary !== 'string' || !record.summary.trim()) {
|
|
836
|
-
throw new WorkflowError('STATE_CORRUPT', 'Corrective Plan audit requires auditor and summary.', details);
|
|
837
|
-
}
|
|
838
|
-
normalizeStringList(record.reviewedFindingIds, 'Corrective Plan audit reviewedFindingIds');
|
|
839
|
-
}
|
|
840
763
|
function normalizeStringList(values, label) {
|
|
841
764
|
if (!Array.isArray(values)) {
|
|
842
765
|
throw new WorkflowError('INVALID_ARGUMENT', `${label} must be an array.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remediation.js","sourceRoot":"","sources":["../../../src/alpha6/remediation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remediation.js","sourceRoot":"","sources":["../../../src/alpha6/remediation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { DelegationGrant, DelegationPolicyInput, MilestonePlanInput, MilestoneState, SidecarEventRecord } from '../contracts.js';
|
|
2
|
+
import type { FileStateStore } from '../state/store.js';
|
|
3
|
+
export interface MilestoneAutonomyEvent extends SidecarEventRecord {
|
|
4
|
+
eventType: 'issued';
|
|
5
|
+
projectId: string;
|
|
6
|
+
milestoneId: string;
|
|
7
|
+
milestoneRevision: number;
|
|
8
|
+
principal: string;
|
|
9
|
+
delegate: string;
|
|
10
|
+
issuedAt: string;
|
|
11
|
+
expiresAt: string;
|
|
12
|
+
semanticScopeHash: string;
|
|
13
|
+
delegationGrantId: string;
|
|
14
|
+
delegationPolicyHash: string;
|
|
15
|
+
}
|
|
16
|
+
export interface MilestoneAutonomyPreparation {
|
|
17
|
+
kind: 'milestone_autonomy_contract';
|
|
18
|
+
projectId: string;
|
|
19
|
+
milestoneId: string;
|
|
20
|
+
milestoneRevision: number;
|
|
21
|
+
principal: string;
|
|
22
|
+
delegate: string;
|
|
23
|
+
expiresAt: string;
|
|
24
|
+
semanticScopeHash: string;
|
|
25
|
+
delegationPolicy: DelegationPolicyInput;
|
|
26
|
+
delegationPolicyHash: string;
|
|
27
|
+
confirmationCodeBindingHash: string;
|
|
28
|
+
confirmationCode: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ActiveMilestoneAutonomy {
|
|
31
|
+
contract: MilestoneAutonomyEvent;
|
|
32
|
+
grant: DelegationGrant;
|
|
33
|
+
}
|
|
34
|
+
export declare function milestoneSemanticScopeHash(milestone: Pick<MilestoneState, 'id' | 'discoveryId' | 'baseBranch' | 'outcome' | 'successSignal' | 'acceptance' | 'checks'>): string;
|
|
35
|
+
export declare function prepareMilestoneAutonomyContract(options: {
|
|
36
|
+
projectId: string;
|
|
37
|
+
milestone: MilestoneState;
|
|
38
|
+
principal: string;
|
|
39
|
+
delegate: string;
|
|
40
|
+
expiresAt: string;
|
|
41
|
+
now: Date;
|
|
42
|
+
}): MilestoneAutonomyPreparation;
|
|
43
|
+
export declare function applyMilestoneAutonomyContract(options: {
|
|
44
|
+
store: FileStateStore;
|
|
45
|
+
projectId: string;
|
|
46
|
+
milestone: MilestoneState;
|
|
47
|
+
principal: string;
|
|
48
|
+
delegate: string;
|
|
49
|
+
expiresAt: string;
|
|
50
|
+
confirmationCode: string;
|
|
51
|
+
now: Date;
|
|
52
|
+
}): ActiveMilestoneAutonomy;
|
|
53
|
+
export declare function requireActiveMilestoneAutonomy(options: {
|
|
54
|
+
store: FileStateStore;
|
|
55
|
+
projectId: string;
|
|
56
|
+
milestone: MilestoneState;
|
|
57
|
+
actor: string;
|
|
58
|
+
now: Date;
|
|
59
|
+
}): ActiveMilestoneAutonomy;
|
|
60
|
+
export declare function assertAutonomousPlanEvolution(milestone: MilestoneState, plan: MilestonePlanInput, contract: MilestoneAutonomyEvent): void;
|
|
61
|
+
export declare function readMilestoneAutonomyEvents(store: FileStateStore, projectId: string, milestoneId: string): MilestoneAutonomyEvent[];
|