@devflow-tools/delivery-line 0.18.11 → 0.18.13
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/artifacts/artifact-contract.d.ts +7 -0
- package/dist/artifacts/artifact-contract.d.ts.map +1 -1
- package/dist/artifacts/artifact-contract.js +7 -0
- package/dist/artifacts/artifact-contract.js.map +1 -1
- package/dist/artifacts/git-artifact-store.d.ts.map +1 -1
- package/dist/artifacts/git-artifact-store.js +14 -5
- package/dist/artifacts/git-artifact-store.js.map +1 -1
- package/dist/composition.d.ts +3 -0
- package/dist/composition.d.ts.map +1 -1
- package/dist/composition.js +3 -1
- package/dist/composition.js.map +1 -1
- package/dist/domain/plugin-capability.d.ts +50 -0
- package/dist/domain/plugin-capability.d.ts.map +1 -0
- package/dist/domain/plugin-capability.js +47 -0
- package/dist/domain/plugin-capability.js.map +1 -0
- package/dist/domain/types.d.ts +38 -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 +32 -3
- package/dist/facade/delivery-line-facade.d.ts.map +1 -1
- package/dist/facade/delivery-line-facade.js +179 -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/ports/index.d.ts +15 -1
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/runtime/change-authority.d.ts +15 -0
- package/dist/runtime/change-authority.d.ts.map +1 -0
- package/dist/runtime/change-authority.js +23 -0
- package/dist/runtime/change-authority.js.map +1 -0
- package/dist/runtime/context-binder.d.ts +1 -1
- package/dist/runtime/context-binder.d.ts.map +1 -1
- package/dist/runtime/context-binder.js +23 -4
- package/dist/runtime/context-binder.js.map +1 -1
- package/package.json +4 -4
|
@@ -7,7 +7,9 @@ import { PlanCompiler } from '../runtime/plan-compiler.js';
|
|
|
7
7
|
import { ReviewCoordinator } from '../runtime/review-coordinator.js';
|
|
8
8
|
import { ExecutionCoordinator } from '../runtime/execution-coordinator.js';
|
|
9
9
|
import { applyHostRoutingChange } from '../runtime/host-routing.js';
|
|
10
|
-
import { renderIntentMarkdown, renderPlanJson, renderPlanMarkdown, renderSpecMarkdown, validateIntentMarkdown, validatePlanMarkdown, validateSpecMarkdown } from '../artifacts/artifact-contract.js';
|
|
10
|
+
import { renderIntentMarkdown, renderPlanJson, renderPlanMarkdown, renderSpecMarkdown, renderStageProjectionMarkdown, validateIntentMarkdown, validatePlanMarkdown, validateSpecMarkdown } from '../artifacts/artifact-contract.js';
|
|
11
|
+
import { isAllowedFile } from '@devflow-tools/workflow-engine';
|
|
12
|
+
import { selectPluginCapabilities } from '../domain/plugin-capability.js';
|
|
11
13
|
const defaults = { maxInteractionTurns: 12, maxTaskAttempts: 3, maxWallTimeMs: 3_600_000, maxToolCalls: 100 };
|
|
12
14
|
function requireIdentity(input) {
|
|
13
15
|
if (!input.actor?.id || !input.sessionId || !input.executionId || !input.idempotencyKey || !input.contextReceipt)
|
|
@@ -41,9 +43,11 @@ function releaseBindingHash(record) {
|
|
|
41
43
|
export class DeliveryLineFacade {
|
|
42
44
|
ports;
|
|
43
45
|
projectRoot;
|
|
44
|
-
|
|
46
|
+
capabilities;
|
|
47
|
+
constructor(ports, projectRoot, capabilities) {
|
|
45
48
|
this.ports = ports;
|
|
46
49
|
this.projectRoot = projectRoot;
|
|
50
|
+
this.capabilities = capabilities;
|
|
47
51
|
}
|
|
48
52
|
async createCase(input) {
|
|
49
53
|
requireCreateIdentity(input);
|
|
@@ -115,12 +119,19 @@ export class DeliveryLineFacade {
|
|
|
115
119
|
return record;
|
|
116
120
|
}
|
|
117
121
|
const question = record.interaction.openQuestions[0] ?? 'Acceptance criteria';
|
|
122
|
+
const questionId = input.questionId ?? `${record.id}:question:${input.turn}:0`;
|
|
123
|
+
const selectedLabel = input.selectedLabel ?? input.value;
|
|
124
|
+
if (!selectedLabel)
|
|
125
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'selectedLabel or value is required');
|
|
118
126
|
record.interaction = answerInteraction(record.interaction, input.turn);
|
|
119
|
-
const
|
|
120
|
-
|
|
127
|
+
const optionsSnapshot = input.optionsSnapshot ?? (input.optionId ? [{ id: input.optionId, label: selectedLabel }] : []);
|
|
128
|
+
const decisionHash = hash({ questionId, optionId: input.optionId, selectedLabel, optionsSnapshot });
|
|
129
|
+
record.decisions.push({ id: randomUUID(), kind: 'product', questionId, question, options: optionsSnapshot.map(option => option.label), optionsSnapshot, optionId: input.optionId, selectedLabel, decisionHash, sessionId: input.sessionId, toolUseId: input.toolUseId, decision: selectedLabel, decidedBy: input.actor, artifactHash: decisionHash });
|
|
121
130
|
if (record.interaction.phase === 'clarification')
|
|
122
|
-
record.artifacts.push(await this.createArtifact(record, 'intent', renderIntentMarkdown({ title: record.title, problem:
|
|
123
|
-
|
|
131
|
+
record.artifacts.push(await this.createArtifact(record, 'intent', renderIntentMarkdown({ title: record.title, problem: selectedLabel, outcome: selectedLabel, affectedSystems: [record.projectRoot], constraints: ['Respect the approved Delivery Line gates.'], successCriteria: [selectedLabel], openQuestions: record.interaction.blockingUnknowns, actor: input.actor }), input.actor));
|
|
132
|
+
await this.createProjectionArtifact(record, 'stack-facts.md', 'Stack facts', 'Project stack evidence bound at case creation.', { baseRef: record.baseRef, targetRef: record.targetRef, projectRoot: record.projectRoot }, input.actor);
|
|
133
|
+
await this.createProjectionArtifact(record, 'decisions.md', 'Decisions', 'Current-turn decision ledger projection.', { decisionHash, questionId, optionId: input.optionId, selectedLabel }, input.actor);
|
|
134
|
+
record.interaction = appendInteractionSummary(record.interaction, { id: randomUUID(), phase: record.interaction.phase, turn: input.turn, question, answer: selectedLabel, decision: selectedLabel, options: optionsSnapshot.map(option => option.label), contextReceipt: input.contextReceipt, artifactHashes: [decisionHash], actor: input.actor });
|
|
124
135
|
return record;
|
|
125
136
|
});
|
|
126
137
|
}
|
|
@@ -140,9 +151,46 @@ export class DeliveryLineFacade {
|
|
|
140
151
|
throw new DeliveryLineError('STALE_INTERACTION_TURN', 'design decision turn is stale');
|
|
141
152
|
if (!['intent_approved', 'designing'].includes(record.stage))
|
|
142
153
|
throw new DeliveryLineError('INVALID_TRANSITION', 'design comparison is not available at this stage');
|
|
154
|
+
const selectedLabel = input.selectedLabel ?? input.option;
|
|
155
|
+
if (!selectedLabel)
|
|
156
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'selectedLabel or option is required');
|
|
157
|
+
const questionId = input.questionId ?? `${record.id}:design:${input.turn}`;
|
|
158
|
+
const optionId = input.optionId ?? `option:${contentHash(selectedLabel).slice(0, 16)}`;
|
|
159
|
+
const optionsSnapshot = input.optionsSnapshot ?? [{ id: optionId, label: selectedLabel }];
|
|
160
|
+
if (!optionsSnapshot.some(option => option.id === optionId && option.label === selectedLabel))
|
|
161
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'selected option is not present in optionsSnapshot');
|
|
162
|
+
if (this.ports.context) {
|
|
163
|
+
const designerReceipt = await this.ports.context.build({
|
|
164
|
+
role: 'designer',
|
|
165
|
+
retrieval: {
|
|
166
|
+
taskRevision: record.version + 1,
|
|
167
|
+
projectRoot: record.projectRoot,
|
|
168
|
+
query: `${record.title} design options`,
|
|
169
|
+
sessionId: input.sessionId,
|
|
170
|
+
executionId: input.executionId,
|
|
171
|
+
requestId: `delivery:design:${record.id}:${record.version}`,
|
|
172
|
+
turnId: `delivery:design:${record.id}:${record.interaction.turn}`,
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
record.contextReceipt = designerReceipt.receiptHash;
|
|
176
|
+
}
|
|
177
|
+
const decisionHash = hash({ questionId, optionId, selectedLabel, optionsSnapshot });
|
|
178
|
+
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 });
|
|
179
|
+
const stackFactsHash = hash({ projectRoot: record.projectRoot, baseRef: record.baseRef, targetRef: record.targetRef });
|
|
180
|
+
const selectedCapabilities = this.capabilities?.manifests.length
|
|
181
|
+
? selectPluginCapabilities({
|
|
182
|
+
detectedStacks: this.capabilities.detectedStacks,
|
|
183
|
+
decision: { questionId, optionId, selectedLabel, decisionHash },
|
|
184
|
+
manifests: this.capabilities.manifests,
|
|
185
|
+
})
|
|
186
|
+
: undefined;
|
|
187
|
+
const pluginManifestHash = selectedCapabilities?.selectedManifestHash ?? hash({ capability: selectedLabel, protocolVersion: 'delivery-capability.v1' });
|
|
188
|
+
record.stackFactsHash = stackFactsHash;
|
|
189
|
+
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)])], selectedAt: Date.now() };
|
|
190
|
+
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);
|
|
143
191
|
record.stage = 'spec_ready';
|
|
144
192
|
record.interaction = { ...record.interaction, phase: 'design', status: 'awaiting_approval', openQuestions: [], blockingUnknowns: [] };
|
|
145
|
-
record.artifacts.push(await this.createArtifact(record, 'spec', renderSpecMarkdown({ title: record.title, option:
|
|
193
|
+
record.artifacts.push(await this.createArtifact(record, 'spec', renderSpecMarkdown({ title: record.title, option: selectedLabel, contextReceipt: input.contextReceipt, actor: input.actor }), input.actor));
|
|
146
194
|
return record;
|
|
147
195
|
});
|
|
148
196
|
}
|
|
@@ -157,6 +205,21 @@ export class DeliveryLineFacade {
|
|
|
157
205
|
if (input.stage === 'plan') {
|
|
158
206
|
if (!input.plan)
|
|
159
207
|
throw new DeliveryLineError('PLAN_NOT_EXECUTABLE', 'plan approval requires an executable plan');
|
|
208
|
+
if (this.ports.context) {
|
|
209
|
+
const plannerReceipt = await this.ports.context.build({
|
|
210
|
+
role: 'planner',
|
|
211
|
+
retrieval: {
|
|
212
|
+
taskRevision: record.version + 1,
|
|
213
|
+
projectRoot: record.projectRoot,
|
|
214
|
+
query: `${record.title} implementation plan`,
|
|
215
|
+
sessionId: input.sessionId,
|
|
216
|
+
executionId: input.executionId,
|
|
217
|
+
requestId: `delivery:plan:${record.id}:${record.version}`,
|
|
218
|
+
turnId: `delivery:plan:${record.id}:${record.interaction.turn}`,
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
record.contextReceipt = plannerReceipt.receiptHash;
|
|
222
|
+
}
|
|
160
223
|
planContent = renderPlanMarkdown(input.plan);
|
|
161
224
|
proposedArtifactHash = contentHash(planContent);
|
|
162
225
|
}
|
|
@@ -219,6 +282,20 @@ export class DeliveryLineFacade {
|
|
|
219
282
|
throw new DeliveryLineError('ARTIFACT_HASH_MISMATCH', 'plan artifact hash changed while persisting the approval artifact');
|
|
220
283
|
record.artifacts.push(artifact);
|
|
221
284
|
record.stage = 'plan_approved';
|
|
285
|
+
const decision = [...record.decisions].reverse().find(item => item.decisionHash);
|
|
286
|
+
if (decision && record.pluginSelection && record.stackFactsHash) {
|
|
287
|
+
record.lineage = {
|
|
288
|
+
decisionHash: decision.decisionHash,
|
|
289
|
+
stackFactsHash: record.stackFactsHash,
|
|
290
|
+
pluginSelectionHash: hash(record.pluginSelection),
|
|
291
|
+
pluginManifestHash: record.pluginSelection.selectedManifestHash,
|
|
292
|
+
contextReceiptHash: record.contextReceipt ?? input.contextReceipt,
|
|
293
|
+
planHash: proposedArtifactHash,
|
|
294
|
+
taskId: envelopes[0]?.taskId ?? '',
|
|
295
|
+
baseRevision: record.baseRef,
|
|
296
|
+
verificationEvidenceHashes: [],
|
|
297
|
+
};
|
|
298
|
+
}
|
|
222
299
|
record.tasks = envelopes.map(envelope => ({
|
|
223
300
|
id: envelope.taskId,
|
|
224
301
|
caseId: envelope.caseId,
|
|
@@ -254,17 +331,18 @@ export class DeliveryLineFacade {
|
|
|
254
331
|
requireIdentity(input);
|
|
255
332
|
return this.mutate(caseId, input, 'case.resumed', async (record) => {
|
|
256
333
|
if (Date.now() - (record.createdAt ?? record.updatedAt) > record.budgets.maxWallTimeMs) {
|
|
257
|
-
record.
|
|
258
|
-
return record;
|
|
334
|
+
return hold(record, { code: 'BUDGET_EXCEEDED', message: 'Delivery wall-time budget has been exceeded.', responsibleRole: 'delivery-owner', recoveryAction: 'Create a new case or increase the approved budget.', retryable: false });
|
|
259
335
|
}
|
|
260
336
|
if (record.stage === 'plan_approved')
|
|
261
337
|
record.stage = 'executing';
|
|
262
338
|
if (record.stage === 'executing') {
|
|
263
339
|
const verifier = this.ports.verification;
|
|
264
|
-
if (!this.ports.execution
|
|
265
|
-
record.
|
|
266
|
-
|
|
267
|
-
|
|
340
|
+
if (!this.ports.execution)
|
|
341
|
+
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 });
|
|
342
|
+
if (!this.ports.verification)
|
|
343
|
+
return hold(record, { code: 'VERIFICATION_UNAVAILABLE', message: 'No Delivery verification adapter is configured for this case.', responsibleRole: 'verification-owner', recoveryAction: 'Configure a verification adapter before resuming execution.', retryable: false });
|
|
344
|
+
if (!this.ports.integration)
|
|
345
|
+
return hold(record, { code: 'INTEGRATION_UNAVAILABLE', message: 'No Delivery integration adapter is configured for this case.', responsibleRole: 'integration-owner', recoveryAction: 'Configure an integration adapter before resuming execution.', retryable: false });
|
|
268
346
|
record = await new ExecutionCoordinator(this.ports.store, {
|
|
269
347
|
startTask: input => this.ports.execution.startTask(input),
|
|
270
348
|
verify: input => this.ports.verification.verify(input),
|
|
@@ -272,6 +350,10 @@ export class DeliveryLineFacade {
|
|
|
272
350
|
inspectIntegration: async (input) => await this.ports.integration.inspect?.(input) ?? null,
|
|
273
351
|
}, this.ports.operationJournal).run(record);
|
|
274
352
|
if (record.tasks.length > 0 && record.tasks.every(task => task.status === 'integrated')) {
|
|
353
|
+
await this.createProjectionArtifact(record, 'code-evidence.md', 'Code evidence', 'Worker handoffs and changed files bound to the integrated candidate revision.', {
|
|
354
|
+
candidateRevision: record.integrationRevision,
|
|
355
|
+
tasks: record.tasks.map(task => ({ taskId: task.id, revision: task.integratedRevision, changedFiles: task.handoff?.changedFiles ?? [] })),
|
|
356
|
+
}, input.actor);
|
|
275
357
|
const integrationRevision = record.integrationRevision ?? record.baseRef;
|
|
276
358
|
try {
|
|
277
359
|
const planReceipt = await verifier.verify({ caseId: record.id, integrationRef: record.integrationRef, commit: integrationRevision, planLevel: true, commands: record.tasks.flatMap(task => task.verificationCommands) });
|
|
@@ -280,6 +362,10 @@ export class DeliveryLineFacade {
|
|
|
280
362
|
return record;
|
|
281
363
|
}
|
|
282
364
|
record.evidence.push(this.evidence('verification', planReceipt));
|
|
365
|
+
await this.createProjectionArtifact(record, 'verification.md', 'Verification', 'Verification evidence for the integrated revision.', { commit: planReceipt.commit, passed: planReceipt.passed, evidenceHash: hash(planReceipt) }, input.actor);
|
|
366
|
+
if (record.lineage) {
|
|
367
|
+
record.lineage = { ...record.lineage, candidateRevision: integrationRevision, verificationEvidenceHashes: record.evidence.filter(item => item.kind === 'verification').map(item => item.hash) };
|
|
368
|
+
}
|
|
283
369
|
record.stage = 'verified';
|
|
284
370
|
}
|
|
285
371
|
catch {
|
|
@@ -289,17 +375,16 @@ export class DeliveryLineFacade {
|
|
|
289
375
|
}
|
|
290
376
|
}
|
|
291
377
|
if (record.stage === 'verified') {
|
|
292
|
-
if (!this.ports.review)
|
|
293
|
-
record.
|
|
294
|
-
return record;
|
|
295
|
-
}
|
|
378
|
+
if (!this.ports.review)
|
|
379
|
+
return hold(record, { code: 'REVIEW_UNAVAILABLE', message: 'No Delivery review adapter is configured for this case.', responsibleRole: 'review-owner', recoveryAction: 'Configure an independent review adapter before resuming.', retryable: false });
|
|
296
380
|
const reviewArtifactHash = record.integrationRevision ?? record.artifacts.at(-1)?.contentHash ?? record.integrationRef;
|
|
297
381
|
try {
|
|
298
382
|
const result = await new ReviewCoordinator(this.ports.review).review({ caseId: record.id, artifactHash: reviewArtifactHash });
|
|
299
383
|
if (result.receipts.some(receipt => receipt.artifactHash !== reviewArtifactHash))
|
|
300
|
-
record.
|
|
384
|
+
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 });
|
|
301
385
|
else {
|
|
302
386
|
record.evidence.push(...result.receipts.map(receipt => this.evidence('review', receipt)));
|
|
387
|
+
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);
|
|
303
388
|
if (!result.passed) {
|
|
304
389
|
record.stage = 'needs_changes';
|
|
305
390
|
const headTask = record.tasks.find(task => task.integratedRevision === record.integrationRevision);
|
|
@@ -311,8 +396,7 @@ export class DeliveryLineFacade {
|
|
|
311
396
|
}
|
|
312
397
|
}
|
|
313
398
|
catch {
|
|
314
|
-
record.
|
|
315
|
-
return record;
|
|
399
|
+
return hold(record, { code: 'REVIEW_UNAVAILABLE', message: 'The review adapter failed before producing complete evidence.', responsibleRole: 'review-owner', recoveryAction: 'Inspect review adapter health, then resume after it is available.', retryable: true });
|
|
316
400
|
}
|
|
317
401
|
}
|
|
318
402
|
return record;
|
|
@@ -322,6 +406,51 @@ export class DeliveryLineFacade {
|
|
|
322
406
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'task not found'); if (!['failed', 'blocked', 'needs_changes', 'verified'].includes(task.status))
|
|
323
407
|
throw new DeliveryLineError('INVALID_TRANSITION', 'task is not retryable'); task.status = 'pending'; task.integratedRevision = undefined; if (['failed', 'blocked', 'needs_changes', 'held'].includes(record.stage))
|
|
324
408
|
record.stage = 'executing'; return record; }); }
|
|
409
|
+
async importExternalChange(caseId, input) {
|
|
410
|
+
requireIdentity(input);
|
|
411
|
+
return this.mutate(caseId, input, 'change.external_imported', async (record) => {
|
|
412
|
+
if (!['plan_approved', 'executing', 'held', 'needs_changes', 'failed', 'blocked'].includes(record.stage))
|
|
413
|
+
throw new DeliveryLineError('INVALID_TRANSITION', 'external change import requires an executable delivery task');
|
|
414
|
+
const task = record.tasks.find(item => item.id === input.taskId);
|
|
415
|
+
if (!task)
|
|
416
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'task not found');
|
|
417
|
+
if (!this.ports.changeAuthority)
|
|
418
|
+
throw new DeliveryLineError('CHANGE_AUTHORITY_UNAVAILABLE', 'external change authority adapter is required');
|
|
419
|
+
const authority = await this.ports.changeAuthority.inspect({ caseId: record.id, taskId: task.id, projectRoot: record.projectRoot, baseRevision: task.baseRevision || record.baseRef, candidateRevision: input.candidateRevision, allowedFiles: task.allowedFiles });
|
|
420
|
+
if (authority.candidateRevision !== input.candidateRevision || authority.changedFiles.some(file => !isAllowedFile(file, task.allowedFiles)))
|
|
421
|
+
throw new DeliveryLineError('CHANGE_OUTSIDE_AUTHORITY', 'external candidate contains files outside the task authority');
|
|
422
|
+
let contextReceipt = input.contextReceipt;
|
|
423
|
+
if (this.ports.context)
|
|
424
|
+
contextReceipt = (await this.ports.context.build({ role: 'implementer', retrieval: { taskRevision: record.version + 1, projectRoot: record.projectRoot, query: `${record.title} external change`, sessionId: input.sessionId, executionId: input.executionId, requestId: `delivery:import:${record.id}:${input.idempotencyKey}`, turnId: `delivery:import:${record.id}:${record.interaction.turn}` } })).receiptHash;
|
|
425
|
+
if (!contextReceipt)
|
|
426
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'context receipt is required for external import');
|
|
427
|
+
record.contextReceipt = contextReceipt;
|
|
428
|
+
task.contextReceiptHash = contextReceipt;
|
|
429
|
+
const codeContent = JSON.stringify({ caseId: record.id, taskId: task.id, candidateRevision: authority.candidateRevision, baseRevision: task.baseRevision || record.baseRef, changedFiles: authority.changedFiles, importedBy: input.actor, sessionId: input.sessionId, executionId: input.executionId, reason: input.reason }, null, 2) + '\n';
|
|
430
|
+
record.artifacts.push(await this.createArtifact(record, 'code', codeContent, input.actor, { path: `code-${task.id}.json`, content: codeContent }));
|
|
431
|
+
await this.createProjectionArtifact(record, 'code-evidence.md', 'Code evidence', 'Workspace changes imported through the explicit external-change path.', { taskId: task.id, candidateRevision: authority.candidateRevision, changedFiles: authority.changedFiles, trust: 'external-untrusted' }, input.actor);
|
|
432
|
+
record.evidence = record.evidence.filter(item => !['verification', 'review', 'merge', 'tool'].includes(item.kind));
|
|
433
|
+
record.evidence.push({ id: randomUUID(), kind: 'tool', hash: hash({ candidateRevision: authority.candidateRevision, changedFiles: authority.changedFiles, reason: input.reason }), createdAt: Date.now(), metadata: { trust: 'external-untrusted', imported: true, taskId: task.id, candidateRevision: authority.candidateRevision } });
|
|
434
|
+
task.evidence = [];
|
|
435
|
+
if (!this.ports.verification || !this.ports.integration)
|
|
436
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'verification and integration adapters are required for external import');
|
|
437
|
+
const verification = await this.ports.verification.verify({ caseId: record.id, taskId: task.id, projectRoot: record.projectRoot, commit: authority.candidateRevision, commands: task.verificationCommands });
|
|
438
|
+
if (!verification.passed || verification.commit !== authority.candidateRevision)
|
|
439
|
+
throw new DeliveryLineError('VERIFICATION_FAILED', 'external candidate verification failed');
|
|
440
|
+
record.evidence.push(this.evidence('verification', verification));
|
|
441
|
+
const integrated = await this.ports.integration.integrate({ caseId: record.id, taskId: task.id, integrationRef: record.integrationRef, targetRef: record.targetRef, candidateRevision: authority.candidateRevision, expectedBaseRevision: task.baseRevision || record.baseRef, expectedCurrentRevision: record.integrationRevision ?? null });
|
|
442
|
+
if (integrated.candidateRevision !== authority.candidateRevision)
|
|
443
|
+
throw new DeliveryLineError('ARTIFACT_HASH_MISMATCH', 'integration revision differs from imported candidate');
|
|
444
|
+
task.integratedRevision = integrated.candidateRevision;
|
|
445
|
+
task.status = 'integrated';
|
|
446
|
+
record.integrationRevision = integrated.candidateRevision;
|
|
447
|
+
record.evidence.push({ id: randomUUID(), kind: 'merge', hash: hash(integrated), createdAt: Date.now(), metadata: integrated });
|
|
448
|
+
record.stage = 'verified';
|
|
449
|
+
if (record.lineage)
|
|
450
|
+
record.lineage = { ...record.lineage, candidateRevision: integrated.candidateRevision, verificationEvidenceHashes: record.evidence.filter(item => item.kind === 'verification').map(item => item.hash) };
|
|
451
|
+
return record;
|
|
452
|
+
});
|
|
453
|
+
}
|
|
325
454
|
async export(caseId, input) {
|
|
326
455
|
requireIdentity(input);
|
|
327
456
|
return this.mutate(caseId, input, 'package.exported', async (record) => {
|
|
@@ -331,6 +460,8 @@ export class DeliveryLineFacade {
|
|
|
331
460
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'delivery package adapter is required');
|
|
332
461
|
if (record.tasks.length === 0 || record.tasks.some(task => task.status !== 'integrated' || !task.integratedRevision))
|
|
333
462
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'all tasks must be integrated before export');
|
|
463
|
+
if (!record.lineage || (record.tasks[0]?.planHash && record.lineage.planHash !== record.tasks[0].planHash) || record.lineage.baseRevision !== record.baseRef)
|
|
464
|
+
throw new DeliveryLineError('MISSING_PREREQUISITE', 'execution lineage is incomplete or stale');
|
|
334
465
|
if (!record.evidence.some(item => item.kind === 'verification') || !record.evidence.some(item => item.kind === 'review'))
|
|
335
466
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'verification and review evidence are required before export');
|
|
336
467
|
const packageInput = { record, path: input.path };
|
|
@@ -380,9 +511,10 @@ export class DeliveryLineFacade {
|
|
|
380
511
|
if (!exported.packageHash || !exported.path)
|
|
381
512
|
throw new DeliveryLineError('MISSING_PREREQUISITE', 'delivery package hash and path are required');
|
|
382
513
|
await this.ports.package.verify?.({ path: exported.path, packageHash: exported.packageHash });
|
|
514
|
+
await this.createProjectionArtifact(record, 'delivery-package.md', 'Delivery package', 'Exported package bound to the verified integration revision.', { path: exported.path, packageHash: exported.packageHash, integrationRevision: record.integrationRevision, lineage: record.lineage }, input.actor);
|
|
383
515
|
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() };
|
|
384
516
|
record.artifacts.push(packageArtifact);
|
|
385
|
-
record.evidence.push({ id: randomUUID(), kind: '
|
|
517
|
+
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) } });
|
|
386
518
|
record.stage = 'delivered';
|
|
387
519
|
return record;
|
|
388
520
|
});
|
|
@@ -413,7 +545,7 @@ export class DeliveryLineFacade {
|
|
|
413
545
|
await appendLedgerEvent(this.ports.store, { caseId, type, actor: input.actor, idempotencyKey: input.idempotencyKey, payload: { from: record.stage, to: next.stage } });
|
|
414
546
|
return this.view(next);
|
|
415
547
|
}
|
|
416
|
-
artifact(record, type, content, actor) { const digest = contentHash(content); const version = record.artifacts.filter(item => item.type === type).length + 1; return { id: randomUUID(), version, caseId: record.id, type, repoId: record.projectRoot, ref: record.integrationRef, commit: record.baseRef, path
|
|
548
|
+
artifact(record, type, content, actor, path = `${type}.md`) { const digest = contentHash(content); const version = record.artifacts.filter(item => item.type === type).length + 1; return { id: randomUUID(), version, caseId: record.id, type, repoId: record.projectRoot, ref: record.integrationRef, commit: record.baseRef, path, blobHash: digest, parentBlobHashes: record.artifacts.length ? [record.artifacts.at(-1).blobHash] : [], contentHash: digest, createdBy: actor, createdAt: Date.now() }; }
|
|
417
549
|
async createArtifact(record, type, content, actor, projection) {
|
|
418
550
|
if (type === 'intent')
|
|
419
551
|
validateIntentMarkdown(content);
|
|
@@ -422,13 +554,13 @@ export class DeliveryLineFacade {
|
|
|
422
554
|
if (type === 'plan')
|
|
423
555
|
validatePlanMarkdown(content);
|
|
424
556
|
if (!this.ports.artifact)
|
|
425
|
-
return this.artifact(record, type, content, actor);
|
|
557
|
+
return this.artifact(record, type, content, actor, projection?.artifactPath);
|
|
426
558
|
return this.ports.artifact.create({
|
|
427
559
|
caseId: record.id,
|
|
428
560
|
repoId: record.projectRoot,
|
|
429
561
|
repositoryPath: record.projectRoot,
|
|
430
562
|
type,
|
|
431
|
-
path: `${type}.md`,
|
|
563
|
+
path: projection?.artifactPath ?? `${type}.md`,
|
|
432
564
|
content,
|
|
433
565
|
parentBlobHashes: record.artifacts.map(artifact => artifact.blobHash),
|
|
434
566
|
createdBy: actor,
|
|
@@ -436,6 +568,10 @@ export class DeliveryLineFacade {
|
|
|
436
568
|
version: record.artifacts.filter(item => item.type === type).length + 1,
|
|
437
569
|
});
|
|
438
570
|
}
|
|
571
|
+
async createProjectionArtifact(record, path, title, summary, data, actor) {
|
|
572
|
+
const content = renderStageProjectionMarkdown({ title, summary, data, actor });
|
|
573
|
+
return this.createArtifact(record, 'interaction', content, actor, { artifactPath: path, path: path.replace(/\.md$/u, '.json'), content: `${JSON.stringify(data, null, 2)}\n` });
|
|
574
|
+
}
|
|
439
575
|
evidence(kind, value) { return { id: randomUUID(), kind, hash: hash(value), createdAt: Date.now(), metadata: value }; }
|
|
440
576
|
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 = []; if (record.interaction.status === 'awaiting_user')
|
|
441
577
|
nextActions.push('answer_question'); if (['clarifying', 'designing'].includes(record.stage))
|
|
@@ -446,6 +582,24 @@ export class DeliveryLineFacade {
|
|
|
446
582
|
nextActions.push('retry_task'); if (record.stage === 'release_pending')
|
|
447
583
|
nextActions.push('export'); if (!['delivered', 'cancelled', 'rejected'].includes(record.stage))
|
|
448
584
|
nextActions.push('cancel'); const blockers = record.blockers ?? (['held', 'failed', 'needs_changes', 'blocked'].includes(record.stage) ? [this.defaultBlocker(record)] : []); return { caseId: record.id, contextReceipt: record.contextReceipt, 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 } }; }
|
|
449
|
-
defaultBlocker(record) {
|
|
585
|
+
defaultBlocker(record) {
|
|
586
|
+
const task = record.tasks.find(item => ['blocked', 'failed', 'needs_changes'].includes(item.status));
|
|
587
|
+
const code = record.stage === 'held' ? 'HELD' : record.stage.toUpperCase();
|
|
588
|
+
return {
|
|
589
|
+
code,
|
|
590
|
+
message: code === 'HELD' ? 'Delivery is paused until its prerequisite is resolved.' : `Delivery is ${record.stage} and requires recovery.`,
|
|
591
|
+
responsibleRole: task ? 'execution-owner' : 'delivery-owner',
|
|
592
|
+
...(task ? { taskId: task.id } : {}),
|
|
593
|
+
artifactRefs: record.artifacts.map(item => item.id),
|
|
594
|
+
evidenceRefs: record.evidence.map(item => item.id),
|
|
595
|
+
recoveryAction: task ? `Inspect task ${task.id}, resolve the blocker, then resume or retry it.` : 'Refresh delivery status, resolve the listed prerequisite, then resume the case.',
|
|
596
|
+
retryable: Boolean(task),
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
function hold(record, blocker) {
|
|
601
|
+
record.stage = 'held';
|
|
602
|
+
record.blockers = [{ ...blocker, artifactRefs: record.artifacts.map(item => item.id), evidenceRefs: record.evidence.map(item => item.id) }];
|
|
603
|
+
return record;
|
|
450
604
|
}
|
|
451
605
|
//# sourceMappingURL=delivery-line-facade.js.map
|
|
@@ -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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './domain/types.js';
|
|
2
|
+
export * from './domain/plugin-capability.js';
|
|
2
3
|
export * from './domain/state-machine.js';
|
|
3
4
|
export * from './domain/task-dag.js';
|
|
4
5
|
export * from './ports/index.js';
|
|
@@ -29,6 +30,7 @@ export * from './runtime/project-runtime-factory.js';
|
|
|
29
30
|
export * from './runtime/plan-compiler.js';
|
|
30
31
|
export * from './runtime/context-binder.js';
|
|
31
32
|
export * from './runtime/execution-coordinator.js';
|
|
33
|
+
export * from './runtime/change-authority.js';
|
|
32
34
|
export * from './runtime/review-coordinator.js';
|
|
33
35
|
export * from './runtime/host-routing.js';
|
|
34
36
|
export * from './runtime/gate-queue.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './domain/types.js';
|
|
2
|
+
export * from './domain/plugin-capability.js';
|
|
2
3
|
export * from './domain/state-machine.js';
|
|
3
4
|
export * from './domain/task-dag.js';
|
|
4
5
|
export * from './ports/index.js';
|
|
@@ -29,6 +30,7 @@ export * from './runtime/project-runtime-factory.js';
|
|
|
29
30
|
export * from './runtime/plan-compiler.js';
|
|
30
31
|
export * from './runtime/context-binder.js';
|
|
31
32
|
export * from './runtime/execution-coordinator.js';
|
|
33
|
+
export * from './runtime/change-authority.js';
|
|
32
34
|
export * from './runtime/review-coordinator.js';
|
|
33
35
|
export * from './runtime/host-routing.js';
|
|
34
36
|
export * from './runtime/gate-queue.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}
|