Skip to content

Conversation

@despairblue
Copy link
Contributor

Summary

WIP

Related Linear tickets, Github issues, and Community forum posts

Review / Merge checklist

  • PR title and summary are descriptive. (conventions)
  • Docs updated or follow-up ticket created.
  • Tests included.
  • PR Labeled with release/backport (if the PR is an urgent fix that needs to be backported)

@despairblue despairblue marked this pull request as draft November 24, 2025 09:55
@codecov
Copy link

codecov bot commented Nov 24, 2025

❌ 19 Tests Failed:

Tests completed Failed Passed Skipped
14746 19 14727 0
View the top 3 failed test(s) by shortest run time
WorkflowExecute runPartialWorkflow2 works with a single node
Stack Traces | 0.001s run time
assert.fail(received, expected)

Message:
  this code should be dead
    at WorkflowExecute.fail [as runPartialWorkflow2] (.../src/execution-engine/workflow-execute.ts:211:12)
    at Object.<anonymous> (.../execution-engine/__tests__/workflow-execute.test.ts:811:26)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService selectPinnedActivatorStarter() offloading manual executions to workers when receiving `runData`, should preserve it in `executionData` for partial execution
Stack Traces | 0.001s run time
assert.fail(received, expected)

Message:
  should never happen
    at WorkflowExecutionService.fail [as executeManually] (.../src/workflows/workflow-execution.service.ts:314:5)
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:573:19)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService selectPinnedActivatorStarter() offloading manual executions to workers when receiving no `runData`, should set `runData` to undefined in `executionData`
Stack Traces | 0.001s run time
assert.fail(received, expected)

Message:
  should never happen
    at WorkflowExecutionService.fail [as executeManually] (.../src/workflows/workflow-execution.service.ts:314:5)
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:521:19)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService selectPinnedActivatorStarter() should favor first webhook node over second webhook node
Stack Traces | 0.001s run time
Error: expect(received).toEqual(expected) // deep equality

Expected: {"id": "111f1db0-e7be-44c5-9ce9-3e35362490f0", "name": "Webhook", "parameters": {}, "position": [0, 0], "type": "n8n-nodes-base.webhook", "typeVersion": 1, "webhookId": "de0f8dcb-7b64-4f22-b66d-d8f74d6aefb7"}
Received: undefined
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:474:17)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService selectPinnedActivatorStarter() should favor webhook node connected to the destination node
Stack Traces | 0.001s run time
Error: expect(received).toEqual(expected) // deep equality

Expected: {"id": "222f1db0-e7be-44c5-9ce9-3e35362490f1", "name": "Webhook 2", "parameters": {}, "position": [0, 0], "type": "n8n-nodes-base.webhook", "typeVersion": 1, "webhookId": "de0f8dcb-7b64-4f22-b66d-d8f74d6aefb7"}
Received: undefined
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:491:17)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService selectPinnedActivatorStarter() should select webhook node if only choice
Stack Traces | 0.001s run time
Error: expect(received).toEqual(expected) // deep equality

Expected: {"id": "111f1db0-e7be-44c5-9ce9-3e35362490f0", "name": "Webhook", "parameters": {}, "position": [0, 0], "type": "n8n-nodes-base.webhook", "typeVersion": 1, "webhookId": "de0f8dcb-7b64-4f22-b66d-d8f74d6aefb7"}
Received: undefined
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:434:17)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService executeManually() should start from pinned trigger
Stack Traces | 0.002s run time
assert.fail(received, expected)

Message:
  should never happen
    at WorkflowExecutionService.fail [as executeManually] (.../src/workflows/workflow-execution.service.ts:314:5)
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:280:50)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService selectPinnedActivatorStarter() offloading manual executions to workers should not initialize nested `executionData.executionData` to avoid treating it as resumed execution
Stack Traces | 0.002s run time
assert.fail(received, expected)

Message:
  should never happen
    at WorkflowExecutionService.fail [as executeManually] (.../src/workflows/workflow-execution.service.ts:314:5)
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:614:19)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService selectPinnedActivatorStarter() should favor webhook node over execute workflow trigger
Stack Traces | 0.002s run time
Error: expect(received).toEqual(expected) // deep equality

Expected: {"id": "111f1db0-e7be-44c5-9ce9-3e35362490f0", "name": "Webhook", "parameters": {}, "position": [0, 0], "type": "n8n-nodes-base.webhook", "typeVersion": 1, "webhookId": "de0f8dcb-7b64-4f22-b66d-d8f74d6aefb7"}
Received: undefined
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:466:17)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService executeManually() should force current version for manual execution even if workflow has active version
Stack Traces | 0.004s run time
Error: expect(received).toEqual(expected) // deep equality

- Expected  - 1
+ Received  + 1

  Object {
-   "executionId": "fake-execution-id",
+   "executionId": Promise {},
  }
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:399:19)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
WorkflowExecutionService executeManually() removes runData if the destination node is a trigger
Stack Traces | 0.01s run time
Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

- Expected
+ Received

  Object {
+   "agentRequest": undefined,
    "destinationNode": [Function mockConstructor],
-   "dirtyNodeNames": [Function mockConstructor],
    "executionMode": "manual",
+   "httpResponse": undefined,
    "pinData": [Function mockConstructor],
    "pushRef": undefined,
-   "runData": undefined,
-   "startNodes": undefined,
-   "triggerToStartFrom": [Function mockConstructor],
+   "streamingEnabled": undefined,
+   "triggerToStartFrom": undefined,
    "userId": "user-id",
    "workflowData": undefined,
  },

Number of calls: 1
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:165:31)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
WorkflowExecutionService executeManually() should call WorkflowRunner.run() with pinned trigger with type trigger
Stack Traces | 0.013s run time
TypeError: nodePropertiesArray is not iterable
    at getParameterDependencies (.../workflow/src/node-helpers.ts:494:31)
    at Object.getNodeParameters (.../workflow/src/node-helpers.ts:619:27)
    at new Workflow (.../workflow/src/workflow.ts:113:39)
    at WorkflowExecutionService.selectPinnedTrigger (.../src/workflows/workflow-execution.service.ts:505:4)
    at WorkflowExecutionService.selectPinnedTrigger [as executeManually] (.../src/workflows/workflow-execution.service.ts:210:31)
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:213:51)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService selectPinnedActivatorStarter() should select execute workflow trigger if only choice
Stack Traces | 0.013s run time
Error: expect(received).toEqual(expected) // deep equality

Expected: {"id": "78d63bca-bb6c-4568-948f-8ed9aacb1fe9", "name": "Execute Workflow Trigger", "parameters": {}, "position": [0, 0], "type": "n8n-nodes-base.executeWorkflowTrigger", "typeVersion": 1}
Received: undefined
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:458:17)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService executeManually() should ignore pinned trigger and start from unexecuted trigger
Stack Traces | 0.014s run time
Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

- Expected
+ Received

@@ -1,19 +1,19 @@
  Object {
+   "agentRequest": undefined,
    "destinationNode": undefined,
-   "dirtyNodeNames": undefined,
    "executionMode": "manual",
+   "httpResponse": undefined,
    "pinData": Object {
      "pinned": Array [
        Object {
          "json": Object {},
        },
      ],
    },
    "pushRef": undefined,
-   "runData": undefined,
-   "startNodes": Array [],
+   "streamingEnabled": undefined,
    "triggerToStartFrom": Object {
      "name": "to-start-from",
    },
    "userId": "user-id",
    "workflowData": Object {,

Number of calls: 1
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:353:31)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
WorkflowExecutionService executeManually() should call WorkflowRunner.run() with pinned trigger with type webhook
Stack Traces | 0.019s run time
Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

- Expected
+ Received

  Object {
+   "agentRequest": undefined,
    "destinationNode": [Function mockConstructor],
-   "dirtyNodeNames": [Function mockConstructor],
    "executionMode": "manual",
+   "httpResponse": undefined,
    "pinData": undefined,
    "pushRef": undefined,
-   "runData": [Function mockConstructor],
-   "startNodes": Array [
-     Object {
-       "name": "webhook",
-       "sourceData": null,
-     },
-   ],
+   "streamingEnabled": undefined,
    "triggerToStartFrom": undefined,
    "userId": "user-id",
    "workflowData": undefined,
  },

Number of calls: 1
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:215:32)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
WorkflowExecutionService executeManually() should call `WorkflowRunner.run()` with correct parameters with default partial execution logic
Stack Traces | 0.053s run time
TypeError: Cannot read properties of undefined (reading 'filter')
    at WorkflowExecutionService.filter [as findAllPinnedTriggers] (.../src/workflows/workflow-execution.service.ts:522:5)
    at WorkflowExecutionService.findAllPinnedTriggers [as selectPinnedTrigger] (.../src/workflows/workflow-execution.service.ts:500:34)
    at WorkflowExecutionService.selectPinnedTrigger [as executeManually] (.../src/workflows/workflow-execution.service.ts:261:31)
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:128:50)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
Execution Context Propagation Integration Tests Nested sub-workflow propagation should propagate context through multiple workflow levels
Stack Traces | 10s run time
Error: thrown: "Exceeded timeout of 10000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
    at .../test/integration/execution-context-propagation.test.ts:220:3
    at _dispatchDescribe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:91:26)
    at describe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:55:5)
    at .../test/integration/execution-context-propagation.test.ts:219:2
    at _dispatchDescribe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:91:26)
    at describe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:55:5)
    at Object.<anonymous> (.../test/integration/execution-context-propagation.test.ts:64:1)
    at Runtime._execModule (.../n8n/node_modules/.pnpm/[email protected]..../jest-runtime/build/index.js:1430:24)
    at Runtime._loadModule (.../n8n/node_modules/.pnpm/[email protected]..../jest-runtime/build/index.js:1013:12)
    at Runtime.requireModule (.../n8n/node_modules/.pnpm/[email protected]..../jest-runtime/build/index.js:873:12)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:77:13)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
Execution Context Propagation Integration Tests Context isolation should not leak context between independent workflows
Stack Traces | 10s run time
Error: thrown: "Exceeded timeout of 10000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
    at .../test/integration/execution-context-propagation.test.ts:331:3
    at _dispatchDescribe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:91:26)
    at describe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:55:5)
    at .../test/integration/execution-context-propagation.test.ts:330:2
    at _dispatchDescribe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:91:26)
    at describe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:55:5)
    at Object.<anonymous> (.../test/integration/execution-context-propagation.test.ts:64:1)
    at Runtime._execModule (.../n8n/node_modules/.pnpm/[email protected]..../jest-runtime/build/index.js:1430:24)
    at Runtime._loadModule (.../n8n/node_modules/.pnpm/[email protected]..../jest-runtime/build/index.js:1013:12)
    at Runtime.requireModule (.../n8n/node_modules/.pnpm/[email protected]..../jest-runtime/build/index.js:873:12)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:77:13)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
Execution Context Propagation Integration Tests Sub-workflow context propagation should propagate context from parent to child workflow
Stack Traces | 10s run time
Error: thrown: "Exceeded timeout of 10000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
    at .../test/integration/execution-context-propagation.test.ts:137:3
    at _dispatchDescribe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:91:26)
    at describe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:55:5)
    at .../test/integration/execution-context-propagation.test.ts:136:2
    at _dispatchDescribe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:91:26)
    at describe (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/index.js:55:5)
    at Object.<anonymous> (.../test/integration/execution-context-propagation.test.ts:64:1)
    at Runtime._execModule (.../n8n/node_modules/.pnpm/[email protected]..../jest-runtime/build/index.js:1430:24)
    at Runtime._loadModule (.../n8n/node_modules/.pnpm/[email protected]..../jest-runtime/build/index.js:1013:12)
    at Runtime.requireModule (.../n8n/node_modules/.pnpm/[email protected]..../jest-runtime/build/index.js:873:12)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:77:13)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@n8n-assistant n8n-assistant bot added core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team labels Nov 24, 2025
@blacksmith-sh
Copy link

blacksmith-sh bot commented Nov 24, 2025

Found 31 test failures on Blacksmith runners:

Failures

Test View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Context isolation should not leak conte
xt between independent workflows
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Context isolation should not leak conte
xt between independent workflows
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Context isolation should not leak conte
xt between independent workflows
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Context isolation should not leak conte
xt between independent workflows
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Context isolation should not leak conte
xt between independent workflows
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Nested sub-workflow propagation should
propagate context through multiple workflow levels
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Nested sub-workflow propagation should
propagate context through multiple workflow levels
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Nested sub-workflow propagation should
propagate context through multiple workflow levels
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Nested sub-workflow propagation should
propagate context through multiple workflow levels
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Nested sub-workflow propagation should
propagate context through multiple workflow levels
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Sub-workflow context propagation should
propagate context from parent to child workflow
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Sub-workflow context propagation should
propagate context from parent to child workflow
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Sub-workflow context propagation should
propagate context from parent to child workflow
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Sub-workflow context propagation should
propagate context from parent to child workflow
View Logs
Execution Context Propagation Integration Tests/
Execution Context Propagation Integration Tests Sub-workflow context propagation should
propagate context from parent to child workflow
View Logs
WorkflowExecute/WorkflowExecute runPartialWorkflow2 works with a single node View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() removes runData if the destination node is a
trigger
View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() should call WorkflowRunner.run() with corr
ect parameters with default partial execution logic
View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() should call WorkflowRunner.run() with pinned
trigger with type trigger
View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() should call WorkflowRunner.run() with pinned
trigger with type webhook
View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() should force current version for manual exec
ution even if workflow has active version
View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() should ignore pinned trigger and start from
unexecuted trigger
View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() should start from pinned trigger
View Logs
WorkflowExecutionService/
WorkflowExecutionService selectPinnedActivatorStarter() offloading manual executions to
workers should not initialize nested executionData.executionData to avoid treating i
t as resumed execution
View Logs
WorkflowExecutionService/
WorkflowExecutionService selectPinnedActivatorStarter() offloading manual executions to
workers when receiving runData, should preserve it in executionData for partial ex
ecution
View Logs
WorkflowExecutionService/
WorkflowExecutionService selectPinnedActivatorStarter() offloading manual executions to
workers when receiving no runData, should set runData to undefined in executionDa</code><br /><code>ta
View Logs
WorkflowExecutionService/
WorkflowExecutionService selectPinnedActivatorStarter() should favor first webhook node
over second webhook node
View Logs
WorkflowExecutionService/
WorkflowExecutionService selectPinnedActivatorStarter() should favor webhook node conne
cted to the destination node
View Logs
WorkflowExecutionService/
WorkflowExecutionService selectPinnedActivatorStarter() should favor webhook node over
execute workflow trigger
View Logs
WorkflowExecutionService/
WorkflowExecutionService selectPinnedActivatorStarter() should select execute workflow
trigger if only choice
View Logs
WorkflowExecutionService/
WorkflowExecutionService selectPinnedActivatorStarter() should select webhook node if o
nly choice
View Logs


Fix in Cursor

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

5 issues found across 9 files

Prompt for AI agents (all 5 issues)

Understand the root cause of the following 5 issues and fix them.


<file name="packages/core/src/execution-engine/partial-execution-utils/directed-graph.ts">

<violation number="1" location="packages/core/src/execution-engine/partial-execution-utils/directed-graph.ts:522">
Rule violated: **Prefer Typeguards over Type casting**

`outputType` is still cast with `as NodeConnectionType`, bypassing any verification of the connection type. Please replace the cast with a proper narrowing strategy (e.g., add a type guard that checks the key against `NodeConnectionTypes` before using it) so the compiler enforces valid connection types instead of relying on `as`.</violation>
</file>

<file name="packages/cli/src/workflows/workflow-execution.service.ts">

<violation number="1" location="packages/cli/src/workflows/workflow-execution.service.ts:150">
Rule violated: **Prefer Typeguards over Type casting**

The payload is cast to `any` just to delete `runData`, bypassing the manual execution typings. Use the existing type guard (or refine the union type) so the deletion happens on a properly narrowed type instead of an `as any` cast, per the Prefer Typeguards over Type casting rule.</violation>

<violation number="2" location="packages/cli/src/workflows/workflow-execution.service.ts:153">
Remove the raw payload console log (or replace it with a redacted logger message) to avoid leaking manual execution data and to respect the project’s logging conventions.</violation>

<violation number="3" location="packages/cli/src/workflows/workflow-execution.service.ts:295">
Await the manual execution run so the method returns the real execution ID instead of a pending Promise.</violation>
</file>

<file name="packages/core/src/execution-engine/workflow-execute.ts">

<violation number="1" location="packages/core/src/execution-engine/workflow-execute.ts:211">
Removing the standalone-node partial execution path now causes manual runs of nodes without parents to throw an assertion instead of executing, regressing a supported scenario.</violation>
</file>

Reply to cubic to teach it or ask questions. Re-run a review with @cubic-dev-ai review this PR

from,
to,
// TODO: parse outputType instead of casting it
type: outputType as NodeConnectionType,
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rule violated: Prefer Typeguards over Type casting

outputType is still cast with as NodeConnectionType, bypassing any verification of the connection type. Please replace the cast with a proper narrowing strategy (e.g., add a type guard that checks the key against NodeConnectionTypes before using it) so the compiler enforces valid connection types instead of relying on as.

Prompt for AI agents
Address the following comment on packages/core/src/execution-engine/partial-execution-utils/directed-graph.ts at line 522:

<comment>`outputType` is still cast with `as NodeConnectionType`, bypassing any verification of the connection type. Please replace the cast with a proper narrowing strategy (e.g., add a type guard that checks the key against `NodeConnectionTypes` before using it) so the compiler enforces valid connection types instead of relying on `as`.</comment>

<file context>
@@ -493,6 +493,44 @@ export class DirectedGraph {
+							from,
+							to,
+							// TODO: parse outputType instead of casting it
+							type: outputType as NodeConnectionType,
+							outputIndex,
+							inputIndex,
</file context>
Fix with Cubic

// TODO: fix this on the FE
if ('triggerToStartFrom' in payload) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
delete (payload as any).runData;
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rule violated: Prefer Typeguards over Type casting

The payload is cast to any just to delete runData, bypassing the manual execution typings. Use the existing type guard (or refine the union type) so the deletion happens on a properly narrowed type instead of an as any cast, per the Prefer Typeguards over Type casting rule.

Prompt for AI agents
Address the following comment on packages/cli/src/workflows/workflow-execution.service.ts at line 150:

<comment>The payload is cast to `any` just to delete `runData`, bypassing the manual execution typings. Use the existing type guard (or refine the union type) so the deletion happens on a properly narrowed type instead of an `as any` cast, per the Prefer Typeguards over Type casting rule.</comment>

<file context>
@@ -91,149 +93,225 @@ export class WorkflowExecutionService {
+		// TODO: fix this on the FE
+		if (&#39;triggerToStartFrom&#39; in payload) {
+			// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
+			delete (payload as any).runData;
+		}
+
</file context>
Fix with Cubic

});

return this.processRunExecutionData(graph.toWorkflow({ ...workflow }));
assert.fail('this code should be dead');
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the standalone-node partial execution path now causes manual runs of nodes without parents to throw an assertion instead of executing, regressing a supported scenario.

Prompt for AI agents
Address the following comment on packages/core/src/execution-engine/workflow-execute.ts at line 211:

<comment>Removing the standalone-node partial execution path now causes manual runs of nodes without parents to throw an assertion instead of executing, regressing a supported scenario.</comment>

<file context>
@@ -205,37 +205,39 @@ export class WorkflowExecute {
-				});
-
-				return this.processRunExecutionData(graph.toWorkflow({ ...workflow }));
+				assert.fail(&#39;this code should be dead&#39;);
+				// // short cut here, only create a subgraph and the stacks
+				// graph = findSubgraph({
</file context>
Fix with Cubic

delete (payload as any).runData;
}

console.log('payload', payload);
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the raw payload console log (or replace it with a redacted logger message) to avoid leaking manual execution data and to respect the project’s logging conventions.

Prompt for AI agents
Address the following comment on packages/cli/src/workflows/workflow-execution.service.ts at line 153:

<comment>Remove the raw payload console log (or replace it with a redacted logger message) to avoid leaking manual execution data and to respect the project’s logging conventions.</comment>

<file context>
@@ -91,149 +93,225 @@ export class WorkflowExecutionService {
+			delete (payload as any).runData;
+		}
+
+		console.log(&#39;payload&#39;, payload);
+
+		if (isPartialManualExecutionToDestination(payload)) {
</file context>
Fix with Cubic

console.log('pinnedTrigger', pinnedTrigger);
}

const executionId = this.workflowRunner.run({
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Nov 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Await the manual execution run so the method returns the real execution ID instead of a pending Promise.

Prompt for AI agents
Address the following comment on packages/cli/src/workflows/workflow-execution.service.ts at line 295:

<comment>Await the manual execution run so the method returns the real execution ID instead of a pending Promise.</comment>

<file context>
@@ -91,149 +93,225 @@ export class WorkflowExecutionService {
+				console.log(&#39;pinnedTrigger&#39;, pinnedTrigger);
+			}
+
+			const executionId = this.workflowRunner.run({
+				executionMode: &#39;manual&#39;,
+				pinData: payload.workflowData.pinData,
</file context>
Fix with Cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants