@devflow-tools/delivery-line 0.18.10 → 0.18.12

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 (36) hide show
  1. package/dist/artifacts/artifact-contract.d.ts +28 -0
  2. package/dist/artifacts/artifact-contract.d.ts.map +1 -0
  3. package/dist/artifacts/artifact-contract.js +54 -0
  4. package/dist/artifacts/artifact-contract.js.map +1 -0
  5. package/dist/artifacts/git-artifact-store.d.ts +5 -0
  6. package/dist/artifacts/git-artifact-store.d.ts.map +1 -1
  7. package/dist/artifacts/git-artifact-store.js +27 -4
  8. package/dist/artifacts/git-artifact-store.js.map +1 -1
  9. package/dist/composition.d.ts.map +1 -1
  10. package/dist/composition.js +2 -0
  11. package/dist/composition.js.map +1 -1
  12. package/dist/domain/state-machine.d.ts.map +1 -1
  13. package/dist/domain/state-machine.js +13 -1
  14. package/dist/domain/state-machine.js.map +1 -1
  15. package/dist/domain/types.d.ts +22 -7
  16. package/dist/domain/types.d.ts.map +1 -1
  17. package/dist/domain/types.js.map +1 -1
  18. package/dist/facade/delivery-line-facade.d.ts +12 -1
  19. package/dist/facade/delivery-line-facade.d.ts.map +1 -1
  20. package/dist/facade/delivery-line-facade.js +130 -23
  21. package/dist/facade/delivery-line-facade.js.map +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/ports/index.d.ts +15 -1
  27. package/dist/ports/index.d.ts.map +1 -1
  28. package/dist/runtime/change-authority.d.ts +15 -0
  29. package/dist/runtime/change-authority.d.ts.map +1 -0
  30. package/dist/runtime/change-authority.js +23 -0
  31. package/dist/runtime/change-authority.js.map +1 -0
  32. package/dist/runtime/context-binder.d.ts +13 -1
  33. package/dist/runtime/context-binder.d.ts.map +1 -1
  34. package/dist/runtime/context-binder.js +37 -5
  35. package/dist/runtime/context-binder.js.map +1 -1
  36. package/package.json +5 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-authority.js","sourceRoot":"","sources":["../../src/runtime/change-authority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,MAAM,OAAO,yBAAyB;IACpC,KAAK,CAAC,OAAO,CAAC,KAAuI;QACnJ,MAAM,GAAG,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrH,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,YAAY,WAAW,CAAC,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,iBAAiB,WAAW,CAAC,CAAC,CAAC;YACxF,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAC/F,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAAE,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,EAAE,8CAA8C,CAAC,CAAC;YACjL,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,iBAAiB;gBAAE,MAAM,KAAK,CAAC;YACpD,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,EAAE,yDAAyD,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- export type ContextRole = 'clarifier' | 'designer' | 'planner' | 'implementer' | 'reviewer';
1
+ export type ContextRole = 'clarifier' | 'designer' | 'planner' | 'implementer' | 'verifier' | 'reviewer';
2
2
  export interface ContextSourceRef {
3
3
  channel: 'code' | 'memory' | 'knowledge';
4
4
  stableRef: string;
@@ -10,6 +10,7 @@ export interface ContextGap {
10
10
  reason: string;
11
11
  resolver: string;
12
12
  }
13
+ export type ContextChannelStatus = 'authoritative' | 'degraded' | 'unavailable';
13
14
  export interface DeliveryContextReceipt {
14
15
  receiptId: string;
15
16
  receiptHash: string;
@@ -19,6 +20,12 @@ export interface DeliveryContextReceipt {
19
20
  permissionSnapshotHash: string;
20
21
  artifactHashes: string[];
21
22
  blocking: boolean;
23
+ channelStatus: Record<'code' | 'memory' | 'knowledge', ContextChannelStatus>;
24
+ attribution: {
25
+ selected: string[];
26
+ consumed: string[];
27
+ verified: string[];
28
+ };
22
29
  createdAt: number;
23
30
  }
24
31
  export interface ContextRetrievalResult {
@@ -27,6 +34,11 @@ export interface ContextRetrievalResult {
27
34
  contextHash: string;
28
35
  sourceRefs?: ContextSourceRef[];
29
36
  gaps?: ContextGap[];
37
+ attribution?: {
38
+ selected?: string[];
39
+ consumed?: string[];
40
+ verified?: string[];
41
+ };
30
42
  };
31
43
  }
32
44
  export interface ContextRetrievalPort {
@@ -1 +1 @@
1
- {"version":3,"file":"context-binder.d.ts","sourceRoot":"","sources":["../../src/runtime/context-binder.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAC5F,MAAM,WAAW,gBAAgB;IAAG,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAC1I,MAAM,WAAW,UAAU;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACjF,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;CAC3G;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,WAAW,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,oBAAoB;IAEtD,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAgBvE"}
1
+ {"version":3,"file":"context-binder.d.ts","sourceRoot":"","sources":["../../src/runtime/context-binder.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;AACzG,MAAM,WAAW,gBAAgB;IAAG,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAC1I,MAAM,WAAW,UAAU;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACjF,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,UAAU,GAAG,aAAa,CAAC;AAChF,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,WAAW,EAAE,oBAAoB,CAAC,CAAC;IAC7E,WAAW,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CAC5L;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE;QACd,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,WAAW,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,oBAAoB;IAEtD,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAqCvE"}
@@ -9,18 +9,50 @@ export class ContextBinder {
9
9
  const result = await this.retrieval.retrieve({ ...input.retrieval, role: input.role });
10
10
  const sourceRefs = result.receipt.sourceRefs ?? [];
11
11
  const gaps = result.receipt.gaps ?? [];
12
- const requiredCodeMissing = input.role !== 'clarifier' && !sourceRefs.some(source => source.channel === 'code');
13
- if (requiredCodeMissing || gaps.some(gap => gap.resolver === 'required'))
14
- throw new DeliveryLineError('REQUIRED_CONTEXT_MISSING', 'required context evidence is missing');
12
+ const requiredChannels = requiredChannelsFor(input.role);
13
+ const missingRequired = requiredChannels.filter(channel => !sourceRefs.some(source => source.channel === channel));
14
+ const failedRequired = requiredChannels.filter(channel => gaps.some(gap => gap.channel === channel && (gap.resolver === 'required' || /producer_exception|stale|unavailable/i.test(gap.reason))));
15
+ if (missingRequired.length > 0 || failedRequired.length > 0 || gaps.some(gap => gap.resolver === 'required')) {
16
+ const channels = [...new Set([...missingRequired, ...failedRequired])].join(', ');
17
+ throw new DeliveryLineError('REQUIRED_CONTEXT_MISSING', `required context evidence is missing or unavailable: ${channels || 'unknown'}`);
18
+ }
15
19
  const payload = { receiptId: result.receipt.receiptId, contextHash: result.receipt.contextHash, sourceRefs, gaps };
20
+ const channels = ['code', 'memory', 'knowledge'];
21
+ const channelStatus = Object.fromEntries(channels.map(channel => {
22
+ const hasSource = sourceRefs.some(source => source.channel === channel);
23
+ const channelGaps = gaps.filter(gap => gap.channel === channel);
24
+ const hasProducerException = channelGaps.some(gap => /producer_exception/i.test(gap.reason));
25
+ return [channel, hasSource ? 'authoritative' : hasProducerException ? 'unavailable' : channelGaps.length > 0 ? 'degraded' : 'unavailable'];
26
+ }));
27
+ const selected = result.receipt.attribution?.selected ?? sourceRefs.map(source => source.stableRef);
28
+ const consumed = result.receipt.attribution?.consumed ?? [];
29
+ const verified = result.receipt.attribution?.verified ?? [];
30
+ const attributionIncomplete = ['planner', 'implementer', 'verifier', 'reviewer'].includes(input.role)
31
+ && selected.length > 0 && consumed.length === 0;
32
+ if (attributionIncomplete)
33
+ throw new DeliveryLineError('REQUIRED_CONTEXT_MISSING', 'context sources were selected but none were consumed or verified');
34
+ const receiptBody = { ...payload, channelStatus, attribution: { selected, consumed, verified } };
16
35
  return {
17
36
  ...payload,
18
- receiptHash: createHash('sha256').update(JSON.stringify(payload)).digest('hex'),
37
+ receiptHash: createHash('sha256').update(JSON.stringify(receiptBody)).digest('hex'),
19
38
  permissionSnapshotHash: createHash('sha256').update('delivery-context-permission-v1').digest('hex'),
20
39
  artifactHashes: [],
21
- blocking: false,
40
+ blocking: requiredChannels.some(channel => channelStatus[channel] !== 'authoritative') || attributionIncomplete,
41
+ channelStatus,
42
+ attribution: { selected, consumed, verified },
22
43
  createdAt: Date.now(),
23
44
  };
24
45
  }
25
46
  }
47
+ function requiredChannelsFor(role) {
48
+ if (role === 'clarifier')
49
+ return [];
50
+ if (role === 'planner')
51
+ return ['code', 'memory', 'knowledge'];
52
+ if (role === 'reviewer')
53
+ return ['code', 'knowledge'];
54
+ if (role === 'verifier')
55
+ return ['code'];
56
+ return ['code'];
57
+ }
26
58
  //# sourceMappingURL=context-binder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-binder.js","sourceRoot":"","sources":["../../src/runtime/context-binder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA+CvD,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,SAA+B;QAA/B,cAAS,GAAT,SAAS,CAAsB;IAAG,CAAC;IAEhE,KAAK,CAAC,KAAK,CAAC,KAAwB;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QACvC,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAChH,IAAI,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,UAAU,CAAC;YAAE,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,EAAE,sCAAsC,CAAC,CAAC;QAC1K,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACnH,OAAO;YACL,GAAG,OAAO;YACV,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/E,sBAAsB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACnG,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"context-binder.js","sourceRoot":"","sources":["../../src/runtime/context-binder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/delivery-line",
3
- "version": "0.18.10",
3
+ "version": "0.18.12",
4
4
  "description": "Auditable, host-neutral delivery orchestration from requirements to verified integration artifacts.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -29,8 +29,8 @@
29
29
  "vitest": "^2.0.0"
30
30
  },
31
31
  "dependencies": {
32
- "@devflow-tools/sdk": "0.18.10",
33
- "@devflow-tools/workflow-engine": "0.18.10"
32
+ "@devflow-tools/sdk": "0.18.12",
33
+ "@devflow-tools/workflow-engine": "0.18.12"
34
34
  },
35
35
  "files": [
36
36
  "dist",
@@ -40,5 +40,6 @@
40
40
  "private": false,
41
41
  "publishConfig": {
42
42
  "access": "public"
43
- }
43
+ },
44
+ "gitHead": "4bef753de830e4e881bd150c9b090ab0953139c1"
44
45
  }