@exellix/ai-tasks 9.1.1 → 10.0.1

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 (101) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +21 -2
  3. package/RUNTASK_REQUEST.md +33 -11
  4. package/dist/builders/task-request-builder.d.ts.map +1 -1
  5. package/dist/builders/task-request-builder.js +2 -1
  6. package/dist/builders/task-request-builder.js.map +1 -1
  7. package/dist/core/task-sdk.d.ts.map +1 -1
  8. package/dist/core/task-sdk.js +39 -17
  9. package/dist/core/task-sdk.js.map +1 -1
  10. package/dist/errors/runTaskExecutionError.d.ts.map +1 -1
  11. package/dist/errors/runTaskExecutionError.js +0 -2
  12. package/dist/errors/runTaskExecutionError.js.map +1 -1
  13. package/dist/index.d.ts +0 -4
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +0 -4
  16. package/dist/index.js.map +1 -1
  17. package/dist/narrix/applyWebScopeToRequest.d.ts +9 -0
  18. package/dist/narrix/applyWebScopeToRequest.d.ts.map +1 -0
  19. package/dist/narrix/applyWebScopeToRequest.js +156 -0
  20. package/dist/narrix/applyWebScopeToRequest.js.map +1 -0
  21. package/dist/narrix/narrixUnitExecution.d.ts.map +1 -1
  22. package/dist/narrix/narrixUnitExecution.js +6 -1
  23. package/dist/narrix/narrixUnitExecution.js.map +1 -1
  24. package/dist/node-execution/buildRequestFromNodePlan.d.ts +2 -0
  25. package/dist/node-execution/buildRequestFromNodePlan.d.ts.map +1 -1
  26. package/dist/node-execution/buildRequestFromNodePlan.js +0 -3
  27. package/dist/node-execution/buildRequestFromNodePlan.js.map +1 -1
  28. package/dist/node-execution/createNodeExecutionHost.d.ts.map +1 -1
  29. package/dist/node-execution/createNodeExecutionHost.js +107 -26
  30. package/dist/node-execution/createNodeExecutionHost.js.map +1 -1
  31. package/dist/node-execution/dispatchExecutionUnit.d.ts.map +1 -1
  32. package/dist/node-execution/dispatchExecutionUnit.js +4 -2
  33. package/dist/node-execution/dispatchExecutionUnit.js.map +1 -1
  34. package/dist/node-execution/orchestration/runPostOrchestration.d.ts +11 -0
  35. package/dist/node-execution/orchestration/runPostOrchestration.d.ts.map +1 -0
  36. package/dist/node-execution/orchestration/runPostOrchestration.js +123 -0
  37. package/dist/node-execution/orchestration/runPostOrchestration.js.map +1 -0
  38. package/dist/node-execution/orchestration/runPreOrchestration.d.ts +3 -0
  39. package/dist/node-execution/orchestration/runPreOrchestration.d.ts.map +1 -0
  40. package/dist/node-execution/orchestration/runPreOrchestration.js +110 -0
  41. package/dist/node-execution/orchestration/runPreOrchestration.js.map +1 -0
  42. package/dist/node-execution/orchestration/shardContext.d.ts +12 -0
  43. package/dist/node-execution/orchestration/shardContext.d.ts.map +1 -0
  44. package/dist/node-execution/orchestration/shardContext.js +71 -0
  45. package/dist/node-execution/orchestration/shardContext.js.map +1 -0
  46. package/dist/node-execution/orchestration/types.d.ts +21 -0
  47. package/dist/node-execution/orchestration/types.d.ts.map +1 -0
  48. package/dist/node-execution/orchestration/types.js +2 -0
  49. package/dist/node-execution/orchestration/types.js.map +1 -0
  50. package/dist/observability/classifyRunTaskFailure.d.ts.map +1 -1
  51. package/dist/observability/classifyRunTaskFailure.js +4 -3
  52. package/dist/observability/classifyRunTaskFailure.js.map +1 -1
  53. package/dist/observability/logRunTaskFailure.d.ts.map +1 -1
  54. package/dist/observability/logRunTaskFailure.js +0 -2
  55. package/dist/observability/logRunTaskFailure.js.map +1 -1
  56. package/dist/synthesis/runStructuredSynthesisRobust.d.ts.map +1 -1
  57. package/dist/synthesis/runStructuredSynthesisRobust.js +24 -4
  58. package/dist/synthesis/runStructuredSynthesisRobust.js.map +1 -1
  59. package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.d.ts +3 -0
  60. package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.d.ts.map +1 -1
  61. package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.js +28 -4
  62. package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.js.map +1 -1
  63. package/dist/task-strategies/canonicalInputExecutionStrategies.d.ts +4 -4
  64. package/dist/task-strategies/canonicalInputExecutionStrategies.d.ts.map +1 -1
  65. package/dist/task-strategies/canonicalInputExecutionStrategies.js +2 -1
  66. package/dist/task-strategies/canonicalInputExecutionStrategies.js.map +1 -1
  67. package/dist/task-strategies/canonicalOrchestrationStrategies.d.ts +42 -0
  68. package/dist/task-strategies/canonicalOrchestrationStrategies.d.ts.map +1 -0
  69. package/dist/task-strategies/canonicalOrchestrationStrategies.js +47 -0
  70. package/dist/task-strategies/canonicalOrchestrationStrategies.js.map +1 -0
  71. package/dist/task-strategies/canonicalTaskStrategies.d.ts +2 -1
  72. package/dist/task-strategies/canonicalTaskStrategies.d.ts.map +1 -1
  73. package/dist/task-strategies/canonicalTaskStrategies.js +2 -1
  74. package/dist/task-strategies/canonicalTaskStrategies.js.map +1 -1
  75. package/dist/task-strategies/constants.d.ts +9 -1
  76. package/dist/task-strategies/constants.d.ts.map +1 -1
  77. package/dist/task-strategies/constants.js +9 -1
  78. package/dist/task-strategies/constants.js.map +1 -1
  79. package/dist/task-strategies/index.d.ts +5 -3
  80. package/dist/task-strategies/index.d.ts.map +1 -1
  81. package/dist/task-strategies/index.js +4 -3
  82. package/dist/task-strategies/index.js.map +1 -1
  83. package/dist/task-strategies/listAiTaskStrategies.d.ts +10 -1
  84. package/dist/task-strategies/listAiTaskStrategies.d.ts.map +1 -1
  85. package/dist/task-strategies/listAiTaskStrategies.js +17 -2
  86. package/dist/task-strategies/listAiTaskStrategies.js.map +1 -1
  87. package/dist/types/task-types.d.ts +0 -8
  88. package/dist/types/task-types.d.ts.map +1 -1
  89. package/dist/utils/resolveRunTaskModelReferences.d.ts.map +1 -1
  90. package/dist/utils/resolveRunTaskModelReferences.js +0 -32
  91. package/dist/utils/resolveRunTaskModelReferences.js.map +1 -1
  92. package/dist/utils/runTaskRequestShape.d.ts.map +1 -1
  93. package/dist/utils/runTaskRequestShape.js +4 -26
  94. package/dist/utils/runTaskRequestShape.js.map +1 -1
  95. package/dist/validation/validateRunTaskConfig.d.ts.map +1 -1
  96. package/dist/validation/validateRunTaskConfig.js +1 -66
  97. package/dist/validation/validateRunTaskConfig.js.map +1 -1
  98. package/documenations/skill-orchestration-strategy-cr-fr.md +147 -0
  99. package/documenations/upstream-feature-requests/graph-engine-runtask-contract-alignment-investigation.md +1 -1
  100. package/documenations/upstream-feature-requests/graphenix-format-alignment-fr.md +7 -0
  101. package/package.json +7 -6
@@ -55,11 +55,11 @@ function collectRunTaskObservabilityHints(req) {
55
55
  if (req.executionMode === "trace")
56
56
  return [];
57
57
  const hints = [];
58
- const pipe = req.executionPipeline;
59
- if (pipe?.some((s) => s.phase === "pre" && s.type === SYNTHESIZED_CONTEXT)) {
60
- hints.push('Observability: PRE "synthesized-context" invokes xynthesis; use executionMode: "trace" for synthesis diagnostics.');
58
+ const units = req.nodePlan?.executionUnits ?? [];
59
+ if (units.some((u) => u.unitKind === "externalPreUtility" && (u.strategyKey === "synthesis" || u.actionKey === "synthesis"))) {
60
+ hints.push('Observability: PRE synthesis invokes xynthesis; use executionMode: "trace" for synthesis diagnostics.');
61
61
  }
62
- if (pipe?.some((s) => s.phase === "post" && (s.type === "audit" || s.type === "polish"))) {
62
+ if (units.some((u) => u.unitKind === "externalPostUtility")) {
63
63
  hints.push('Observability: POST audit/polish invokes xynthesis; use executionMode: "trace" for per-step LLM observations.');
64
64
  }
65
65
  if (req.aiScoping && req.aiScoping.length > 0) {
@@ -84,28 +84,6 @@ export function emitRunTaskRequestWarnings(req) {
84
84
  fieldEvidence("inputs.present", req.inputs !== undefined),
85
85
  ]);
86
86
  }
87
- const pipeline = req.executionPipeline;
88
- if (pipeline?.length) {
89
- const pre = pipeline.filter((s) => s.phase === "pre");
90
- const synthPre = pre.filter((s) => s.type === SYNTHESIZED_CONTEXT);
91
- if (synthPre.length > 1) {
92
- emitAiTasksDiagnosticWarning(AI_TASKS_DIAGNOSTIC_CODES.EXECUTION_PIPELINE_MULTIPLE_SYNTH_PRE, `executionPipeline: ${synthPre.length} PRE steps with type "${SYNTHESIZED_CONTEXT}"; only the first is executed — consolidate extra PRE steps.`, [
93
- fieldEvidence("executionPipeline.pre.synthesizedContext.count", synthPre.length),
94
- fieldEvidence("executionPipeline.pre.synthesizedContext.allowed", 1),
95
- ]);
96
- }
97
- for (const s of pre) {
98
- if (s.type !== SYNTHESIZED_CONTEXT) {
99
- emitAiTasksDiagnosticWarning(AI_TASKS_DIAGNOSTIC_CODES.EXECUTION_PIPELINE_UNSUPPORTED_PRE, `executionPipeline: PRE step type "${String(s.type)}" is not supported — runTask throws at execution (only "${SYNTHESIZED_CONTEXT}" is allowed).`, [fieldEvidence("executionPipeline.pre.type", s.type)]);
100
- }
101
- }
102
- const post = pipeline.filter((s) => s.phase === "post");
103
- for (const s of post) {
104
- if (s.type !== "audit" && s.type !== "polish") {
105
- emitAiTasksDiagnosticWarning(AI_TASKS_DIAGNOSTIC_CODES.EXECUTION_PIPELINE_UNSUPPORTED_POST, `executionPipeline: POST step type "${String(s.type)}" is not supported — ignored (only "audit" and "polish").`, [fieldEvidence("executionPipeline.post.type", s.type)]);
106
- }
107
- }
108
- }
109
87
  for (const message of collectRunTaskObservabilityHints(req)) {
110
88
  emitAiTasksDiagnosticWarning(AI_TASKS_DIAGNOSTIC_CODES.RUN_TASK_OBSERVABILITY_HINT, message, [
111
89
  fieldEvidence("executionMode", req.executionMode ?? "default"),
@@ -1 +1 @@
1
- {"version":3,"file":"runTaskRequestShape.js","sourceRoot":"","sources":["../../src/utils/runTaskRequestShape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runTaskRequestShape.js","sourceRoot":"","sources":["../../src/utils/runTaskRequestShape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAEpD,iFAAiF;AACjF,MAAM,UAAU,+BAA+B;IAC7C,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtE,OAAO,CAAC,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,GAAmB;IAC/D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CACX,mJAAmJ,CACpJ,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAC9C,QAAqC;IAErC,IAAI,CAAC,QAAQ,EAAE,MAAM;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CACX,sBAAsB,QAAQ,CAAC,MAAM,yBAAyB,mBAAmB,8DAA8D,CAChJ,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CACX,qCAAqC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,2DAA2D,mBAAmB,gBAAgB,CAClJ,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CACX,sCAAsC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,2DAA2D,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,uBAAuB,CAAC,GAAmB;IACzD,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;IACrC,OAAO,wBAAwB,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,gCAAgC,CAAC,GAAmB;IAC3D,IAAI,GAAG,CAAC,aAAa,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC;IACjD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,oBAAoB,IAAI,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC;QAC7H,KAAK,CAAC,IAAI,CACR,uGAAuG,CACxG,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,qBAAqB,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CACR,+GAA+G,CAChH,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,IAAI,CACR,2GAA2G,CAC5G,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,4BAA4B,CACnC,IAAY,EACZ,OAAe,EACf,QAA6C;IAE7C,gBAAgB,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;QAChC,MAAM,EAAE,mBAAmB;QAC3B,SAAS,EAAE,gBAAgB,CAAC,OAAO;QACnC,WAAW,EAAE,EAAE,OAAO,EAAE;QACxB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAmB;IAC5D,IAAI,CAAC,+BAA+B,EAAE;QAAE,OAAO;IAE/C,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxD,4BAA4B,CAC1B,yBAAyB,CAAC,wCAAwC,EAClE,mJAAmJ,EACnJ;YACE,aAAa,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;YACvD,aAAa,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;SAC1D,CACF,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,gCAAgC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,4BAA4B,CAAC,yBAAyB,CAAC,2BAA2B,EAAE,OAAO,EAAE;YAC3F,aAAa,CAAC,eAAe,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateRunTaskConfig.d.ts","sourceRoot":"","sources":["../../src/validation/validateRunTaskConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAmB,MAAM,wBAAwB,CAAC;AAgB7F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA6E1D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,uBAAuB,CA4GtF"}
1
+ {"version":3,"file":"validateRunTaskConfig.d.ts","sourceRoot":"","sources":["../../src/validation/validateRunTaskConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAc7D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAG1D;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,uBAAuB,CA0GtF"}
@@ -1,72 +1,9 @@
1
- import { SYNTHESIZED_CONTEXT } from "../types/task-types.js";
2
1
  import { validateNodeExecutionPlan } from "@x12i/graphenix-plan-format";
3
2
  import { rejectForbiddenWireFields } from "../node-execution/rejectForbiddenWireFields.js";
4
- import { collectExecutionPipelineWarnings } from "../utils/runTaskRequestShape.js";
5
3
  import { resolveRunTaskRuntimeKnobs } from "../internal/resolveRunTaskRuntimeKnobs.js";
6
4
  import { collectSmartInputValidationIssues } from "./collectSmartInputValidationIssues.js";
7
- import { finalizeValidationResult, isNonEmptyString, pushIssue, validateLlmCallFields, validateModelConfigFields, validateRunTaskModelConfig, validateRootLlmCallModelScope, } from "./helpers.js";
5
+ import { finalizeValidationResult, isNonEmptyString, pushIssue, validateLlmCallFields, validateRunTaskModelConfig, validateRootLlmCallModelScope, } from "./helpers.js";
8
6
  import { validateProfessionalAnswerContract } from "./validateProfessionalAnswerContract.js";
9
- function validateExecutionPipeline(pipeline, issues) {
10
- if (!pipeline?.length)
11
- return;
12
- const mainSteps = pipeline.filter((s) => s.phase === "main");
13
- if (mainSteps.length !== 1) {
14
- pushIssue(issues, {
15
- code: "PIPELINE_MAIN_COUNT",
16
- path: "executionPipeline",
17
- message: `executionPipeline must contain exactly one step with phase "main"; got ${mainSteps.length}.`,
18
- });
19
- }
20
- for (const w of collectExecutionPipelineWarnings(pipeline)) {
21
- pushIssue(issues, {
22
- code: "PIPELINE_UNSUPPORTED_STEP",
23
- severity: "warning",
24
- path: "executionPipeline",
25
- message: w,
26
- });
27
- }
28
- for (let i = 0; i < pipeline.length; i++) {
29
- const step = pipeline[i];
30
- if (step.phase === "pre" && step.type === SYNTHESIZED_CONTEXT) {
31
- const cfg = (step.config ?? {});
32
- validateModelConfigFields(cfg.modelConfig, `executionPipeline[${i}].config.modelConfig`, issues);
33
- validateLlmCallFields(cfg.llmCall, `executionPipeline[${i}].config.llmCall`, issues);
34
- }
35
- if (step.phase === "post" && (step.type === "audit" || step.type === "polish")) {
36
- const cfg = step.config;
37
- if (cfg && typeof cfg === "object") {
38
- validateModelConfigFields(cfg.modelConfig, `executionPipeline[${i}].config.modelConfig`, issues);
39
- validateLlmCallFields(cfg.llmCall, `executionPipeline[${i}].config.llmCall`, issues);
40
- const llm = cfg.llmCall;
41
- if (llm && typeof llm === "object" && !Array.isArray(llm)) {
42
- const nested = llm;
43
- if (nested.audit) {
44
- validateLlmCallFields(nested.audit, `executionPipeline[${i}].config.llmCall.audit`, issues);
45
- }
46
- if (nested.synthesis) {
47
- validateLlmCallFields(nested.synthesis, `executionPipeline[${i}].config.llmCall.synthesis`, issues);
48
- }
49
- }
50
- }
51
- }
52
- }
53
- }
54
- function validateSynthesisPreRequirements(request, issues) {
55
- const pipeline = request.executionPipeline;
56
- if (!pipeline?.some((s) => s.phase === "pre" && s.type === SYNTHESIZED_CONTEXT))
57
- return;
58
- const hasContext = request.includeContextInPrompt === true ||
59
- pipeline.some((s) => s.phase === "pre" &&
60
- s.type === SYNTHESIZED_CONTEXT &&
61
- s.config?.autoEnableContext === true);
62
- if (!hasContext) {
63
- pushIssue(issues, {
64
- code: "SYNTHESIS_PRE_REQUIRES_CONTEXT",
65
- path: "includeContextInPrompt",
66
- message: 'PRE "synthesized-context" requires includeContextInPrompt: true or synthesisConfig.autoEnableContext: true on the PRE step.',
67
- });
68
- }
69
- }
70
7
  /**
71
8
  * Validate **static** `RunTaskRequest` configuration (model, pipeline, correlation ids, smartInput shape).
72
9
  * Does **not** check whether memory paths resolve — use {@link validateRunTaskInvoke} for that.
@@ -166,8 +103,6 @@ export function validateRunTaskConfig(request) {
166
103
  });
167
104
  }
168
105
  }
169
- validateExecutionPipeline(resolved.executionPipeline, issues);
170
- validateSynthesisPreRequirements(resolved, issues);
171
106
  validateProfessionalAnswerContract(resolved, issues);
172
107
  if (resolved.aiScopingOptions?.llmCall) {
173
108
  validateLlmCallFields(resolved.aiScopingOptions.llmCall, "aiScopingOptions.llmCall", issues);
@@ -1 +1 @@
1
- {"version":3,"file":"validateRunTaskConfig.js","sourceRoot":"","sources":["../../src/validation/validateRunTaskConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateRunTaskConfig.js","sourceRoot":"","sources":["../../src/validation/validateRunTaskConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ # Skill execution strategy model — CR/FR (ai-tasks + consumers)
2
+
3
+ Filed by: `@exellix/ai-tasks` (runtime), `@exellix/graph-engine` (compile/plan), `@exellix/xynthesis` (sidekick actions)
4
+ Status: Draft — target architecture agreed in product discussion (2026-06-13)
5
+ Baseline: `@exellix/ai-tasks` 9.x+, graph-engine 8.1.x nodePlan path
6
+ Related: [run-task-execution-flow.md](./run-task-execution-flow.md), [funcx-pre-post-sidekick-actions.md](./funcx-pre-post-sidekick-actions.md), [graph-engine-runtask-contract-alignment-investigation.md](./upstream-feature-requests/graph-engine-runtask-contract-alignment-investigation.md)
7
+
8
+ ## 0. Executive summary
9
+
10
+ The runtime today mixes three different concepts under “PRE/POST strategy”:
11
+
12
+ | Concept | What it should mean | What the code calls it today |
13
+ |---------|---------------------|------------------------------|
14
+ | Pre-SKILL actions | web-scope, Narrix, memory enrichment | `narrixMode`, NARRIX units, web scoper |
15
+ | PRE strategy (fan-out) | plan/split → N MAIN instances with sub-inputs | Not implemented; planner only merges prompt vars into one MAIN |
16
+ | PRE step (context synthesis) | Build prompt context before MAIN | `externalPreUtility` synthesis; catalog `ai-task-strategies-pre` (misnamed) |
17
+ | POST strategy (fan-in) | merge N MAIN outputs → one answer | Not implemented; FuncX `post/craft-final` exists upstream but unwired |
18
+ | POST strategy (self-improve) | audit loop + feedback + pick-best | Partially: audit POST step + separate optimizer execution strategy |
19
+
20
+ **Goal:** Align naming, catalogs, and runtime so engineers can reason in two layers:
21
+
22
+ ```
23
+ [Layer 1 — pre-SKILL] web-scope → narrix / pre-actions
24
+ [Layer 2 — in-SKILL] PRE strategy → MAIN (1..N) → POST strategy
25
+ ```
26
+
27
+ ## 1. Target architecture (normative)
28
+
29
+ ### 1.1 Layer 1 — Pre-SKILL actions (outside skill boundary)
30
+
31
+ `web-scope? → narrix / xynthesis pre-actions → enter SKILL`
32
+
33
+ Purpose: enrich memory/evidence before the skill runs. Controls: `narrixMode`, `request.narrix`, web scoping, graph-level utilities. Not in scope: splitting work, multiple MAIN, audit loops.
34
+
35
+ ### 1.2 Layer 2 — Inside SKILL
36
+
37
+ `PRE strategy? → MAIN (1 or N) → POST strategy?`
38
+
39
+ **Pattern A — Map-reduce (fan-out / fan-in)**
40
+
41
+ | Phase | Role | Examples |
42
+ |-------|------|----------|
43
+ | PRE strategy | Decide how many MAIN runs and sub-inputs | `plan`, `split` |
44
+ | MAIN | N independent skill invocations | same `skillKey`, different input per shard |
45
+ | POST strategy | Combine partial answers | `merge`, `craft-final`, `synthesis` |
46
+
47
+ **Pattern B — Self-improving loop (no PRE strategy)**
48
+
49
+ MAIN → audit gate → retry if allowed → pick best (optional merge of top candidates).
50
+
51
+ Invariants:
52
+
53
+ - PRE/POST strategy keys describe orchestration of MAIN, not memory-source selection.
54
+ - `narrixMode` is orthogonal to PRE/POST strategy.
55
+ - Pattern A and B may compose (e.g. split → 3 MAIN each with audit loop → merge).
56
+
57
+ ## 2. Gap taxonomy
58
+
59
+ | Kind | Meaning |
60
+ |------|---------|
61
+ | CR | Existing behavior or naming contradicts the target model; fix or deprecate |
62
+ | FR | New capability required to reach the target model |
63
+
64
+ ## 3. Change requests (CR)
65
+
66
+ ### CR-AITASKS-1 — Rename / re-scope `ai-task-strategies-pre` catalog
67
+
68
+ Treat as **synthesis input source** (`ai-task-synthesis-input-strategies` alias). UI/docs: “Synthesis input source”, not “Pre strategy”.
69
+
70
+ ### CR-AITASKS-2 — Disentangle `executionStrategies` planner/optimizer from PRE/POST strategy
71
+
72
+ Document as MAIN wrappers (prompt shaping + lightweight retry), not fan-out PRE strategy.
73
+
74
+ ### CR-AITASKS-3 — synthesized-context PRE step is not PRE strategy
75
+
76
+ Reserve `synthesis` on `aiTaskStrategies.pre` for “enable synthesized-context step”. POST merge uses distinct keys (`merge`, `craft-final`).
77
+
78
+ ### CR-AITASKS-4 — nodePlan `externalPostUtility` audit path incomplete
79
+
80
+ Wire real `reRunMain` and `contextMarkdown` on nodePlan audit units.
81
+
82
+ ### CR-AITASKS-5 — Exactly-one MAIN invariant blocks Pattern A
83
+
84
+ Document until FR-AITASKS-1 ships.
85
+
86
+ ### CR-GRAPH-1 — `preStrategyKey` / `postStrategyKey` semantics
87
+
88
+ Define allowed orchestration keys per pattern; compile into typed `nodePlan.executionUnits`.
89
+
90
+ ## 4. Feature requests (FR)
91
+
92
+ ### FR-AITASKS-1 — PRE orchestration fan-out (`plan`, `split`)
93
+
94
+ ### FR-AITASKS-2 — MAIN shard execution policy (sequential first)
95
+
96
+ ### FR-AITASKS-3 — POST orchestration fan-in (`merge`, `pick-best`)
97
+
98
+ ### FR-AITASKS-4 — Canonical PRE/POST orchestration catalogs
99
+
100
+ `ai-task-pre-orchestration-strategies`, `ai-task-post-orchestration-strategies`
101
+
102
+ ### FR-AITASKS-5 — Unify audit-loop POST strategy (Pattern B)
103
+
104
+ ### FR-AITASKS-6 — Compose Pattern A + B (P2)
105
+
106
+ ### FR-GRAPH-1 — Compile `aiTaskOrchestration` → nodePlan units
107
+
108
+ ### FR-XYN-1 — Sidekick actions for orchestration (`execution/split`, extended `execution/plan`)
109
+
110
+ ## 5. Phasing
111
+
112
+ **Phase 1 (P0):** CR-AITASKS-1/2/5, FR-AITASKS-4/5, CR-AITASKS-4, **`preInputStrategy` removal** (path-driven `invokeContract.reads`), skill support templates, synthesis context wiring.
113
+
114
+ **Phase 2 (P0):** FR-AITASKS-1/3, FR-XYN-1, FR-GRAPH-1.
115
+
116
+ **Phase 3 (P2):** FR-AITASKS-6.
117
+
118
+ ## Phase 2 (implemented in ai-tasks 10.x)
119
+
120
+ Fan-out/fan-in orchestration runtime:
121
+
122
+ - **PRE** `externalPreUtility` with `strategyKey: plan | split` → `executionMemory.orchestration.shards`
123
+ - **MAIN** single `mainSkill` unit runs all shards sequentially when no `unitParams.shardId`; or one unit per shard from graph-engine compile
124
+ - **POST** `externalPostUtility` with `strategyKey: merge | pick-best` → FuncX `post/craft-final` / `post/pick-best`
125
+ - **Web scope (Layer 1)** standalone `externalPreUtility` `strategyKey: webScope` or `narrix.enableWebScope` on narrative preprocessor
126
+
127
+ Graph-engine (FR-GRAPH-1) still compiles `aiTaskOrchestration` into frozen `nodePlan.executionUnits`; runtime accepts compiled plans.
128
+
129
+ **Graphenix validator note:** See [graphenix-format-alignment-fr.md](./upstream-feature-requests/graphenix-format-alignment-fr.md) and [graph-model-change-2026-06-13.md](../temp/downstream/graph-model-change-2026-06-13.md) — path-driven synthesis `reads`, `preInputStrategy` removed.
130
+
131
+ ## Phase 2 (deferred — graph-engine / xynthesis only)
132
+
133
+ - FR-GRAPH-1: compile `aiTaskOrchestration` → typed units (consumer repo)
134
+ - FR-XYN-1: dedicated `execution/split` sidekick action (deterministic split works without it)
135
+ - FR-AITASKS-6: Pattern A + B composition at scale
136
+
137
+ ## 6. Skill support templates (ai-skills)
138
+
139
+ Skill catalog rows declare **support-role templates** for actions that help MAIN:
140
+
141
+ - **MAIN:** `instructionsText` / `promptText`
142
+ - **Synthesis context step:** `supportTemplates.synthesisContext[strategyKey]` (keyed by synthesis **input** strategy)
143
+ - **PRE orchestration:** `supportTemplates.preOrchestration[plan|split]` (Phase 2)
144
+ - **POST orchestration:** `supportTemplates.postOrchestration[merge|pick-best]` (Phase 2)
145
+ - **Audit loop:** `auditInstructionsText` / `auditPromptText`
146
+
147
+ See [RUNTASK_REQUEST.md](../RUNTASK_REQUEST.md) glossary.
@@ -241,7 +241,7 @@ runtime.executionMemory.input = {
241
241
 
242
242
  | # | Change |
243
243
  |---|--------|
244
- | **P2-1** | Studio fields for `taskVariables`, `preInputStrategy`, `inputsConfig.path: input` |
244
+ | **P2-1** | Studio fields for `taskVariables`, `inputsConfig.path: input`, synthesis via paths (no `preInputStrategy`) |
245
245
  | **P2-2** | One-time migration: `input.raw` → flat `input`, `variables.question` → `taskVariables.question`, mapping paths → `output.parsed.*` |
246
246
  | **P2-3** | Update graph-engine docs that still prescribe `executionMemory.input.raw` |
247
247
 
@@ -0,0 +1,7 @@
1
+ # FR — graphenix-format alignment (skill orchestration)
2
+
3
+ **Upstream implementation spec** for the `x12i/graphenix-format` monorepo.
4
+
5
+ **Canonical copy:** [temp/downstream/graphenix-format-alignment-fr.md](../../../temp/downstream/graphenix-format-alignment-fr.md)
6
+
7
+ **Summary:** Extend strategy registry + plan validation + path-driven synthesis (`invokeContract.reads`). Deprecate `preInputStrategy`. Target graphenix **2.0.2**; see [graph-model-change-2026-06-13.md](../../../temp/downstream/graph-model-change-2026-06-13.md).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exellix/ai-tasks",
3
- "version": "9.1.1",
3
+ "version": "10.0.1",
4
4
  "description": "Task orchestration for the Exellix stack: runTask() with local handlers or LLM-backed execution, task-scoped memory/context enrichment, and executor dispatch via @exellix/ai-skills. ERC-compliant.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -60,7 +60,7 @@
60
60
  "node": ">=20"
61
61
  },
62
62
  "dependencies": {
63
- "@exellix/ai-skills": "^6.9.1",
63
+ "@exellix/ai-skills": "^6.10.0",
64
64
  "@exellix/memorix-narrix-adapter": "^2.0.0",
65
65
  "@exellix/narrix-adapter-chat": "^2.0.0",
66
66
  "@exellix/narrix-adapter-docs": "^2.0.0",
@@ -80,8 +80,8 @@
80
80
  "@x12i/execution-memory-manager": "^1.2.0",
81
81
  "@x12i/funcx": "^4.9.13",
82
82
  "@x12i/graphenix-core": "^2.0.1",
83
- "@x12i/graphenix-executable-contracts": "^2.0.1",
84
- "@x12i/graphenix-plan-format": "^2.0.1",
83
+ "@x12i/graphenix-executable-contracts": "^2.0.3",
84
+ "@x12i/graphenix-plan-format": "^2.0.3",
85
85
  "@x12i/graphenix-trace-format": "^2.0.1",
86
86
  "@x12i/logxer": "^4.6.0",
87
87
  "@x12i/optimixer": "^3.5.2",
@@ -92,8 +92,9 @@
92
92
  },
93
93
  "devDependencies": {
94
94
  "@types/node": "^18.0.0 || ^20.0.0",
95
- "@x12i/graphenix-authoring-format": "^2.0.1",
96
- "@x12i/graphenix-plan-compiler": "^2.0.1",
95
+ "@x12i/graphenix-authoring-format": "^2.0.3",
96
+ "@x12i/graphenix-plan-compiler": "^2.0.3",
97
+ "@x12i/graphenix-task-node-format": "^2.0.3",
97
98
  "dotenv": "^16.0.0",
98
99
  "ts-node": "^10.9.0",
99
100
  "tsx": "^4.0.0",