@devflow-tools/delivery-line 0.18.18 → 0.18.20
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/dist/adapters/delivery-package.d.ts.map +1 -1
- package/dist/adapters/delivery-package.js +2 -1
- package/dist/adapters/delivery-package.js.map +1 -1
- package/dist/adapters/integration.d.ts +7 -0
- package/dist/adapters/integration.d.ts.map +1 -1
- package/dist/adapters/integration.js +11 -0
- package/dist/adapters/integration.js.map +1 -1
- package/dist/adapters/plugin-capability.d.ts +14 -0
- package/dist/adapters/plugin-capability.d.ts.map +1 -0
- package/dist/adapters/plugin-capability.js +61 -0
- package/dist/adapters/plugin-capability.js.map +1 -0
- package/dist/adapters/workflow-execution.d.ts +6 -0
- package/dist/adapters/workflow-execution.d.ts.map +1 -1
- package/dist/adapters/workflow-execution.js +54 -5
- package/dist/adapters/workflow-execution.js.map +1 -1
- package/dist/artifacts/artifact-contract.d.ts +1 -0
- package/dist/artifacts/artifact-contract.d.ts.map +1 -1
- package/dist/artifacts/artifact-contract.js +8 -7
- package/dist/artifacts/artifact-contract.js.map +1 -1
- package/dist/composition.d.ts +1 -1
- package/dist/composition.d.ts.map +1 -1
- package/dist/composition.js +17 -0
- package/dist/composition.js.map +1 -1
- package/dist/domain/plugin-capability.d.ts +33 -0
- package/dist/domain/plugin-capability.d.ts.map +1 -1
- package/dist/domain/plugin-capability.js +16 -0
- package/dist/domain/plugin-capability.js.map +1 -1
- package/dist/domain/types.d.ts +94 -2
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/domain/types.js.map +1 -1
- package/dist/facade/delivery-line-facade.d.ts +8 -0
- package/dist/facade/delivery-line-facade.d.ts.map +1 -1
- package/dist/facade/delivery-line-facade.js +149 -25
- package/dist/facade/delivery-line-facade.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/persistence/memory-store.js +1 -1
- package/dist/persistence/memory-store.js.map +1 -1
- package/dist/persistence/sqlite-store.js +1 -1
- package/dist/persistence/sqlite-store.js.map +1 -1
- package/dist/ports/index.d.ts +118 -3
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/runtime/context-binder.d.ts +21 -0
- package/dist/runtime/context-binder.d.ts.map +1 -1
- package/dist/runtime/context-binder.js +52 -16
- package/dist/runtime/context-binder.js.map +1 -1
- package/dist/runtime/execution-coordinator.d.ts +12 -1
- package/dist/runtime/execution-coordinator.d.ts.map +1 -1
- package/dist/runtime/execution-coordinator.js +193 -43
- package/dist/runtime/execution-coordinator.js.map +1 -1
- package/dist/runtime/memory-writeback.d.ts +8 -0
- package/dist/runtime/memory-writeback.d.ts.map +1 -1
- package/dist/runtime/memory-writeback.js +12 -2
- package/dist/runtime/memory-writeback.js.map +1 -1
- package/dist/runtime/operation-journal.d.ts +1 -1
- package/dist/runtime/operation-journal.d.ts.map +1 -1
- package/dist/runtime/operation-journal.js +5 -1
- package/dist/runtime/operation-journal.js.map +1 -1
- package/dist/runtime/plan-compiler.d.ts +4 -0
- package/dist/runtime/plan-compiler.d.ts.map +1 -1
- package/dist/runtime/plan-compiler.js +15 -0
- package/dist/runtime/plan-compiler.js.map +1 -1
- package/package.json +3 -3
|
@@ -32,9 +32,17 @@ function nextActionsFor(record) {
|
|
|
32
32
|
nextActions.push('compare_options');
|
|
33
33
|
if (['clarifying', 'spec_ready', 'plan_ready', 'reviewed'].includes(record.stage))
|
|
34
34
|
nextActions.push('approve');
|
|
35
|
-
if (
|
|
35
|
+
if (record.blockers?.some(blocker => blocker.code === 'WORKTREE_ADMISSION_REQUIRED'))
|
|
36
|
+
nextActions.push('admit_worktree');
|
|
37
|
+
else if (record.blockers?.some(blocker => blocker.code === 'STALE_STACK_FACTS'))
|
|
38
|
+
nextActions.push('refresh_activation');
|
|
39
|
+
else if (record.blockers?.some(blocker => blocker.code === 'EXTERNAL_CANDIDATE_REQUIRED'))
|
|
40
|
+
nextActions.push('import_external_change');
|
|
41
|
+
else if (['plan_approved', 'executing', 'needs_changes', 'held', 'blocked'].includes(record.stage))
|
|
36
42
|
nextActions.push('resume');
|
|
37
|
-
if (record.
|
|
43
|
+
if (record.tasks.some(task => task.status === 'running' || task.status === 'merge_pending') || record.blockers?.some(blocker => blocker.code === 'WORKER_RECONCILIATION_INCONCLUSIVE'))
|
|
44
|
+
nextActions.push('recover_task');
|
|
45
|
+
if (record.stage === 'failed' && (record.blockers?.some(blocker => blocker.retryable) ?? true))
|
|
38
46
|
nextActions.push('retry_task');
|
|
39
47
|
if (record.stage === 'release_pending')
|
|
40
48
|
nextActions.push('export');
|
|
@@ -49,7 +57,7 @@ function staleTurnError(record, receivedTurn) {
|
|
|
49
57
|
currentTurn: record.interaction.turn,
|
|
50
58
|
currentStage: record.stage,
|
|
51
59
|
allowedActions,
|
|
52
|
-
recoveryAction:
|
|
60
|
+
recoveryAction: `Refresh delivery_status and retry the allowed action with currentTurn=${record.interaction.turn}.`,
|
|
53
61
|
});
|
|
54
62
|
}
|
|
55
63
|
function releaseBindingHash(record) {
|
|
@@ -95,17 +103,6 @@ export class DeliveryLineFacade {
|
|
|
95
103
|
if (input.caseId)
|
|
96
104
|
return this.status(id);
|
|
97
105
|
}
|
|
98
|
-
if (this.ports.revision?.inspectWorktree) {
|
|
99
|
-
const worktree = await this.ports.revision.inspectWorktree({ repositoryPath: projectRoot, baseRevision: baseRef });
|
|
100
|
-
if (worktree.dirtyFiles.length > 0) {
|
|
101
|
-
throw new DeliveryLineError('MISSING_PREREQUISITE', 'delivery requires a clean worktree before case creation', {
|
|
102
|
-
dirtyFiles: worktree.dirtyFiles,
|
|
103
|
-
baseRevision: baseRef,
|
|
104
|
-
currentRevision: worktree.currentRevision,
|
|
105
|
-
recoveryAction: 'stash or commit existing changes, then create the Delivery case again',
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
106
|
let contextReceipt = input.contextReceipt;
|
|
110
107
|
let contextQuality;
|
|
111
108
|
if (this.ports.context) {
|
|
@@ -125,22 +122,45 @@ export class DeliveryLineFacade {
|
|
|
125
122
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'context receipt is not authoritative');
|
|
126
123
|
contextReceipt = bound.receiptHash;
|
|
127
124
|
if (bound.channelStatus && bound.gaps && bound.attribution)
|
|
128
|
-
contextQuality = { blocking: bound.blocking ?? false, channelStatus: bound.channelStatus, gaps: bound.gaps, attribution: bound.attribution };
|
|
125
|
+
contextQuality = { blocking: bound.blocking ?? false, ...(bound.channelAvailability ? { channelAvailability: bound.channelAvailability } : {}), channelStatus: bound.channelStatus, gaps: bound.gaps, attribution: bound.attribution, ...('quality' in bound && bound.quality ? { quality: bound.quality } : {}) };
|
|
129
126
|
}
|
|
130
127
|
if (!contextReceipt)
|
|
131
128
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'context receipt is required when authoritative retrieval is not configured');
|
|
132
129
|
const now = Date.now();
|
|
133
130
|
const riskTier = input.riskSignals?.some(signal => /auth|scope|security|database|gateway|release/i.test(signal)) ? 'high' : input.riskTier ?? 'low';
|
|
131
|
+
const worktreeMode = input.worktreeMode ?? 'isolated';
|
|
132
|
+
const admission = await this.ports.worktreeAdmission?.inspect({ projectRoot });
|
|
133
|
+
const stackFacts = await this.ports.stackFacts?.inspect({ projectRoot });
|
|
134
|
+
const runtimeProjection = await this.ports.runtimeActivation?.capture({ projectRoot, sessionId: input.sessionId, executionId: input.executionId, revision: baseRef }) ?? {
|
|
135
|
+
host: 'external', provider: 'none', model: 'none', permissions: { mode: 'external-candidate-only' }, probeReceiptHash: 'not-applicable',
|
|
136
|
+
};
|
|
137
|
+
const activationBody = {
|
|
138
|
+
schemaVersion: 'delivery-runtime-activation.v1',
|
|
139
|
+
projectRoot, sessionId: input.sessionId, executionId: input.executionId, revision: baseRef,
|
|
140
|
+
...runtimeProjection,
|
|
141
|
+
contextReceiptHash: contextReceipt,
|
|
142
|
+
stackFactsHash: stackFacts?.fingerprint ?? hash({ projectRoot, baseRef }),
|
|
143
|
+
pluginSelectionHash: hash({ selectedPlugins: stackFacts?.selectedPlugins ?? [], selectedRunners: stackFacts?.selectedRunners ?? [] }),
|
|
144
|
+
createdAt: now,
|
|
145
|
+
};
|
|
146
|
+
const admissionBlocked = Boolean(admission && !admission.clean && (worktreeMode === 'auto' || worktreeMode === 'clean'));
|
|
134
147
|
const record = {
|
|
135
148
|
id, projectRoot, baseRef, integrationRef: `refs/devflow/delivery/${id}`, targetRef: input.targetRef,
|
|
136
149
|
title: input.title, source: input.source ?? 'human', riskTier, autonomy: input.autonomy ?? 'manual', stage: 'clarifying',
|
|
137
150
|
budgets: { ...defaults, ...input.budgets }, artifacts: [], tasks: [], approvals: [], decisions: [], evidence: [],
|
|
138
151
|
approvalStates: {},
|
|
139
152
|
interaction: { phase: 'clarification', status: 'awaiting_user', turn: 1, openQuestions: [input.existingImplementations?.length ? `Existing implementations were detected (${input.existingImplementations.join(', ')}). Which implementation should be extended, replaced, or retained?` : 'What outcome and acceptance criteria should this change satisfy?'], blockingUnknowns: [input.existingImplementations?.length ? `Existing implementations were detected (${input.existingImplementations.join(', ')}). Which implementation should be extended, replaced, or retained?` : 'What outcome and acceptance criteria should this change satisfy?'], summaryRefs: [] },
|
|
140
|
-
createdBy: input.actor, sessionId: input.sessionId, executionId: input.executionId, createdAt: now, updatedAt: now, version: 0, contextReceipt,
|
|
153
|
+
createdBy: input.actor, sessionId: input.sessionId, executionId: input.executionId, createdAt: now, updatedAt: now, version: 0, contextReceipt, worktreeMode,
|
|
154
|
+
runtimeActivation: { ...activationBody, snapshotHash: hash(activationBody) },
|
|
141
155
|
...(input.existingImplementations?.length ? { existingImplementations: [...input.existingImplementations] } : {}),
|
|
142
156
|
...(contextQuality ? { contextQuality } : {}),
|
|
157
|
+
...(stackFacts ? { stackFacts: { ...stackFacts, capturedAt: now } } : {}),
|
|
143
158
|
};
|
|
159
|
+
if (admissionBlocked) {
|
|
160
|
+
record.stage = 'held';
|
|
161
|
+
record.interaction.status = 'paused';
|
|
162
|
+
record.blockers = [{ code: 'WORKTREE_ADMISSION_REQUIRED', message: 'The project worktree contains uncommitted changes.', responsibleRole: 'delivery-owner', requiredRole: 'delivery-owner', artifactRefs: [], evidenceRefs: [], recoveryAction: 'Choose isolated, external, or clean admission before continuing.', retryable: true, diagnostics: { dirtyFiles: admission?.dirtyFiles ?? [], actions: ['isolated', 'external', 'clean'], currentRevision: admission?.revision, baseRevision: baseRef, admissionToken: hash({ projectRoot, baseRef, currentRevision: admission?.revision, dirtyFiles: admission?.dirtyFiles ?? [] }) } }];
|
|
163
|
+
}
|
|
144
164
|
await this.ports.store.create(record);
|
|
145
165
|
await appendLedgerEvent(this.ports.store, { caseId: id, type: 'case.created', actor: input.actor, idempotencyKey: input.idempotencyKey, payload: { stage: record.stage } });
|
|
146
166
|
return this.view(record);
|
|
@@ -244,11 +264,11 @@ export class DeliveryLineFacade {
|
|
|
244
264
|
});
|
|
245
265
|
record.contextReceipt = designerReceipt.receiptHash;
|
|
246
266
|
if (designerReceipt.channelStatus && designerReceipt.gaps && designerReceipt.attribution)
|
|
247
|
-
record.contextQuality = { blocking: designerReceipt.blocking ?? false, channelStatus: designerReceipt.channelStatus, gaps: designerReceipt.gaps, attribution: designerReceipt.attribution };
|
|
267
|
+
record.contextQuality = { blocking: designerReceipt.blocking ?? false, ...(designerReceipt.channelAvailability ? { channelAvailability: designerReceipt.channelAvailability } : {}), channelStatus: designerReceipt.channelStatus, gaps: designerReceipt.gaps, attribution: designerReceipt.attribution, ...('quality' in designerReceipt && designerReceipt.quality ? { quality: designerReceipt.quality } : {}) };
|
|
248
268
|
}
|
|
249
269
|
const decisionHash = hash({ questionId, optionId, selectedLabel, optionsSnapshot });
|
|
250
270
|
record.decisions.push({ id: randomUUID(), kind: 'technical', questionId, question: 'Which implementation option should Delivery execute?', options: optionsSnapshot.map(option => option.label), optionsSnapshot, optionId, selectedLabel, decisionHash, sessionId: input.sessionId, toolUseId: input.toolUseId, decision: selectedLabel, decidedBy: input.actor, artifactHash: decisionHash });
|
|
251
|
-
const stackFactsHash = hash({ projectRoot: record.projectRoot, baseRef: record.baseRef, targetRef: record.targetRef });
|
|
271
|
+
const stackFactsHash = record.stackFacts?.fingerprint ?? record.runtimeActivation?.stackFactsHash ?? record.stackFactsHash ?? hash({ projectRoot: record.projectRoot, baseRef: record.baseRef, targetRef: record.targetRef });
|
|
252
272
|
const selectedCapabilities = this.capabilities?.manifests.length
|
|
253
273
|
? selectPluginCapabilities({
|
|
254
274
|
detectedStacks: this.capabilities.detectedStacks,
|
|
@@ -258,7 +278,9 @@ export class DeliveryLineFacade {
|
|
|
258
278
|
: undefined;
|
|
259
279
|
const pluginManifestHash = selectedCapabilities?.selectedManifestHash ?? hash({ capability: selectedLabel, protocolVersion: 'delivery-capability.v1' });
|
|
260
280
|
record.stackFactsHash = stackFactsHash;
|
|
261
|
-
|
|
281
|
+
const requiredContextChannels = [...new Set(Object.values(selectedCapabilities?.selected ?? {}).flatMap(manifest => manifest.requiredContextChannels))]
|
|
282
|
+
.filter((channel) => ['code', 'memory', 'knowledge'].includes(channel));
|
|
283
|
+
record.pluginSelection = { selectedManifestHash: pluginManifestHash, stackFactsHash, decisionRefs: [decisionHash], selectionReason: selectedCapabilities?.selectionReason ?? 'selected by current user decision', rejectedAlternatives: [...new Set([...(selectedCapabilities?.rejectedAlternatives ?? []), ...optionsSnapshot.filter(option => option.id !== optionId).map(option => option.id)])], ...(requiredContextChannels.length ? { requiredContextChannels } : {}), selectedAt: Date.now() };
|
|
262
284
|
await this.createProjectionArtifact(record, 'plugin-selection.md', 'Plugin selection', 'Capability providers selected by Delivery from stack facts and the current decision.', record.pluginSelection, input.actor);
|
|
263
285
|
record.stage = 'spec_ready';
|
|
264
286
|
record.interaction = { ...record.interaction, phase: 'design', status: 'awaiting_approval', openQuestions: [], blockingUnknowns: [] };
|
|
@@ -282,6 +304,7 @@ export class DeliveryLineFacade {
|
|
|
282
304
|
if (this.ports.context) {
|
|
283
305
|
const plannerReceipt = await this.ports.context.build({
|
|
284
306
|
role: 'planner',
|
|
307
|
+
...(record.pluginSelection?.requiredContextChannels?.length ? { requiredChannels: record.pluginSelection.requiredContextChannels } : {}),
|
|
285
308
|
retrieval: {
|
|
286
309
|
taskRevision: record.version + 1,
|
|
287
310
|
projectRoot: record.projectRoot,
|
|
@@ -294,7 +317,7 @@ export class DeliveryLineFacade {
|
|
|
294
317
|
});
|
|
295
318
|
record.contextReceipt = plannerReceipt.receiptHash;
|
|
296
319
|
if (plannerReceipt.channelStatus && plannerReceipt.gaps && plannerReceipt.attribution)
|
|
297
|
-
record.contextQuality = { blocking: plannerReceipt.blocking ?? false, channelStatus: plannerReceipt.channelStatus, gaps: plannerReceipt.gaps, attribution: plannerReceipt.attribution };
|
|
320
|
+
record.contextQuality = { blocking: plannerReceipt.blocking ?? false, ...(plannerReceipt.channelAvailability ? { channelAvailability: plannerReceipt.channelAvailability } : {}), channelStatus: plannerReceipt.channelStatus, gaps: plannerReceipt.gaps, attribution: plannerReceipt.attribution, ...('quality' in plannerReceipt && plannerReceipt.quality ? { quality: plannerReceipt.quality } : {}) };
|
|
298
321
|
}
|
|
299
322
|
planContent = renderPlanMarkdown(input.plan);
|
|
300
323
|
proposedArtifactHash = contentHash(planContent);
|
|
@@ -370,6 +393,9 @@ export class DeliveryLineFacade {
|
|
|
370
393
|
taskId: envelopes[0]?.taskId ?? '',
|
|
371
394
|
baseRevision: record.baseRef,
|
|
372
395
|
verificationEvidenceHashes: [],
|
|
396
|
+
reviewEvidenceHashes: [],
|
|
397
|
+
intentArtifactHash: record.artifacts.find(item => item.type === 'intent')?.contentHash,
|
|
398
|
+
specArtifactHash: record.artifacts.find(item => item.type === 'spec')?.contentHash,
|
|
373
399
|
};
|
|
374
400
|
}
|
|
375
401
|
record.tasks = envelopes.map(envelope => ({
|
|
@@ -389,6 +415,7 @@ export class DeliveryLineFacade {
|
|
|
389
415
|
hostSelectionSnapshotHash: envelope.hostSelectionSnapshotHash,
|
|
390
416
|
executionAuthority: envelope.executionAuthority,
|
|
391
417
|
constraints: envelope.constraints,
|
|
418
|
+
planNodes: envelope.nodes,
|
|
392
419
|
status: 'pending',
|
|
393
420
|
evidence: [],
|
|
394
421
|
}));
|
|
@@ -414,6 +441,14 @@ export class DeliveryLineFacade {
|
|
|
414
441
|
if (record.stage === 'plan_approved')
|
|
415
442
|
record.stage = 'executing';
|
|
416
443
|
if (record.stage === 'executing') {
|
|
444
|
+
if (record.stackFacts && this.ports.stackFacts) {
|
|
445
|
+
const currentStackFacts = await this.ports.stackFacts.inspect({ projectRoot: record.projectRoot });
|
|
446
|
+
if (currentStackFacts.fingerprint !== record.stackFacts.fingerprint)
|
|
447
|
+
return hold(record, { code: 'STALE_STACK_FACTS', message: 'Project stack facts changed after case creation.', responsibleRole: 'planner', requiredRole: 'planner', recoveryAction: 'Refresh stack facts and re-approve the executable plan.', retryable: false, diagnostics: { previousFingerprint: record.stackFacts.fingerprint, currentFingerprint: currentStackFacts.fingerprint } });
|
|
448
|
+
}
|
|
449
|
+
if (record.worktreeMode === 'external' && !record.evidence.some(item => item.kind === 'tool' && item.metadata.trust === 'external-untrusted' && item.metadata.imported === true)) {
|
|
450
|
+
return hold(record, { code: 'EXTERNAL_CANDIDATE_REQUIRED', message: 'The admitted external workspace must be imported as an untrusted candidate before execution.', responsibleRole: 'delivery-owner', requiredRole: 'delivery-owner', recoveryAction: 'Commit the admitted workspace changes, then call import-change with that candidate revision.', retryable: false, diagnostics: { baseRevision: record.worktreeAdmission?.baseRevision ?? record.baseRef, currentRevision: record.worktreeAdmission?.currentRevision, dirtyFiles: record.worktreeAdmission?.dirtyFiles ?? [] } });
|
|
451
|
+
}
|
|
417
452
|
const verifier = this.ports.verification;
|
|
418
453
|
if (!this.ports.execution)
|
|
419
454
|
return hold(record, { code: 'WORKER_UNAVAILABLE', message: 'No Delivery execution adapter is configured for this case.', responsibleRole: 'execution-owner', recoveryAction: 'Configure a Delivery execution adapter or import an external change.', retryable: false });
|
|
@@ -426,6 +461,18 @@ export class DeliveryLineFacade {
|
|
|
426
461
|
verify: input => this.ports.verification.verify(input),
|
|
427
462
|
integrate: input => this.ports.integration.integrate(input),
|
|
428
463
|
inspectIntegration: async (input) => await this.ports.integration.inspect?.(input) ?? null,
|
|
464
|
+
inspectWorker: this.ports.execution.inspectWorker ? (input => this.ports.execution.inspectWorker(input)) : undefined,
|
|
465
|
+
runCapabilities: record.stackFacts?.selectedRunners?.length && this.ports.capabilities ? async ({ task, execution }) => {
|
|
466
|
+
const receipts = [];
|
|
467
|
+
for (const pluginName of record.stackFacts.selectedRunners) {
|
|
468
|
+
const manifest = await this.ports.capabilities.manifest(pluginName);
|
|
469
|
+
const receipt = await this.ports.capabilities.run({ caseId: record.id, taskId: task.id, pluginName, capability: manifest.capability, manifestHash: manifest.manifestHash, stackFactsFingerprint: record.stackFacts.fingerprint, allowedFiles: task.allowedFiles, payload: { changedFiles: execution.handoff?.changedFiles ?? [], planHash: task.planHash, contextReceiptHash: task.contextReceiptHash, baseRevision: task.baseRevision, fencingToken: task.fencingToken } });
|
|
470
|
+
if (receipt.manifestHash !== manifest.manifestHash)
|
|
471
|
+
throw new DeliveryLineError('ARTIFACT_HASH_MISMATCH', `plugin receipt hash mismatch: ${pluginName}`);
|
|
472
|
+
receipts.push({ ...receipt, pluginName, capability: manifest.capability, stackFactsFingerprint: record.stackFacts.fingerprint });
|
|
473
|
+
}
|
|
474
|
+
return receipts;
|
|
475
|
+
} : undefined,
|
|
429
476
|
}, this.ports.operationJournal).run(record);
|
|
430
477
|
if (record.tasks.length > 0 && record.tasks.every(task => task.status === 'integrated')) {
|
|
431
478
|
await this.createProjectionArtifact(record, 'code-evidence.md', 'Code evidence', 'Worker handoffs and changed files bound to the integrated candidate revision.', {
|
|
@@ -442,7 +489,7 @@ export class DeliveryLineFacade {
|
|
|
442
489
|
record.evidence.push(this.evidence('verification', planReceipt));
|
|
443
490
|
await this.createProjectionArtifact(record, 'verification.md', 'Verification', 'Verification evidence for the integrated revision.', { commit: planReceipt.commit, passed: planReceipt.passed, evidenceHash: hash(planReceipt) }, input.actor);
|
|
444
491
|
if (record.lineage) {
|
|
445
|
-
record.lineage = { ...record.lineage, candidateRevision: integrationRevision, verificationEvidenceHashes: record.evidence.filter(item => item.kind === 'verification').map(item => item.hash) };
|
|
492
|
+
record.lineage = { ...record.lineage, candidateRevision: integrationRevision, integrationRevision, verificationEvidenceHashes: record.evidence.filter(item => item.kind === 'verification').map(item => item.hash) };
|
|
446
493
|
}
|
|
447
494
|
record.stage = 'verified';
|
|
448
495
|
}
|
|
@@ -461,7 +508,10 @@ export class DeliveryLineFacade {
|
|
|
461
508
|
if (result.receipts.some(receipt => receipt.artifactHash !== reviewArtifactHash))
|
|
462
509
|
return hold(record, { code: 'STALE_REVIEW_EVIDENCE', message: 'Review evidence does not match the current integration revision.', responsibleRole: 'review-owner', recoveryAction: 'Run review again against the current integration revision.', retryable: true });
|
|
463
510
|
else {
|
|
464
|
-
|
|
511
|
+
const reviewEvidence = result.receipts.map(receipt => this.evidence('review', receipt));
|
|
512
|
+
record.evidence.push(...reviewEvidence);
|
|
513
|
+
if (record.lineage)
|
|
514
|
+
record.lineage = { ...record.lineage, reviewEvidenceHashes: reviewEvidence.map(item => item.hash) };
|
|
465
515
|
await this.createProjectionArtifact(record, 'review.md', 'Review', 'Independent review evidence for the integrated revision.', { artifactHash: reviewArtifactHash, passed: result.passed, receipts: result.receipts.map(receipt => receipt.id) }, input.actor);
|
|
466
516
|
if (!result.passed) {
|
|
467
517
|
record.stage = 'needs_changes';
|
|
@@ -480,9 +530,62 @@ export class DeliveryLineFacade {
|
|
|
480
530
|
return record;
|
|
481
531
|
});
|
|
482
532
|
}
|
|
533
|
+
/** Explicit recovery action used after a process restart or an unknown operation receipt. */
|
|
534
|
+
async recoverTask(caseId, input) {
|
|
535
|
+
return this.resume(caseId, input);
|
|
536
|
+
}
|
|
537
|
+
async admitWorktree(caseId, input) {
|
|
538
|
+
requireIdentity(input);
|
|
539
|
+
return this.mutate(caseId, input, 'worktree.admitted', async (record) => {
|
|
540
|
+
if (record.blockers?.[0]?.code !== 'WORKTREE_ADMISSION_REQUIRED')
|
|
541
|
+
throw new DeliveryLineError('INVALID_TRANSITION', 'case is not awaiting worktree admission');
|
|
542
|
+
const expectedToken = record.blockers[0].diagnostics?.admissionToken;
|
|
543
|
+
if (typeof expectedToken !== 'string' || input.admissionToken !== expectedToken)
|
|
544
|
+
throw new DeliveryLineError('ARTIFACT_HASH_MISMATCH', 'worktree admission token is stale');
|
|
545
|
+
const admission = await this.ports.worktreeAdmission?.inspect({ projectRoot: record.projectRoot });
|
|
546
|
+
if (input.mode === 'clean' && admission && !admission.clean)
|
|
547
|
+
return hold(record, { code: 'WORKTREE_ADMISSION_REQUIRED', message: 'The project worktree is still dirty.', responsibleRole: 'delivery-owner', requiredRole: 'delivery-owner', recoveryAction: 'Clean the listed files or choose isolated/external admission.', retryable: true, diagnostics: { dirtyFiles: admission.dirtyFiles, choices: ['isolated', 'external', 'clean'] } });
|
|
548
|
+
record.worktreeMode = input.mode;
|
|
549
|
+
record.worktreeAdmission = { mode: input.mode, baseRevision: record.baseRef, currentRevision: admission?.revision, dirtyFiles: admission?.dirtyFiles ?? [], admissionToken: input.admissionToken, admittedAt: Date.now() };
|
|
550
|
+
record.stage = 'clarifying';
|
|
551
|
+
record.blockers = [];
|
|
552
|
+
record.interaction.status = 'awaiting_user';
|
|
553
|
+
return record;
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
async refreshActivation(caseId, input) {
|
|
557
|
+
requireIdentity(input);
|
|
558
|
+
return this.mutate(caseId, input, 'activation.refreshed', async (record) => {
|
|
559
|
+
if (!this.ports.stackFacts)
|
|
560
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'stack facts adapter is required to refresh activation');
|
|
561
|
+
const current = await this.ports.stackFacts.inspect({ projectRoot: record.projectRoot });
|
|
562
|
+
let runtimeActivation = record.runtimeActivation;
|
|
563
|
+
if (this.ports.runtimeActivation) {
|
|
564
|
+
const projection = await this.ports.runtimeActivation.capture({ projectRoot: record.projectRoot, sessionId: input.sessionId, executionId: input.executionId, revision: record.baseRef });
|
|
565
|
+
const body = {
|
|
566
|
+
schemaVersion: 'delivery-runtime-activation.v1',
|
|
567
|
+
projectRoot: record.projectRoot, sessionId: input.sessionId, executionId: input.executionId, revision: record.baseRef,
|
|
568
|
+
...projection,
|
|
569
|
+
contextReceiptHash: record.contextReceipt ?? input.contextReceipt,
|
|
570
|
+
stackFactsHash: current.fingerprint,
|
|
571
|
+
pluginSelectionHash: record.pluginSelection ? hash(record.pluginSelection) : hash({ selectedPlugins: current.selectedPlugins, selectedRunners: current.selectedRunners }),
|
|
572
|
+
createdAt: Date.now(),
|
|
573
|
+
};
|
|
574
|
+
runtimeActivation = { ...body, snapshotHash: hash(body) };
|
|
575
|
+
}
|
|
576
|
+
const changed = record.stackFacts?.fingerprint !== current.fingerprint || runtimeActivation?.snapshotHash !== record.runtimeActivation?.snapshotHash;
|
|
577
|
+
let next = changed && ['plan_approved', 'executing', 'held', 'blocked', 'failed', 'needs_changes', 'verified', 'reviewed', 'release_pending'].includes(record.stage)
|
|
578
|
+
? invalidateDownstream('plan_ready', record) : record;
|
|
579
|
+
next.stackFacts = { ...current, capturedAt: Date.now() };
|
|
580
|
+
next.runtimeActivation = runtimeActivation;
|
|
581
|
+
next.blockers = next.blockers?.filter(blocker => blocker.code !== 'STALE_STACK_FACTS');
|
|
582
|
+
return next;
|
|
583
|
+
});
|
|
584
|
+
}
|
|
483
585
|
async retryTask(caseId, input) { return this.mutate(caseId, input, 'task.retried', record => { const task = record.tasks.find(item => item.id === input.taskId); if (!task)
|
|
484
586
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'task not found'); if (!['failed', 'blocked', 'needs_changes', 'verified'].includes(task.status))
|
|
485
|
-
throw new DeliveryLineError('INVALID_TRANSITION', 'task is not retryable');
|
|
587
|
+
throw new DeliveryLineError('INVALID_TRANSITION', 'task is not retryable'); const blocker = record.blockers?.find(item => item.taskId === task.id); if (blocker && !blocker.retryable)
|
|
588
|
+
throw new DeliveryLineError('INVALID_TRANSITION', `task failure is not retryable: ${blocker.code}`); task.status = 'pending'; task.integratedRevision = undefined; record.blockers = record.blockers?.filter(item => item.taskId !== task.id); if (['failed', 'blocked', 'needs_changes', 'held'].includes(record.stage))
|
|
486
589
|
record.stage = 'executing'; return record; }); }
|
|
487
590
|
async importExternalChange(caseId, input) {
|
|
488
591
|
requireIdentity(input);
|
|
@@ -525,7 +628,7 @@ export class DeliveryLineFacade {
|
|
|
525
628
|
record.evidence.push({ id: randomUUID(), kind: 'merge', hash: hash(integrated), createdAt: Date.now(), metadata: integrated });
|
|
526
629
|
record.stage = 'verified';
|
|
527
630
|
if (record.lineage)
|
|
528
|
-
record.lineage = { ...record.lineage, candidateRevision: integrated.candidateRevision, verificationEvidenceHashes: record.evidence.filter(item => item.kind === 'verification').map(item => item.hash) };
|
|
631
|
+
record.lineage = { ...record.lineage, candidateRevision: integrated.candidateRevision, integrationRevision: integrated.candidateRevision, verificationEvidenceHashes: record.evidence.filter(item => item.kind === 'verification').map(item => item.hash) };
|
|
529
632
|
return record;
|
|
530
633
|
});
|
|
531
634
|
}
|
|
@@ -538,10 +641,29 @@ export class DeliveryLineFacade {
|
|
|
538
641
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'delivery package adapter is required');
|
|
539
642
|
if (record.tasks.length === 0 || record.tasks.some(task => task.status !== 'integrated' || !task.integratedRevision))
|
|
540
643
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'all tasks must be integrated before export');
|
|
644
|
+
if (!['intent', 'spec', 'plan'].every(type => record.artifacts.some(artifact => artifact.type === type)))
|
|
645
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'intent, spec, and plan lineage is required before export');
|
|
541
646
|
if (!record.lineage || (record.tasks[0]?.planHash && record.lineage.planHash !== record.tasks[0].planHash) || record.lineage.baseRevision !== record.baseRef)
|
|
542
647
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'execution lineage is incomplete or stale');
|
|
543
648
|
if (!record.evidence.some(item => item.kind === 'verification') || !record.evidence.some(item => item.kind === 'review'))
|
|
544
649
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'verification and review evidence are required before export');
|
|
650
|
+
if (!record.evidence.some(item => item.kind === 'merge' && item.metadata.candidateRevision === record.integrationRevision))
|
|
651
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'integration lineage is required before export');
|
|
652
|
+
const intentHash = record.artifacts.find(item => item.type === 'intent')?.contentHash;
|
|
653
|
+
const specHash = record.artifacts.find(item => item.type === 'spec')?.contentHash;
|
|
654
|
+
const currentVerificationHashes = record.evidence.filter(item => item.kind === 'verification').map(item => item.hash);
|
|
655
|
+
const currentReviewHashes = record.evidence.filter(item => item.kind === 'review').map(item => item.hash);
|
|
656
|
+
if (record.lineage.intentArtifactHash !== intentHash || record.lineage.specArtifactHash !== specHash
|
|
657
|
+
|| record.lineage.integrationRevision !== record.integrationRevision
|
|
658
|
+
|| record.lineage.verificationEvidenceHashes.length === 0
|
|
659
|
+
|| record.lineage.verificationEvidenceHashes.some(item => !currentVerificationHashes.includes(item))
|
|
660
|
+
|| record.lineage.reviewEvidenceHashes.length === 0
|
|
661
|
+
|| record.lineage.reviewEvidenceHashes.some(item => !currentReviewHashes.includes(item))) {
|
|
662
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'execution lineage does not contain the current intent, spec, verification, review, and integration evidence');
|
|
663
|
+
}
|
|
664
|
+
for (const pluginName of record.stackFacts?.selectedRunners ?? [])
|
|
665
|
+
if (!record.evidence.some(item => item.kind === 'tool' && item.metadata.pluginName === pluginName && item.metadata.stackFactsFingerprint === record.stackFacts?.fingerprint && item.metadata.verified === true))
|
|
666
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', `verified plugin runner lineage is missing: ${pluginName}`);
|
|
545
667
|
const packageInput = { record, path: input.path };
|
|
546
668
|
const operationId = `package:${record.id}:${input.idempotencyKey}`;
|
|
547
669
|
const requestHash = hash({ caseId: record.id, path: input.path, integrationRevision: record.integrationRevision, artifacts: record.artifacts.map(item => item.contentHash), evidence: record.evidence.map(item => item.hash) });
|
|
@@ -593,6 +715,8 @@ export class DeliveryLineFacade {
|
|
|
593
715
|
const packageArtifact = { id: randomUUID(), caseId: record.id, type: 'delivery-package', repoId: record.projectRoot, ref: record.integrationRef, commit: record.integrationRevision ?? record.baseRef, path: exported.path, blobHash: exported.packageHash, parentBlobHashes: record.artifacts.length ? [record.artifacts.at(-1).blobHash] : [], contentHash: exported.packageHash, createdBy: input.actor, createdAt: Date.now() };
|
|
594
716
|
record.artifacts.push(packageArtifact);
|
|
595
717
|
record.evidence.push({ id: randomUUID(), kind: 'export', hash: exported.packageHash, createdAt: Date.now(), metadata: { path: exported.path, packageHash: exported.packageHash, integrationRevision: record.integrationRevision, exportBindingHash: hash({ packageHash: exported.packageHash, path: exported.path, integrationRevision: record.integrationRevision }), candidateRevisions: record.tasks.map(task => task.integratedRevision) } });
|
|
718
|
+
if (record.lineage)
|
|
719
|
+
record.lineage = { ...record.lineage, exportEvidenceHash: exported.packageHash };
|
|
596
720
|
record.stage = 'delivered';
|
|
597
721
|
return record;
|
|
598
722
|
});
|
|
@@ -651,7 +775,7 @@ export class DeliveryLineFacade {
|
|
|
651
775
|
return this.createArtifact(record, 'interaction', content, actor, { artifactPath: path, path: path.replace(/\.md$/u, '.json'), content: `${JSON.stringify(data, null, 2)}\n` });
|
|
652
776
|
}
|
|
653
777
|
evidence(kind, value) { return { id: randomUUID(), kind, hash: hash(value), createdAt: Date.now(), metadata: value }; }
|
|
654
|
-
view(record) { const pendingDecisions = record.interaction.openQuestions.map((question, index) => ({ id: `${record.id}:question:${record.interaction.turn}:${index}`, kind: 'product', question, options: [], blocking: record.interaction.blockingUnknowns.includes(question), turn: record.interaction.turn })); const nextActions = nextActionsFor(record); const blockers = record.blockers ?? (['held', 'failed', 'needs_changes', 'blocked'].includes(record.stage) ? [this.defaultBlocker(record)] : []); return { caseId: record.id, contextReceipt: record.contextReceipt, ...(record.contextQuality ? { contextQuality: record.contextQuality } : {}), ...(record.sessionId && record.executionId ? { canonicalIdentity: { sessionId: record.sessionId, executionId: record.executionId, actorId: record.createdBy.id } } : {}), stage: record.stage, pendingDecisions, nextActions, blockers, artifactRefs: record.artifacts, evidenceRefs: record.evidence, taskSummaries: record.tasks.map(task => ({ taskId: task.id, status: task.status, attempt: task.attempt })), budget: { interactionsUsed: record.interaction.turn, taskAttemptsUsed: record.tasks.reduce((sum, task) => sum + task.attempt, 0), wallTimeMs: Math.max(0, Date.now() - (record.createdAt ?? record.updatedAt)), toolCalls: 0 } }; }
|
|
778
|
+
view(record) { const pendingDecisions = record.interaction.openQuestions.map((question, index) => ({ id: `${record.id}:question:${record.interaction.turn}:${index}`, kind: 'product', question, options: [], blocking: record.interaction.blockingUnknowns.includes(question), turn: record.interaction.turn })); const nextActions = nextActionsFor(record); const blockers = record.blockers ?? (['held', 'failed', 'needs_changes', 'blocked'].includes(record.stage) ? [this.defaultBlocker(record)] : []); return { caseId: record.id, currentTurn: record.interaction.turn, contextReceipt: record.contextReceipt, ...(record.contextQuality ? { contextQuality: record.contextQuality } : {}), ...(record.sessionId && record.executionId ? { canonicalIdentity: { sessionId: record.sessionId, executionId: record.executionId, actorId: record.createdBy.id } } : {}), ...(record.runtimeActivation ? { runtimeActivationHash: record.runtimeActivation.snapshotHash } : {}), stage: record.stage, pendingDecisions, nextActions, blockers, artifactRefs: record.artifacts, evidenceRefs: record.evidence, taskSummaries: record.tasks.map(task => ({ taskId: task.id, status: task.status, attempt: task.attempt })), budget: { interactionsUsed: record.interaction.turn, taskAttemptsUsed: record.tasks.reduce((sum, task) => sum + task.attempt, 0), wallTimeMs: Math.max(0, Date.now() - (record.createdAt ?? record.updatedAt)), toolCalls: 0 } }; }
|
|
655
779
|
defaultBlocker(record) {
|
|
656
780
|
const task = record.tasks.find(item => ['blocked', 'failed', 'needs_changes'].includes(item.status));
|
|
657
781
|
const code = record.stage === 'held' ? 'HELD' : record.stage.toUpperCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-line-facade.js","sourceRoot":"","sources":["../../src/facade/delivery-line-facade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery-line-facade.js","sourceRoot":"","sources":["../../src/facade/delivery-line-facade.ts"],"names":[],"mappings":"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"}
|