Skip to content

feat(ai-builder): Add a binary check to validate node references#28344

Open
lucamattiazzi wants to merge 2 commits intomasterfrom
TRUST-42-binary_check_for_non_executed_nodes_references
Open

feat(ai-builder): Add a binary check to validate node references#28344
lucamattiazzi wants to merge 2 commits intomasterfrom
TRUST-42-binary_check_for_non_executed_nodes_references

Conversation

@lucamattiazzi
Copy link
Copy Markdown
Contributor

@lucamattiazzi lucamattiazzi commented Apr 10, 2026

Summary

This PR adds a binary check that validates that all node references refer to nodes upstream.

Review / Merge checklist

  • I have seen this code, I have run this code, and I take responsibility for this code.
  • PR title and summary are descriptive. (conventions)
  • Docs updated or follow-up ticket created.
  • Tests included.

@n8n-assistant n8n-assistant bot added the n8n team Authored by the n8n team label Apr 10, 2026
@lucamattiazzi lucamattiazzi changed the title TRUST-42: adds a binary check to avoid referencing future nodes feat(ai-builder): Add a binary check to validate node references Apr 10, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 10, 2026

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
45954 1 45953 2
View the top 1 failed test(s) by shortest run time
createBinaryChecksEvaluator runs deterministic checks without LLM
Stack Traces | 0.002s run time
Error: expect(received).toBe(expected) // Object.is equality

Expected: 17
Received: 18
    at Object.<anonymous> (.../n8n/n8n/packages/@n8n/ai-workflow-builder..../binary-checks/__tests__/index.test.ts:17:27)
    at processTicksAndRejections (node:internal/process/task_queues:104:5)

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

@lucamattiazzi lucamattiazzi requested a review from a team April 10, 2026 16:03
@lucamattiazzi lucamattiazzi marked this pull request as ready for review April 10, 2026 16:03
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 10, 2026

Performance Comparison

Comparing currentlatest master14-day baseline

Idle baseline with Instance AI module loaded

Metric Current Latest Master Baseline (avg) vs Master vs Baseline Status
instance-ai-heap-used-baseline 186.35 MB 186.51 MB 186.46 MB (< 3 samples) -0.1% -0.1%
instance-ai-rss-baseline 344.25 MB 394.55 MB 369.15 MB (< 3 samples) -12.7% -6.7%

docker-stats

Metric Current Latest Master Baseline (avg) vs Master vs Baseline Status
docker-image-size-n8n 1269.76 MB 1269.76 MB 1269.76 MB (σ 0.00) +0.0% +0.0%
docker-image-size-runners 386.00 MB 386.00 MB 387.50 MB (σ 3.00) +0.0% -0.4%

Memory consumption baseline with starter plan resources

Metric Current Latest Master Baseline (avg) vs Master vs Baseline Status
memory-heap-used-baseline 113.91 MB 114.53 MB 113.09 MB (σ 1.15) -0.5% +0.7%
memory-rss-baseline 281.51 MB 287.07 MB 281.78 MB (σ 34.50) -1.9% -0.1%
How to read this table
  • Current: This PR's value (or latest master if PR perf tests haven't run)
  • Latest Master: Most recent nightly master measurement
  • Baseline: Rolling 14-day average from master
  • vs Master: PR impact (current vs latest master)
  • vs Baseline: Drift from baseline (current vs rolling avg)
  • Status: ✅ within 1σ | ⚠️ 1-2σ | 🔴 >2σ regression

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

Labels

n8n team Authored by the n8n team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant