codex-workflow-v2 2.0.0-beta.2 → 2.0.0-beta.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.
- package/README.md +35 -2
- package/dist/src/alpha6/adoption.js +13 -3
- package/dist/src/alpha6/adoption.js.map +1 -1
- package/dist/src/alpha6/handoff.d.ts +23 -0
- package/dist/src/alpha6/handoff.js +221 -28
- package/dist/src/alpha6/handoff.js.map +1 -1
- package/dist/src/alpha6/milestone.d.ts +2 -0
- package/dist/src/alpha6/milestone.js +15 -0
- package/dist/src/alpha6/milestone.js.map +1 -1
- package/dist/src/alpha6/plan-risk.d.ts +1 -0
- package/dist/src/alpha6/plan-risk.js +15 -7
- package/dist/src/alpha6/plan-risk.js.map +1 -1
- package/dist/src/alpha6/review.d.ts +1 -0
- package/dist/src/alpha6/review.js +9 -0
- package/dist/src/alpha6/review.js.map +1 -1
- package/dist/src/cli.js +253 -67
- package/dist/src/cli.js.map +1 -1
- package/dist/src/contracts.d.ts +111 -5
- package/dist/src/contracts.js +1 -1
- package/dist/src/credential-output.d.ts +10 -0
- package/dist/src/credential-output.js +73 -0
- package/dist/src/credential-output.js.map +1 -0
- package/dist/src/errors.d.ts +1 -1
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lifecycle/canonical-hash.d.ts +6 -0
- package/dist/src/lifecycle/canonical-hash.js +24 -0
- package/dist/src/lifecycle/canonical-hash.js.map +1 -0
- package/dist/src/lifecycle/catalog.d.ts +26 -0
- package/dist/src/lifecycle/catalog.js +208 -0
- package/dist/src/lifecycle/catalog.js.map +1 -0
- package/dist/src/lifecycle/compiler-inspection.d.ts +48 -0
- package/dist/src/lifecycle/compiler-inspection.js +29 -0
- package/dist/src/lifecycle/compiler-inspection.js.map +1 -0
- package/dist/src/lifecycle/core-static-readiness.d.ts +6 -0
- package/dist/src/lifecycle/core-static-readiness.js +130 -0
- package/dist/src/lifecycle/core-static-readiness.js.map +1 -0
- package/dist/src/lifecycle/corrective-replan-authority.d.ts +53 -0
- package/dist/src/lifecycle/corrective-replan-authority.js +139 -0
- package/dist/src/lifecycle/corrective-replan-authority.js.map +1 -0
- package/dist/src/lifecycle/corrective-replan-binding-manifest.d.ts +21 -0
- package/dist/src/lifecycle/corrective-replan-binding-manifest.js +35 -0
- package/dist/src/lifecycle/corrective-replan-binding-manifest.js.map +1 -0
- package/dist/src/lifecycle/corrective-replan-credential-core.d.ts +86 -0
- package/dist/src/lifecycle/corrective-replan-credential-core.js +563 -0
- package/dist/src/lifecycle/corrective-replan-credential-core.js.map +1 -0
- package/dist/src/lifecycle/corrective-replan-credential-schema.d.ts +17 -0
- package/dist/src/lifecycle/corrective-replan-credential-schema.js +44 -0
- package/dist/src/lifecycle/corrective-replan-credential-schema.js.map +1 -0
- package/dist/src/lifecycle/corrective-replan-credentials.d.ts +47 -0
- package/dist/src/lifecycle/corrective-replan-credentials.js +103 -0
- package/dist/src/lifecycle/corrective-replan-credentials.js.map +1 -0
- package/dist/src/lifecycle/corrective-replan.d.ts +64 -0
- package/dist/src/lifecycle/corrective-replan.js +548 -0
- package/dist/src/lifecycle/corrective-replan.js.map +1 -0
- package/dist/src/lifecycle/evaluator.d.ts +2 -0
- package/dist/src/lifecycle/evaluator.js +35 -0
- package/dist/src/lifecycle/evaluator.js.map +1 -0
- package/dist/src/lifecycle/fingerprint.d.ts +31 -0
- package/dist/src/lifecycle/fingerprint.js +388 -0
- package/dist/src/lifecycle/fingerprint.js.map +1 -0
- package/dist/src/lifecycle/immutable.d.ts +1 -0
- package/dist/src/lifecycle/immutable.js +10 -0
- package/dist/src/lifecycle/immutable.js.map +1 -0
- package/dist/src/lifecycle/implementation-table.d.ts +29 -0
- package/dist/src/lifecycle/implementation-table.js +87 -0
- package/dist/src/lifecycle/implementation-table.js.map +1 -0
- package/dist/src/lifecycle/index.d.ts +4 -0
- package/dist/src/lifecycle/index.js +5 -0
- package/dist/src/lifecycle/index.js.map +1 -0
- package/dist/src/lifecycle/schema-artifact.d.ts +12 -0
- package/dist/src/lifecycle/schema-artifact.js +214 -0
- package/dist/src/lifecycle/schema-artifact.js.map +1 -0
- package/dist/src/lifecycle/semantic-registry.d.ts +6 -0
- package/dist/src/lifecycle/semantic-registry.js +489 -0
- package/dist/src/lifecycle/semantic-registry.js.map +1 -0
- package/dist/src/lifecycle/types.d.ts +718 -0
- package/dist/src/lifecycle/types.js +4 -0
- package/dist/src/lifecycle/types.js.map +1 -0
- package/dist/src/observation.d.ts +20 -0
- package/dist/src/observation.js +171 -0
- package/dist/src/observation.js.map +1 -0
- package/dist/src/reviewer.d.ts +39 -1
- package/dist/src/reviewer.js +179 -43
- package/dist/src/reviewer.js.map +1 -1
- package/dist/src/state/corrective-replan-executor.d.ts +64 -0
- package/dist/src/state/corrective-replan-executor.js +608 -0
- package/dist/src/state/corrective-replan-executor.js.map +1 -0
- package/dist/src/state/corrective-replan-public-schema.d.ts +3 -0
- package/dist/src/state/corrective-replan-public-schema.js +43 -0
- package/dist/src/state/corrective-replan-public-schema.js.map +1 -0
- package/dist/src/state/corrective-replan-public.d.ts +95 -0
- package/dist/src/state/corrective-replan-public.js +665 -0
- package/dist/src/state/corrective-replan-public.js.map +1 -0
- package/dist/src/state/corrective-replan-transaction.d.ts +160 -0
- package/dist/src/state/corrective-replan-transaction.js +730 -0
- package/dist/src/state/corrective-replan-transaction.js.map +1 -0
- package/dist/src/state/corrective-yield-executor.d.ts +31 -0
- package/dist/src/state/corrective-yield-executor.js +236 -0
- package/dist/src/state/corrective-yield-executor.js.map +1 -0
- package/dist/src/state/corrective-yield-transaction.d.ts +97 -0
- package/dist/src/state/corrective-yield-transaction.js +591 -0
- package/dist/src/state/corrective-yield-transaction.js.map +1 -0
- package/dist/src/state/lock.d.ts +76 -3
- package/dist/src/state/lock.js +611 -30
- package/dist/src/state/lock.js.map +1 -1
- package/dist/src/state/store.d.ts +3 -0
- package/dist/src/state/store.js +65 -12
- package/dist/src/state/store.js.map +1 -1
- package/dist/src/transition-core.d.ts +67 -0
- package/dist/src/transition-core.js +318 -0
- package/dist/src/transition-core.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/workflow.d.ts +62 -25
- package/dist/src/workflow.js +892 -183
- package/dist/src/workflow.js.map +1 -1
- package/docs/lifecycle/state-machine-stabilization.md +641 -0
- package/docs/release.md +6 -2
- package/docs/updating-existing-project.md +9 -0
- package/package.json +4 -1
- package/plugins/codex-workflow-gateway/skills/codex-workflow-gateway/SKILL.md +36 -0
- package/schemas/adoption-posture-event.schema.json +1 -1
- package/schemas/context-envelope.schema.json +1 -1
- package/schemas/corrective-replan-credentials.private.schema.json +98 -0
- package/schemas/corrective-replan-execution-event.private.schema.json +53 -0
- package/schemas/corrective-replan-public.schema.json +142 -0
- package/schemas/corrective-replan-task-transaction.private.schema.json +151 -0
- package/schemas/corrective-yield-task-transaction.private.schema.json +98 -0
- package/schemas/remediation-event.schema.json +11 -1
- package/schemas/task-handoff-event.schema.json +1 -1
- package/schemas/transition-definition.schema.json +2609 -0
- package/schemas/transition-payloads.schema.json +140 -0
|
@@ -4,7 +4,7 @@ import { existsSync, lstatSync, readFileSync, realpathSync } from 'node:fs';
|
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { WorkflowError } from '../errors.js';
|
|
6
6
|
import { createUlid } from '../ulid.js';
|
|
7
|
-
import { assertNoSymlinkPathComponents, computeSidecarEventHash, sha256Hex, } from './store-sidecars.js';
|
|
7
|
+
import { assertNoSymlinkPathComponents, computeSidecarEventHash, prepareSidecarAppend, sha256Hex, } from './store-sidecars.js';
|
|
8
8
|
const HANDOFF_SIDECAR = 'handoffs.jsonl';
|
|
9
9
|
const NON_TERMINAL_TASK_STATUSES = new Set([
|
|
10
10
|
'planning',
|
|
@@ -18,8 +18,64 @@ const NON_TERMINAL_TASK_STATUSES = new Set([
|
|
|
18
18
|
'ready_to_merge',
|
|
19
19
|
'merging',
|
|
20
20
|
]);
|
|
21
|
-
const HANDOFF_EVENT_TYPES = new Set(['handoff', 'claim', 'handback']);
|
|
21
|
+
const HANDOFF_EVENT_TYPES = new Set(['handoff', 'claim', 'credential-replace', 'yield', 'handback']);
|
|
22
22
|
const COORDINATION_LEVEL = 'C1';
|
|
23
|
+
/**
|
|
24
|
+
* Materializes the exact append-only coordination effect without writing it. The caller must own
|
|
25
|
+
* the resulting bytes in a durable Task transaction before publishing them.
|
|
26
|
+
*/
|
|
27
|
+
export function prepareTaskCorrectiveYield(store, task, input, now) {
|
|
28
|
+
assertTaskSupportsC1Handoff(task);
|
|
29
|
+
if (task.steps.some((step) => step.status === 'in_progress')) {
|
|
30
|
+
throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} cannot yield while a Step is in progress.`, {
|
|
31
|
+
taskId: task.id,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
const actor = normalizeActor(input.actor, 'Yield actor');
|
|
35
|
+
const reason = normalizeReason(input.reason);
|
|
36
|
+
if (typeof input.writerToken !== 'string' || input.writerToken.length === 0) {
|
|
37
|
+
throw new WorkflowError('INVALID_ARGUMENT', 'Corrective yield requires the claimant writer token.');
|
|
38
|
+
}
|
|
39
|
+
if (typeof input.eventId !== 'string' || !/^HOF-[a-f0-9]{64}$/.test(input.eventId)) {
|
|
40
|
+
throw new WorkflowError('INVALID_ARGUMENT', 'Corrective yield eventId must bind the transaction SHA-256.');
|
|
41
|
+
}
|
|
42
|
+
const events = readTaskHandoffEvents(store, task);
|
|
43
|
+
const posture = readTaskC1Posture(store, task);
|
|
44
|
+
const writerLeaseTokenHash = sha256Hex(input.writerToken);
|
|
45
|
+
if (posture.state !== 'claimed' || posture.claimant !== actor
|
|
46
|
+
|| posture.writerLeaseTokenHash !== writerLeaseTokenHash) {
|
|
47
|
+
throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} corrective yield requires the exact active claimant and lease.`, {
|
|
48
|
+
taskId: task.id,
|
|
49
|
+
posture: posture.state,
|
|
50
|
+
actor,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const prepared = prepareSidecarAppend(events, {
|
|
54
|
+
eventId: input.eventId,
|
|
55
|
+
recordedAt: now.toISOString(),
|
|
56
|
+
...contextFromEvent(posture.latestEvent),
|
|
57
|
+
taskId: task.id,
|
|
58
|
+
taskRevision: task.revision,
|
|
59
|
+
eventType: 'yield',
|
|
60
|
+
coordinationLevel: COORDINATION_LEVEL,
|
|
61
|
+
actor,
|
|
62
|
+
targetActor: null,
|
|
63
|
+
machineEvidence: {
|
|
64
|
+
hostname: os.hostname(),
|
|
65
|
+
pid: process.pid,
|
|
66
|
+
platform: process.platform,
|
|
67
|
+
arch: process.arch,
|
|
68
|
+
nodeVersion: process.version,
|
|
69
|
+
},
|
|
70
|
+
writerLeaseTokenHash,
|
|
71
|
+
reason,
|
|
72
|
+
handback: null,
|
|
73
|
+
}, {
|
|
74
|
+
validateEvent: (event, context) => validateStoredTaskHandoffEvent(event, task, context.file, context.line),
|
|
75
|
+
});
|
|
76
|
+
validateTaskHandoffHistory([...events, prepared.event], task);
|
|
77
|
+
return { event: structuredClone(prepared.event), postimage: Buffer.from(prepared.content, 'utf8') };
|
|
78
|
+
}
|
|
23
79
|
export function defaultTaskWorkerActor(taskId) {
|
|
24
80
|
if (!/^TASK-[0-9A-HJKMNP-TV-Z]{26}$/.test(taskId)) {
|
|
25
81
|
throw new WorkflowError('INVALID_ARGUMENT', `Cannot derive a C1 Worker actor from invalid Task ID ${taskId}.`);
|
|
@@ -47,7 +103,7 @@ export function readTaskC1Posture(store, task) {
|
|
|
47
103
|
targetActor: latestEvent.targetActor,
|
|
48
104
|
};
|
|
49
105
|
}
|
|
50
|
-
if (latestEvent.eventType === 'claim') {
|
|
106
|
+
if (latestEvent.eventType === 'claim' || latestEvent.eventType === 'credential-replace') {
|
|
51
107
|
return {
|
|
52
108
|
state: 'claimed',
|
|
53
109
|
latestEvent,
|
|
@@ -72,10 +128,29 @@ export function appendTaskHandoff(store, task, input, now) {
|
|
|
72
128
|
const expiresAt = normalizeFutureExpiry(input.expiresAt, now);
|
|
73
129
|
const posture = readTaskC1Posture(store, task);
|
|
74
130
|
if (posture.state === 'pending') {
|
|
75
|
-
|
|
131
|
+
if (!input.replacePending) {
|
|
132
|
+
throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} already has a pending C1 handoff.`, {
|
|
133
|
+
taskId: task.id,
|
|
134
|
+
targetActor: posture.targetActor,
|
|
135
|
+
eventId: posture.latestEvent.eventId,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
if (normalizedActor !== posture.latestEvent.actor.trim()
|
|
139
|
+
|| normalizedTargetActor !== posture.targetActor
|
|
140
|
+
|| input.grantId !== posture.latestEvent.grantId) {
|
|
141
|
+
throw new WorkflowError('TRANSITION_BLOCKED', `Pending C1 handoff ${posture.latestEvent.handoffId} may only replace its lost credential without changing authority.`, {
|
|
142
|
+
taskId: task.id,
|
|
143
|
+
handoffId: posture.latestEvent.handoffId,
|
|
144
|
+
requiredActor: posture.latestEvent.actor,
|
|
145
|
+
requiredTargetActor: posture.targetActor,
|
|
146
|
+
requiredGrantId: posture.latestEvent.grantId,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
else if (input.replacePending) {
|
|
151
|
+
throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} does not have a pending C1 handoff credential to replace.`, {
|
|
76
152
|
taskId: task.id,
|
|
77
|
-
|
|
78
|
-
eventId: posture.latestEvent.eventId,
|
|
153
|
+
posture: posture.state,
|
|
79
154
|
});
|
|
80
155
|
}
|
|
81
156
|
if (posture.state === 'claimed' && posture.claimant !== normalizedActor) {
|
|
@@ -144,14 +219,55 @@ export function appendTaskHandoff(store, task, input, now) {
|
|
|
144
219
|
};
|
|
145
220
|
}
|
|
146
221
|
export function appendTaskClaim(store, task, actor, claimToken, writerToken, now) {
|
|
147
|
-
assertTaskSupportsC1Handoff(task);
|
|
148
|
-
const normalizedActor = normalizeActor(actor, 'Claim actor');
|
|
149
222
|
if (writerToken === null) {
|
|
223
|
+
const normalizedActor = normalizeActor(actor, 'Claim actor');
|
|
150
224
|
throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} claim requires a bound writer lease token.`, {
|
|
151
225
|
taskId: task.id,
|
|
152
226
|
actor: normalizedActor,
|
|
153
227
|
});
|
|
154
228
|
}
|
|
229
|
+
const posture = assertTaskClaimAllowed(store, task, actor, claimToken, now);
|
|
230
|
+
const normalizedActor = normalizeActor(actor, 'Claim actor');
|
|
231
|
+
return appendTaskHandoffEvent(store, task, {
|
|
232
|
+
eventType: 'claim',
|
|
233
|
+
actor: normalizedActor,
|
|
234
|
+
targetActor: null,
|
|
235
|
+
writerLeaseTokenHash: sha256Hex(writerToken),
|
|
236
|
+
reason: `Claimed pending C1 handoff from ${posture.latestEvent.actor}.`,
|
|
237
|
+
context: contextFromEvent(posture.latestEvent),
|
|
238
|
+
handback: null,
|
|
239
|
+
}, now);
|
|
240
|
+
}
|
|
241
|
+
export function appendTaskWriterCredentialReplacement(store, task, actor, writerToken, now) {
|
|
242
|
+
const posture = readTaskC1Posture(store, task);
|
|
243
|
+
const normalizedActor = normalizeActor(actor, 'Writer credential replacement actor');
|
|
244
|
+
if (posture.state !== 'claimed' || posture.claimant !== normalizedActor) {
|
|
245
|
+
throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} writer credential replacement requires the exact active claimant.`, {
|
|
246
|
+
taskId: task.id,
|
|
247
|
+
posture: posture.state,
|
|
248
|
+
claimant: posture.state === 'claimed' ? posture.claimant : null,
|
|
249
|
+
actor: normalizedActor,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
if (!writerToken)
|
|
253
|
+
throw new WorkflowError('INVALID_ARGUMENT', 'Replacement writer credential is required.');
|
|
254
|
+
return appendTaskHandoffEvent(store, task, {
|
|
255
|
+
eventType: 'credential-replace',
|
|
256
|
+
actor: normalizedActor,
|
|
257
|
+
targetActor: null,
|
|
258
|
+
writerLeaseTokenHash: sha256Hex(writerToken),
|
|
259
|
+
reason: 'Replaced an unavailable active writer credential.',
|
|
260
|
+
context: contextFromEvent(posture.latestEvent),
|
|
261
|
+
handback: null,
|
|
262
|
+
}, now);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Validates every deterministic Task/handoff blocker without mutating the writer lease or sidecars.
|
|
266
|
+
* Callers may then acquire/renew a lease and use appendTaskClaim as a defensive race re-check.
|
|
267
|
+
*/
|
|
268
|
+
export function assertTaskClaimAllowed(store, task, actor, claimToken, now) {
|
|
269
|
+
assertTaskSupportsC1Handoff(task);
|
|
270
|
+
const normalizedActor = normalizeActor(actor, 'Claim actor');
|
|
155
271
|
const posture = readTaskC1Posture(store, task);
|
|
156
272
|
if (posture.state !== 'pending') {
|
|
157
273
|
throw new WorkflowError('TRANSITION_BLOCKED', `Task ${task.id} does not have a pending C1 handoff to claim.`, {
|
|
@@ -178,7 +294,15 @@ export function appendTaskClaim(store, task, actor, claimToken, writerToken, now
|
|
|
178
294
|
currentTaskRevision: task.revision,
|
|
179
295
|
});
|
|
180
296
|
}
|
|
181
|
-
|
|
297
|
+
const handoffExpiresAt = Date.parse(posture.latestEvent.expiresAt);
|
|
298
|
+
if (!Number.isFinite(handoffExpiresAt)) {
|
|
299
|
+
throw new WorkflowError('STATE_CORRUPT', `C1 handoff ${posture.latestEvent.handoffId} expiry is malformed.`, {
|
|
300
|
+
taskId: task.id,
|
|
301
|
+
handoffId: posture.latestEvent.handoffId,
|
|
302
|
+
expiresAt: posture.latestEvent.expiresAt,
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
if (handoffExpiresAt <= now.getTime()) {
|
|
182
306
|
throw new WorkflowError('TRANSITION_BLOCKED', `C1 handoff ${posture.latestEvent.handoffId} has expired.`, {
|
|
183
307
|
taskId: task.id,
|
|
184
308
|
handoffId: posture.latestEvent.handoffId,
|
|
@@ -191,15 +315,7 @@ export function appendTaskClaim(store, task, actor, claimToken, writerToken, now
|
|
|
191
315
|
handoffId: posture.latestEvent.handoffId,
|
|
192
316
|
});
|
|
193
317
|
}
|
|
194
|
-
return
|
|
195
|
-
eventType: 'claim',
|
|
196
|
-
actor: normalizedActor,
|
|
197
|
-
targetActor: null,
|
|
198
|
-
writerLeaseTokenHash: writerToken ? sha256Hex(writerToken) : null,
|
|
199
|
-
reason: `Claimed pending C1 handoff from ${posture.latestEvent.actor}.`,
|
|
200
|
-
context: contextFromEvent(posture.latestEvent),
|
|
201
|
-
handback: null,
|
|
202
|
-
}, now);
|
|
318
|
+
return posture;
|
|
203
319
|
}
|
|
204
320
|
export function appendTaskHandback(store, task, actor, reason, writerToken, limitations, recommendedNext, now) {
|
|
205
321
|
const normalizedActor = normalizeActor(actor, 'Handback actor');
|
|
@@ -426,8 +542,8 @@ function validateStoredTaskHandoffEvent(event, task, file, line) {
|
|
|
426
542
|
file, line, taskId: task.id, targetActor: event.targetActor, delegate: event.delegate,
|
|
427
543
|
});
|
|
428
544
|
}
|
|
429
|
-
if ((event.eventType === 'claim' || event.eventType === 'handback') && event.targetActor !== null) {
|
|
430
|
-
throw new WorkflowError('STATE_CORRUPT', 'Task claim/handback events must not record targetActor.', {
|
|
545
|
+
if ((event.eventType === 'claim' || event.eventType === 'credential-replace' || event.eventType === 'yield' || event.eventType === 'handback') && event.targetActor !== null) {
|
|
546
|
+
throw new WorkflowError('STATE_CORRUPT', 'Task claim/credential-replace/yield/handback events must not record targetActor.', {
|
|
431
547
|
file,
|
|
432
548
|
line,
|
|
433
549
|
taskId: task.id,
|
|
@@ -501,11 +617,7 @@ function validateTaskHandoffHistory(events, task) {
|
|
|
501
617
|
switch (event.eventType) {
|
|
502
618
|
case 'handoff':
|
|
503
619
|
if (previous.state === 'pending') {
|
|
504
|
-
|
|
505
|
-
taskId: task.id,
|
|
506
|
-
eventId: event.eventId,
|
|
507
|
-
previousEventId: previous.latestEvent.eventId,
|
|
508
|
-
});
|
|
620
|
+
assertPendingHandoffReplacement(previous.latestEvent, event, task);
|
|
509
621
|
}
|
|
510
622
|
if (previous.state === 'claimed' && previous.claimant !== event.actor.trim()) {
|
|
511
623
|
throw new WorkflowError('STATE_CORRUPT', 'Only the active claimant may issue a new handoff.', {
|
|
@@ -550,16 +662,50 @@ function validateTaskHandoffHistory(events, task) {
|
|
|
550
662
|
writerLeaseTokenHash: event.writerLeaseTokenHash,
|
|
551
663
|
};
|
|
552
664
|
break;
|
|
665
|
+
case 'credential-replace':
|
|
666
|
+
if (previous.state !== 'claimed') {
|
|
667
|
+
throw new WorkflowError('STATE_CORRUPT', 'Task writer credential replacement requires the exact active claimant.', {
|
|
668
|
+
taskId: task.id,
|
|
669
|
+
eventId: event.eventId,
|
|
670
|
+
previousState: previous.state,
|
|
671
|
+
});
|
|
672
|
+
}
|
|
673
|
+
{
|
|
674
|
+
const claimedPrevious = previous;
|
|
675
|
+
if (claimedPrevious.claimant !== event.actor.trim()) {
|
|
676
|
+
throw new WorkflowError('STATE_CORRUPT', 'Task writer credential replacement actor must equal the active claimant.', {
|
|
677
|
+
taskId: task.id,
|
|
678
|
+
eventId: event.eventId,
|
|
679
|
+
claimant: claimedPrevious.claimant,
|
|
680
|
+
actor: event.actor,
|
|
681
|
+
});
|
|
682
|
+
}
|
|
683
|
+
if (event.writerLeaseTokenHash === null || event.writerLeaseTokenHash === claimedPrevious.writerLeaseTokenHash) {
|
|
684
|
+
throw new WorkflowError('STATE_CORRUPT', 'Task writer credential replacement must bind a distinct non-null lease token hash.', {
|
|
685
|
+
taskId: task.id,
|
|
686
|
+
eventId: event.eventId,
|
|
687
|
+
});
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
assertSameHandoffContext(previous.latestEvent, event, task);
|
|
691
|
+
posture = {
|
|
692
|
+
state: 'claimed',
|
|
693
|
+
latestEvent: event,
|
|
694
|
+
claimant: event.actor.trim(),
|
|
695
|
+
writerLeaseTokenHash: event.writerLeaseTokenHash,
|
|
696
|
+
};
|
|
697
|
+
break;
|
|
553
698
|
case 'handback':
|
|
699
|
+
case 'yield':
|
|
554
700
|
if (previous.state !== 'claimed') {
|
|
555
|
-
throw new WorkflowError('STATE_CORRUPT',
|
|
701
|
+
throw new WorkflowError('STATE_CORRUPT', `Task ${event.eventType} requires an active claim.`, {
|
|
556
702
|
taskId: task.id,
|
|
557
703
|
eventId: event.eventId,
|
|
558
704
|
previousState: previous.state,
|
|
559
705
|
});
|
|
560
706
|
}
|
|
561
707
|
if (previous.claimant !== event.actor.trim()) {
|
|
562
|
-
throw new WorkflowError('STATE_CORRUPT',
|
|
708
|
+
throw new WorkflowError('STATE_CORRUPT', `Task ${event.eventType} actor must equal the active claimant.`, {
|
|
563
709
|
taskId: task.id,
|
|
564
710
|
eventId: event.eventId,
|
|
565
711
|
claimant: previous.claimant,
|
|
@@ -567,7 +713,7 @@ function validateTaskHandoffHistory(events, task) {
|
|
|
567
713
|
});
|
|
568
714
|
}
|
|
569
715
|
if (previous.writerLeaseTokenHash !== event.writerLeaseTokenHash) {
|
|
570
|
-
throw new WorkflowError('STATE_CORRUPT',
|
|
716
|
+
throw new WorkflowError('STATE_CORRUPT', `Task ${event.eventType} must preserve the claimant lease-token binding.`, {
|
|
571
717
|
taskId: task.id,
|
|
572
718
|
eventId: event.eventId,
|
|
573
719
|
expectedWriterLeaseTokenHash: previous.writerLeaseTokenHash,
|
|
@@ -575,6 +721,12 @@ function validateTaskHandoffHistory(events, task) {
|
|
|
575
721
|
});
|
|
576
722
|
}
|
|
577
723
|
assertSameHandoffContext(previous.latestEvent, event, task);
|
|
724
|
+
if (event.eventType === 'yield' && event.handback !== null) {
|
|
725
|
+
throw new WorkflowError('STATE_CORRUPT', 'Task yield must not contain a terminal handback bundle.', {
|
|
726
|
+
taskId: task.id,
|
|
727
|
+
eventId: event.eventId,
|
|
728
|
+
});
|
|
729
|
+
}
|
|
578
730
|
posture = { state: 'none', latestEvent: event };
|
|
579
731
|
break;
|
|
580
732
|
default:
|
|
@@ -596,6 +748,47 @@ function validateTaskHandoffHistory(events, task) {
|
|
|
596
748
|
previousTaskRevision = event.taskRevision;
|
|
597
749
|
}
|
|
598
750
|
}
|
|
751
|
+
function assertPendingHandoffReplacement(previous, replacement, task) {
|
|
752
|
+
const fixedPrevious = {
|
|
753
|
+
taskId: previous.taskId,
|
|
754
|
+
taskRevision: previous.taskRevision,
|
|
755
|
+
milestoneId: previous.milestoneId,
|
|
756
|
+
milestoneDisplayNumber: previous.milestoneDisplayNumber,
|
|
757
|
+
taskDisplayNumber: previous.taskDisplayNumber,
|
|
758
|
+
briefHash: previous.briefHash,
|
|
759
|
+
planHash: previous.planHash,
|
|
760
|
+
knowledgeMapRevision: previous.knowledgeMapRevision,
|
|
761
|
+
knowledgeMapHash: previous.knowledgeMapHash,
|
|
762
|
+
expectedNext: previous.expectedNext,
|
|
763
|
+
delegate: previous.delegate,
|
|
764
|
+
grantId: previous.grantId,
|
|
765
|
+
actor: previous.actor.trim(),
|
|
766
|
+
targetActor: previous.targetActor,
|
|
767
|
+
};
|
|
768
|
+
const fixedReplacement = {
|
|
769
|
+
taskId: replacement.taskId,
|
|
770
|
+
taskRevision: replacement.taskRevision,
|
|
771
|
+
milestoneId: replacement.milestoneId,
|
|
772
|
+
milestoneDisplayNumber: replacement.milestoneDisplayNumber,
|
|
773
|
+
taskDisplayNumber: replacement.taskDisplayNumber,
|
|
774
|
+
briefHash: replacement.briefHash,
|
|
775
|
+
planHash: replacement.planHash,
|
|
776
|
+
knowledgeMapRevision: replacement.knowledgeMapRevision,
|
|
777
|
+
knowledgeMapHash: replacement.knowledgeMapHash,
|
|
778
|
+
expectedNext: replacement.expectedNext,
|
|
779
|
+
delegate: replacement.delegate,
|
|
780
|
+
grantId: replacement.grantId,
|
|
781
|
+
actor: replacement.actor.trim(),
|
|
782
|
+
targetActor: replacement.targetActor,
|
|
783
|
+
};
|
|
784
|
+
if (JSON.stringify(fixedPrevious) !== JSON.stringify(fixedReplacement)) {
|
|
785
|
+
throw new WorkflowError('STATE_CORRUPT', 'Pending C1 handoff credential replacement changed its authority or Task context.', {
|
|
786
|
+
taskId: task.id,
|
|
787
|
+
previousEventId: previous.eventId,
|
|
788
|
+
replacementEventId: replacement.eventId,
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
}
|
|
599
792
|
function assertSameHandoffContext(expected, actual, task) {
|
|
600
793
|
const expectedContext = contextFromEvent(expected);
|
|
601
794
|
const actualContext = contextFromEvent(actual);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/alpha6/handoff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/alpha6/handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,8 @@ export declare function prepareMilestoneScopeChangeBundle(options: {
|
|
|
51
51
|
}): PreparedMilestoneScopeChangeBundle;
|
|
52
52
|
export declare function normalizeMilestonePlan(plan: MilestonePlanInput): NormalizedMilestonePlan;
|
|
53
53
|
export declare function readMilestoneWithIntegrity(store: FileStateStore, projectId: string, milestoneId: string, readTask: ReadTask, listTasks?: ListTasks): MilestoneState;
|
|
54
|
+
/** Read-only integrity validation for observation APIs. Pending journals must be assessed first. */
|
|
55
|
+
export declare function inspectMilestoneWithIntegrity(store: FileStateStore, projectId: string, milestoneId: string, readTask: ReadTask, listTasks?: ListTasks): MilestoneState;
|
|
54
56
|
export declare function readMilestoneForScopeChange(store: FileStateStore, projectId: string, milestoneId: string, readTask: ReadTask, listTasks?: ListTasks): MilestoneState;
|
|
55
57
|
export declare function listMilestonesWithIntegrity(store: FileStateStore, projectId: string, readTask: ReadTask, listTasks?: ListTasks): MilestoneState[];
|
|
56
58
|
export declare function assessMilestoneInitialAssembly(options: {
|
|
@@ -95,6 +95,21 @@ export function readMilestoneWithIntegrity(store, projectId, milestoneId, readTa
|
|
|
95
95
|
assertMilestoneMembershipIntegrity(milestone, readTask, {}, listTasks);
|
|
96
96
|
return milestone;
|
|
97
97
|
}
|
|
98
|
+
/** Read-only integrity validation for observation APIs. Pending journals must be assessed first. */
|
|
99
|
+
export function inspectMilestoneWithIntegrity(store, projectId, milestoneId, readTask, listTasks) {
|
|
100
|
+
const milestone = store.readMilestone(projectId, milestoneId);
|
|
101
|
+
assertMilestonePlanAgreement(store, milestone);
|
|
102
|
+
const initialAssembly = assessMilestoneInitialAssembly({
|
|
103
|
+
store,
|
|
104
|
+
projectId,
|
|
105
|
+
milestone,
|
|
106
|
+
...(listTasks ? { listTasks } : {}),
|
|
107
|
+
});
|
|
108
|
+
if (initialAssembly.eligible)
|
|
109
|
+
return milestone;
|
|
110
|
+
assertMilestoneMembershipIntegrity(milestone, readTask, {}, listTasks);
|
|
111
|
+
return milestone;
|
|
112
|
+
}
|
|
98
113
|
export function readMilestoneForScopeChange(store, projectId, milestoneId, readTask, listTasks) {
|
|
99
114
|
recoverMilestoneScopeChangeTransactions(store, projectId, milestoneId, readTask);
|
|
100
115
|
const milestone = store.readMilestone(projectId, milestoneId);
|