@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.
Files changed (37) hide show
  1. package/dist/artifacts/artifact-contract.d.ts +7 -0
  2. package/dist/artifacts/artifact-contract.d.ts.map +1 -1
  3. package/dist/artifacts/artifact-contract.js +7 -0
  4. package/dist/artifacts/artifact-contract.js.map +1 -1
  5. package/dist/artifacts/git-artifact-store.d.ts.map +1 -1
  6. package/dist/artifacts/git-artifact-store.js +14 -5
  7. package/dist/artifacts/git-artifact-store.js.map +1 -1
  8. package/dist/composition.d.ts +3 -0
  9. package/dist/composition.d.ts.map +1 -1
  10. package/dist/composition.js +3 -1
  11. package/dist/composition.js.map +1 -1
  12. package/dist/domain/plugin-capability.d.ts +50 -0
  13. package/dist/domain/plugin-capability.d.ts.map +1 -0
  14. package/dist/domain/plugin-capability.js +47 -0
  15. package/dist/domain/plugin-capability.js.map +1 -0
  16. package/dist/domain/types.d.ts +38 -2
  17. package/dist/domain/types.d.ts.map +1 -1
  18. package/dist/domain/types.js.map +1 -1
  19. package/dist/facade/delivery-line-facade.d.ts +32 -3
  20. package/dist/facade/delivery-line-facade.d.ts.map +1 -1
  21. package/dist/facade/delivery-line-facade.js +179 -25
  22. package/dist/facade/delivery-line-facade.js.map +1 -1
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/ports/index.d.ts +15 -1
  28. package/dist/ports/index.d.ts.map +1 -1
  29. package/dist/runtime/change-authority.d.ts +15 -0
  30. package/dist/runtime/change-authority.d.ts.map +1 -0
  31. package/dist/runtime/change-authority.js +23 -0
  32. package/dist/runtime/change-authority.js.map +1 -0
  33. package/dist/runtime/context-binder.d.ts +1 -1
  34. package/dist/runtime/context-binder.d.ts.map +1 -1
  35. package/dist/runtime/context-binder.js +23 -4
  36. package/dist/runtime/context-binder.js.map +1 -1
  37. 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
- constructor(ports, projectRoot) {
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 decisionHash = hash(input.value);
120
- record.decisions.push({ id: randomUUID(), kind: 'product', question, options: [], decision: input.value, decidedBy: input.actor, artifactHash: decisionHash });
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: input.value, outcome: input.value, affectedSystems: [record.projectRoot], constraints: ['Respect the approved Delivery Line gates.'], successCriteria: [input.value], openQuestions: record.interaction.blockingUnknowns, actor: input.actor }), input.actor));
123
- record.interaction = appendInteractionSummary(record.interaction, { id: randomUUID(), phase: record.interaction.phase, turn: input.turn, question, answer: input.value, decision: input.value, contextReceipt: input.contextReceipt, artifactHashes: [decisionHash], actor: input.actor });
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: input.option, contextReceipt: input.contextReceipt, actor: input.actor }), input.actor));
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.stage = 'held';
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 || !this.ports.verification || !this.ports.integration) {
265
- record.stage = 'held';
266
- return record;
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.stage = 'held';
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.stage = 'held';
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.stage = 'held';
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: 'tool', hash: exported.packageHash, createdAt: Date.now(), metadata: { path: exported.path, packageHash: exported.packageHash, candidateRevisions: record.tasks.map(task => task.integratedRevision) } });
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: `${type}.md`, blobHash: digest, parentBlobHashes: record.artifacts.length ? [record.artifacts.at(-1).blobHash] : [], contentHash: digest, createdBy: actor, createdAt: Date.now() }; }
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) { const task = record.tasks.find(item => ['blocked', 'failed', 'needs_changes'].includes(item.status)); const code = record.stage === 'held' ? 'HELD' : record.stage.toUpperCase(); return { code, message: code === 'HELD' ? 'Delivery is paused until its prerequisite is resolved.' : `Delivery is ${record.stage} and requires recovery.`, responsibleRole: task ? 'execution-owner' : 'delivery-owner', ...(task ? { taskId: task.id } : {}), artifactRefs: record.artifacts.map(item => item.id), evidenceRefs: record.evidence.map(item => item.id), 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.' }; }
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';
@@ -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"}