@neuroverseos/n8n-nodes-neuroverse 0.2.0 → 0.3.0

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 (27) hide show
  1. package/dist/nodes/NeuroVerseGuard/NeuroVerseGuard.node.d.ts.map +1 -1
  2. package/dist/nodes/NeuroVerseGuard/NeuroVerseGuard.node.js +46 -2
  3. package/dist/nodes/NeuroVerseGuard/NeuroVerseGuard.node.js.map +1 -1
  4. package/dist/nodes/NeuroVerseSimulate/NeuroVerseSimulate.node.d.ts.map +1 -1
  5. package/dist/nodes/NeuroVerseSimulate/NeuroVerseSimulate.node.js +46 -2
  6. package/dist/nodes/NeuroVerseSimulate/NeuroVerseSimulate.node.js.map +1 -1
  7. package/package.json +4 -2
  8. package/workflows/auto-refund-simulator.json +236 -0
  9. package/workflows/trusted-email-agent.json +766 -0
  10. package/worlds/nexus-email-governance/assumptions.json +9 -0
  11. package/worlds/nexus-email-governance/gates.json +1 -0
  12. package/worlds/nexus-email-governance/guards.json +99 -0
  13. package/worlds/nexus-email-governance/invariants.json +30 -0
  14. package/worlds/nexus-email-governance/metadata.json +6 -0
  15. package/worlds/nexus-email-governance/outcomes.json +1 -0
  16. package/worlds/nexus-email-governance/rules.json +1 -0
  17. package/worlds/nexus-email-governance/state.json +1 -0
  18. package/worlds/nexus-email-governance/world.json +10 -0
  19. package/worlds/nexus-email-governance.nv-world.zip +0 -0
  20. package/worlds/refund-policy-simulator/assumptions.json +128 -0
  21. package/worlds/refund-policy-simulator/gates.json +55 -0
  22. package/worlds/refund-policy-simulator/invariants.json +20 -0
  23. package/worlds/refund-policy-simulator/metadata.json +6 -0
  24. package/worlds/refund-policy-simulator/outcomes.json +81 -0
  25. package/worlds/refund-policy-simulator/rules.json +211 -0
  26. package/worlds/refund-policy-simulator/state.json +100 -0
  27. package/worlds/refund-policy-simulator/world.json +10 -0
@@ -1 +1 @@
1
- {"version":3,"file":"NeuroVerseGuard.node.d.ts","sourceRoot":"","sources":["../../../nodes/NeuroVerseGuard/NeuroVerseGuard.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAyOtB,qBAAa,eAAgB,YAAW,SAAS;IAC/C,WAAW,EAAE,oBAAoB,CA4L/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAqPxE"}
1
+ {"version":3,"file":"NeuroVerseGuard.node.d.ts","sourceRoot":"","sources":["../../../nodes/NeuroVerseGuard/NeuroVerseGuard.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAErB,MAAM,cAAc,CAAC;AA0PtB,qBAAa,eAAgB,YAAW,SAAS;IAC/C,WAAW,EAAE,oBAAoB,CA8M/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAgQxE"}
@@ -6,6 +6,21 @@ const governance_1 = require("@neuroverseos/governance");
6
6
  const fs_1 = require("fs");
7
7
  const path_1 = require("path");
8
8
  const os_1 = require("os");
9
+ // ─── Bundled Worlds ──────────────────────────────────────────────────────────
10
+ const BUNDLED_WORLDS_DIR = (0, path_1.resolve)(__dirname, '..', '..', '..', 'worlds');
11
+ function getBundledWorldChoices() {
12
+ try {
13
+ return (0, fs_1.readdirSync)(BUNDLED_WORLDS_DIR, { withFileTypes: true })
14
+ .filter((d) => d.isDirectory())
15
+ .map((d) => ({
16
+ name: d.name.replace(/-/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase()),
17
+ value: d.name,
18
+ }));
19
+ }
20
+ catch {
21
+ return [];
22
+ }
23
+ }
9
24
  // ─── Field Name Normalization (Fix 3) ─────────────────────────────────────────
10
25
  // extractContentFields recognizes specific key names. Real-world workflows use
11
26
  // many synonyms. Normalize before passing to the governance function.
@@ -229,6 +244,11 @@ class NeuroVerseGuard {
229
244
  name: 'worldSource',
230
245
  type: 'options',
231
246
  options: [
247
+ {
248
+ name: 'Bundled',
249
+ value: 'bundled',
250
+ description: 'Use a world that ships with this package — zero setup required',
251
+ },
232
252
  {
233
253
  name: 'File Path',
234
254
  value: 'filePath',
@@ -240,9 +260,22 @@ class NeuroVerseGuard {
240
260
  description: 'Load from a base64-encoded .nv-world.zip (from another node or API)',
241
261
  },
242
262
  ],
243
- default: 'filePath',
263
+ default: 'bundled',
244
264
  description: 'How to load the governance world file.',
245
265
  },
266
+ {
267
+ displayName: 'Bundled World',
268
+ name: 'bundledWorld',
269
+ type: 'options',
270
+ options: getBundledWorldChoices(),
271
+ default: getBundledWorldChoices()[0]?.value ?? '',
272
+ description: 'Select a governance world included with this package.',
273
+ displayOptions: {
274
+ show: {
275
+ worldSource: ['bundled'],
276
+ },
277
+ },
278
+ },
246
279
  {
247
280
  displayName: 'World File Path',
248
281
  name: 'worldFilePath',
@@ -407,7 +440,18 @@ class NeuroVerseGuard {
407
440
  const additionalFields = this.getNodeParameter('additionalFields', i);
408
441
  // ─── Load world ─────────────────────────────────────────────
409
442
  let cacheKey;
410
- if (worldSource === 'base64') {
443
+ if (worldSource === 'bundled') {
444
+ const worldName = this.getNodeParameter('bundledWorld', i);
445
+ cacheKey = `bundled:${worldName}`;
446
+ const worldDir = (0, path_1.join)(BUNDLED_WORLDS_DIR, worldName);
447
+ const currentMtime = getDirectoryMtime(worldDir);
448
+ const cached = worldCache.get(cacheKey);
449
+ if (!cached || cached.mtime < currentMtime) {
450
+ const world = await (0, governance_1.loadWorld)(worldDir);
451
+ worldCache.set(cacheKey, { world, mtime: currentMtime });
452
+ }
453
+ }
454
+ else if (worldSource === 'base64') {
411
455
  const base64 = this.getNodeParameter('worldFileBase64', i);
412
456
  cacheKey = `base64:${base64.substring(0, 64)}:${base64.length}`;
413
457
  if (!worldCache.has(cacheKey)) {
@@ -1 +1 @@
1
- {"version":3,"file":"NeuroVerseGuard.node.js","sourceRoot":"","sources":["../../../nodes/NeuroVerseGuard/NeuroVerseGuard.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NeuroVerseGuard.node.js","sourceRoot":"","sources":["../../../nodes/NeuroVerseGuard/NeuroVerseGuard.node.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NeuroVerseSimulate.node.d.ts","sourceRoot":"","sources":["../../../nodes/NeuroVerseSimulate/NeuroVerseSimulate.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAoDtB,qBAAa,kBAAmB,YAAW,SAAS;IAClD,WAAW,EAAE,oBAAoB,CAuG/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAuHxE"}
1
+ {"version":3,"file":"NeuroVerseSimulate.node.d.ts","sourceRoot":"","sources":["../../../nodes/NeuroVerseSimulate/NeuroVerseSimulate.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAqEtB,qBAAa,kBAAmB,YAAW,SAAS;IAClD,WAAW,EAAE,oBAAoB,CAyH/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAkIxE"}
@@ -6,6 +6,21 @@ const governance_1 = require("@neuroverseos/governance");
6
6
  const fs_1 = require("fs");
7
7
  const path_1 = require("path");
8
8
  const os_1 = require("os");
9
+ // ─── Bundled Worlds ──────────────────────────────────────────────────────────
10
+ const BUNDLED_WORLDS_DIR = (0, path_1.resolve)(__dirname, '..', '..', '..', 'worlds');
11
+ function getBundledWorldChoices() {
12
+ try {
13
+ return (0, fs_1.readdirSync)(BUNDLED_WORLDS_DIR, { withFileTypes: true })
14
+ .filter((d) => d.isDirectory())
15
+ .map((d) => ({
16
+ name: d.name.replace(/-/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase()),
17
+ value: d.name,
18
+ }));
19
+ }
20
+ catch {
21
+ return [];
22
+ }
23
+ }
9
24
  const worldCache = new Map();
10
25
  function getDirectoryMtime(dirPath) {
11
26
  try {
@@ -61,6 +76,11 @@ class NeuroVerseSimulate {
61
76
  name: 'worldSource',
62
77
  type: 'options',
63
78
  options: [
79
+ {
80
+ name: 'Bundled',
81
+ value: 'bundled',
82
+ description: 'Use a world that ships with this package — zero setup required',
83
+ },
64
84
  {
65
85
  name: 'File Path',
66
86
  value: 'filePath',
@@ -72,9 +92,22 @@ class NeuroVerseSimulate {
72
92
  description: 'Load from a base64-encoded .nv-world.zip (from another node or API)',
73
93
  },
74
94
  ],
75
- default: 'filePath',
95
+ default: 'bundled',
76
96
  description: 'How to load the governance world file.',
77
97
  },
98
+ {
99
+ displayName: 'Bundled World',
100
+ name: 'bundledWorld',
101
+ type: 'options',
102
+ options: getBundledWorldChoices(),
103
+ default: getBundledWorldChoices()[0]?.value ?? '',
104
+ description: 'Select a governance world included with this package.',
105
+ displayOptions: {
106
+ show: {
107
+ worldSource: ['bundled'],
108
+ },
109
+ },
110
+ },
78
111
  {
79
112
  displayName: 'World File Path',
80
113
  name: 'worldFilePath',
@@ -154,7 +187,18 @@ class NeuroVerseSimulate {
154
187
  const haltOnCollapse = this.getNodeParameter('haltOnCollapse', i, false);
155
188
  // ─── Load world ─────────────────────────────────────────────
156
189
  let cacheKey;
157
- if (worldSource === 'base64') {
190
+ if (worldSource === 'bundled') {
191
+ const worldName = this.getNodeParameter('bundledWorld', i);
192
+ cacheKey = `bundled:${worldName}`;
193
+ const worldDir = (0, path_1.join)(BUNDLED_WORLDS_DIR, worldName);
194
+ const currentMtime = getDirectoryMtime(worldDir);
195
+ const cached = worldCache.get(cacheKey);
196
+ if (!cached || cached.mtime < currentMtime) {
197
+ const world = await (0, governance_1.loadWorld)(worldDir);
198
+ worldCache.set(cacheKey, { world, mtime: currentMtime });
199
+ }
200
+ }
201
+ else if (worldSource === 'base64') {
158
202
  const base64 = this.getNodeParameter('worldFileBase64', i);
159
203
  cacheKey = `base64:${base64.substring(0, 64)}:${base64.length}`;
160
204
  if (!worldCache.has(cacheKey)) {
@@ -1 +1 @@
1
- {"version":3,"file":"NeuroVerseSimulate.node.js","sourceRoot":"","sources":["../../../nodes/NeuroVerseSimulate/NeuroVerseSimulate.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NeuroVerseSimulate.node.js","sourceRoot":"","sources":["../../../nodes/NeuroVerseSimulate/NeuroVerseSimulate.node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuroverseos/n8n-nodes-neuroverse",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "NeuroVerse Guard node for n8n. Evaluate AI agent actions against governance rules and route workflows with ALLOW, BLOCK, or PAUSE decisions.",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
@@ -41,7 +41,9 @@
41
41
  "lint": "eslint nodes/ --ext .ts"
42
42
  },
43
43
  "files": [
44
- "dist"
44
+ "dist",
45
+ "worlds",
46
+ "workflows"
45
47
  ],
46
48
  "dependencies": {
47
49
  "@neuroverseos/governance": "^0.3.4",
@@ -0,0 +1,236 @@
1
+ {
2
+ "name": "Should We Let AI Auto-Handle Refunds? — Behavioral Simulation",
3
+ "nodes": [
4
+ {
5
+ "parameters": {
6
+ "httpMethod": "POST",
7
+ "path": "simulate-refund-policy",
8
+ "responseMode": "responseNode"
9
+ },
10
+ "id": "trigger-1",
11
+ "name": "Policy Proposal",
12
+ "type": "n8n-nodes-base.webhook",
13
+ "typeVersion": 2,
14
+ "position": [240, 400],
15
+ "notes": "Receives a policy change proposal. Example POST body:\n{\n \"proposal\": \"Enable auto-refunds under $100\",\n \"current_state\": {\n \"trust_score\": 75,\n \"refund_rate\": 12,\n \"abuse_rate\": 3\n }\n}"
16
+ },
17
+ {
18
+ "parameters": {
19
+ "mode": "raw",
20
+ "jsonOutput": "={{ JSON.stringify({ proposal: $json.body?.proposal || 'Enable auto-refunds under $100', trust_score: $json.body?.current_state?.trust_score ?? 75, refund_rate: $json.body?.current_state?.refund_rate ?? 12, abuse_rate: $json.body?.current_state?.abuse_rate ?? 3, customer_satisfaction: $json.body?.current_state?.customer_satisfaction ?? 70, revenue_margin: $json.body?.current_state?.revenue_margin ?? 65, escalation_rate: $json.body?.current_state?.escalation_rate ?? 8, auto_resolve_rate: 60 }) }}"
21
+ },
22
+ "id": "setup-1",
23
+ "name": "Prepare Simulation Input",
24
+ "type": "n8n-nodes-base.set",
25
+ "typeVersion": 3.4,
26
+ "position": [480, 400],
27
+ "notes": "Normalizes input and sets auto_resolve_rate to 60% — this is the 'what if' scenario we're testing."
28
+ },
29
+ {
30
+ "parameters": {
31
+ "worldSource": "filePath",
32
+ "worldFilePath": "/data/worlds/refund-policy-simulator",
33
+ "steps": 10,
34
+ "profile": "best_case",
35
+ "stateOverrides": "={{ JSON.stringify({ trust_score: $json.trust_score, refund_rate: $json.refund_rate, abuse_rate: $json.abuse_rate, customer_satisfaction: $json.customer_satisfaction, revenue_margin: $json.revenue_margin, escalation_rate: $json.escalation_rate, auto_resolve_rate: $json.auto_resolve_rate }) }}",
36
+ "haltOnCollapse": false
37
+ },
38
+ "id": "sim-best",
39
+ "name": "Simulate Best Case",
40
+ "type": "@neuroverseos/n8n-nodes-neuroverse.neuroVerseSimulate",
41
+ "typeVersion": 1,
42
+ "position": [760, 200]
43
+ },
44
+ {
45
+ "parameters": {
46
+ "worldSource": "filePath",
47
+ "worldFilePath": "/data/worlds/refund-policy-simulator",
48
+ "steps": 10,
49
+ "profile": "expected",
50
+ "stateOverrides": "={{ JSON.stringify({ trust_score: $json.trust_score, refund_rate: $json.refund_rate, abuse_rate: $json.abuse_rate, customer_satisfaction: $json.customer_satisfaction, revenue_margin: $json.revenue_margin, escalation_rate: $json.escalation_rate, auto_resolve_rate: $json.auto_resolve_rate }) }}",
51
+ "haltOnCollapse": false
52
+ },
53
+ "id": "sim-expected",
54
+ "name": "Simulate Expected",
55
+ "type": "@neuroverseos/n8n-nodes-neuroverse.neuroVerseSimulate",
56
+ "typeVersion": 1,
57
+ "position": [760, 400]
58
+ },
59
+ {
60
+ "parameters": {
61
+ "worldSource": "filePath",
62
+ "worldFilePath": "/data/worlds/refund-policy-simulator",
63
+ "steps": 10,
64
+ "profile": "worst_case",
65
+ "stateOverrides": "={{ JSON.stringify({ trust_score: $json.trust_score, refund_rate: $json.refund_rate, abuse_rate: $json.abuse_rate, customer_satisfaction: $json.customer_satisfaction, revenue_margin: $json.revenue_margin, escalation_rate: $json.escalation_rate, auto_resolve_rate: $json.auto_resolve_rate }) }}",
66
+ "haltOnCollapse": false
67
+ },
68
+ "id": "sim-worst",
69
+ "name": "Simulate Worst Case",
70
+ "type": "@neuroverseos/n8n-nodes-neuroverse.neuroVerseSimulate",
71
+ "typeVersion": 1,
72
+ "position": [760, 600]
73
+ },
74
+ {
75
+ "parameters": {
76
+ "functionCode": "// ─── Behavioral Analysis: Extract the story from the simulation data ───\nconst sim = items[0].json.simulation;\nconst steps = sim.stepDetails || [];\nconst profile = sim.profile || 'unknown';\n\n// Find the inflection point — first step where viability drops from initial\nconst initialViability = steps[0]?.viability || 'THRIVING';\nlet inflectionStep = null;\nlet inflectionFrom = initialViability;\nlet inflectionTo = null;\nfor (const step of steps) {\n if (step.viability !== initialViability && !inflectionStep) {\n inflectionStep = step.step;\n inflectionTo = step.viability;\n break;\n }\n}\n\n// Count rule frequency — which rules dominate the trajectory\nconst ruleCounts = {};\nconst ruleLabels = {};\nfor (const step of steps) {\n for (const rule of (step.rulesTriggered || [])) {\n ruleCounts[rule.ruleId] = (ruleCounts[rule.ruleId] || 0) + 1;\n ruleLabels[rule.ruleId] = rule.label;\n }\n}\n\n// Sort by frequency\nconst dominantRules = Object.entries(ruleCounts)\n .sort((a, b) => b[1] - a[1])\n .slice(0, 5)\n .map(([id, count]) => ({ ruleId: id, label: ruleLabels[id], timesFired: count }));\n\n// Find the first cascade — a step where 3+ rules fire simultaneously\nlet cascadeStep = null;\nlet cascadeRuleCount = 0;\nfor (const step of steps) {\n if ((step.rulesTriggered || []).length >= 3 && !cascadeStep) {\n cascadeStep = step.step;\n cascadeRuleCount = step.rulesTriggered.length;\n break;\n }\n}\n\n// Calculate degradation rates for key metrics\nconst initial = sim.initialState || {};\nconst final = sim.finalState || {};\nconst metrics = {};\nfor (const key of ['trust_score', 'revenue_margin', 'customer_satisfaction', 'abuse_rate', 'refund_rate', 'escalation_rate']) {\n if (initial[key] !== undefined && final[key] !== undefined) {\n const start = Number(initial[key]);\n const end = Number(final[key]);\n const change = end - start;\n const pctChange = start !== 0 ? Math.round((change / start) * 100) : 0;\n metrics[key] = {\n start: Math.round(start * 10) / 10,\n end: Math.round(end * 10) / 10,\n change: Math.round(change * 10) / 10,\n pctChange,\n direction: change > 0 ? 'increased' : change < 0 ? 'decreased' : 'unchanged'\n };\n }\n}\n\n// Identify root cause — the earliest-firing degradation/structural rule\nlet rootCause = null;\nfor (const step of steps) {\n for (const rule of (step.rulesTriggered || [])) {\n const dominant = dominantRules.find(d => d.ruleId === rule.ruleId);\n if (dominant && dominant.timesFired >= 3) {\n rootCause = { ruleId: rule.ruleId, label: rule.label, firstStep: step.step, totalFires: dominant.timesFired };\n break;\n }\n }\n if (rootCause) break;\n}\n\nreturn [{\n json: {\n profile,\n finalViability: sim.finalViability,\n collapsed: sim.collapsed || false,\n collapseStep: sim.collapseStep || null,\n totalSteps: steps.length,\n inflection: inflectionStep ? {\n step: inflectionStep,\n from: inflectionFrom,\n to: inflectionTo\n } : null,\n cascade: cascadeStep ? {\n step: cascadeStep,\n simultaneousRules: cascadeRuleCount\n } : null,\n dominantRules,\n rootCause,\n metrics,\n trajectory: steps.map(s => ({\n step: s.step,\n viability: s.viability,\n rulesFired: s.rulesFired\n }))\n }\n}];"
77
+ },
78
+ "id": "analyze-best",
79
+ "name": "Analyze Best Case",
80
+ "type": "n8n-nodes-base.code",
81
+ "typeVersion": 2,
82
+ "position": [1060, 200]
83
+ },
84
+ {
85
+ "parameters": {
86
+ "functionCode": "// ─── Behavioral Analysis: Extract the story from the simulation data ───\nconst sim = items[0].json.simulation;\nconst steps = sim.stepDetails || [];\nconst profile = sim.profile || 'unknown';\n\n// Find the inflection point — first step where viability drops from initial\nconst initialViability = steps[0]?.viability || 'THRIVING';\nlet inflectionStep = null;\nlet inflectionFrom = initialViability;\nlet inflectionTo = null;\nfor (const step of steps) {\n if (step.viability !== initialViability && !inflectionStep) {\n inflectionStep = step.step;\n inflectionTo = step.viability;\n break;\n }\n}\n\n// Count rule frequency — which rules dominate the trajectory\nconst ruleCounts = {};\nconst ruleLabels = {};\nfor (const step of steps) {\n for (const rule of (step.rulesTriggered || [])) {\n ruleCounts[rule.ruleId] = (ruleCounts[rule.ruleId] || 0) + 1;\n ruleLabels[rule.ruleId] = rule.label;\n }\n}\n\n// Sort by frequency\nconst dominantRules = Object.entries(ruleCounts)\n .sort((a, b) => b[1] - a[1])\n .slice(0, 5)\n .map(([id, count]) => ({ ruleId: id, label: ruleLabels[id], timesFired: count }));\n\n// Find the first cascade — a step where 3+ rules fire simultaneously\nlet cascadeStep = null;\nlet cascadeRuleCount = 0;\nfor (const step of steps) {\n if ((step.rulesTriggered || []).length >= 3 && !cascadeStep) {\n cascadeStep = step.step;\n cascadeRuleCount = step.rulesTriggered.length;\n break;\n }\n}\n\n// Calculate degradation rates for key metrics\nconst initial = sim.initialState || {};\nconst final = sim.finalState || {};\nconst metrics = {};\nfor (const key of ['trust_score', 'revenue_margin', 'customer_satisfaction', 'abuse_rate', 'refund_rate', 'escalation_rate']) {\n if (initial[key] !== undefined && final[key] !== undefined) {\n const start = Number(initial[key]);\n const end = Number(final[key]);\n const change = end - start;\n const pctChange = start !== 0 ? Math.round((change / start) * 100) : 0;\n metrics[key] = {\n start: Math.round(start * 10) / 10,\n end: Math.round(end * 10) / 10,\n change: Math.round(change * 10) / 10,\n pctChange,\n direction: change > 0 ? 'increased' : change < 0 ? 'decreased' : 'unchanged'\n };\n }\n}\n\n// Identify root cause — the earliest-firing degradation/structural rule\nlet rootCause = null;\nfor (const step of steps) {\n for (const rule of (step.rulesTriggered || [])) {\n const dominant = dominantRules.find(d => d.ruleId === rule.ruleId);\n if (dominant && dominant.timesFired >= 3) {\n rootCause = { ruleId: rule.ruleId, label: rule.label, firstStep: step.step, totalFires: dominant.timesFired };\n break;\n }\n }\n if (rootCause) break;\n}\n\nreturn [{\n json: {\n profile,\n finalViability: sim.finalViability,\n collapsed: sim.collapsed || false,\n collapseStep: sim.collapseStep || null,\n totalSteps: steps.length,\n inflection: inflectionStep ? {\n step: inflectionStep,\n from: inflectionFrom,\n to: inflectionTo\n } : null,\n cascade: cascadeStep ? {\n step: cascadeStep,\n simultaneousRules: cascadeRuleCount\n } : null,\n dominantRules,\n rootCause,\n metrics,\n trajectory: steps.map(s => ({\n step: s.step,\n viability: s.viability,\n rulesFired: s.rulesFired\n }))\n }\n}];"
87
+ },
88
+ "id": "analyze-expected",
89
+ "name": "Analyze Expected",
90
+ "type": "n8n-nodes-base.code",
91
+ "typeVersion": 2,
92
+ "position": [1060, 400]
93
+ },
94
+ {
95
+ "parameters": {
96
+ "functionCode": "// ─── Behavioral Analysis: Extract the story from the simulation data ───\nconst sim = items[0].json.simulation;\nconst steps = sim.stepDetails || [];\nconst profile = sim.profile || 'unknown';\n\n// Find the inflection point — first step where viability drops from initial\nconst initialViability = steps[0]?.viability || 'THRIVING';\nlet inflectionStep = null;\nlet inflectionFrom = initialViability;\nlet inflectionTo = null;\nfor (const step of steps) {\n if (step.viability !== initialViability && !inflectionStep) {\n inflectionStep = step.step;\n inflectionTo = step.viability;\n break;\n }\n}\n\n// Count rule frequency — which rules dominate the trajectory\nconst ruleCounts = {};\nconst ruleLabels = {};\nfor (const step of steps) {\n for (const rule of (step.rulesTriggered || [])) {\n ruleCounts[rule.ruleId] = (ruleCounts[rule.ruleId] || 0) + 1;\n ruleLabels[rule.ruleId] = rule.label;\n }\n}\n\n// Sort by frequency\nconst dominantRules = Object.entries(ruleCounts)\n .sort((a, b) => b[1] - a[1])\n .slice(0, 5)\n .map(([id, count]) => ({ ruleId: id, label: ruleLabels[id], timesFired: count }));\n\n// Find the first cascade — a step where 3+ rules fire simultaneously\nlet cascadeStep = null;\nlet cascadeRuleCount = 0;\nfor (const step of steps) {\n if ((step.rulesTriggered || []).length >= 3 && !cascadeStep) {\n cascadeStep = step.step;\n cascadeRuleCount = step.rulesTriggered.length;\n break;\n }\n}\n\n// Calculate degradation rates for key metrics\nconst initial = sim.initialState || {};\nconst final = sim.finalState || {};\nconst metrics = {};\nfor (const key of ['trust_score', 'revenue_margin', 'customer_satisfaction', 'abuse_rate', 'refund_rate', 'escalation_rate']) {\n if (initial[key] !== undefined && final[key] !== undefined) {\n const start = Number(initial[key]);\n const end = Number(final[key]);\n const change = end - start;\n const pctChange = start !== 0 ? Math.round((change / start) * 100) : 0;\n metrics[key] = {\n start: Math.round(start * 10) / 10,\n end: Math.round(end * 10) / 10,\n change: Math.round(change * 10) / 10,\n pctChange,\n direction: change > 0 ? 'increased' : change < 0 ? 'decreased' : 'unchanged'\n };\n }\n}\n\n// Identify root cause — the earliest-firing degradation/structural rule\nlet rootCause = null;\nfor (const step of steps) {\n for (const rule of (step.rulesTriggered || [])) {\n const dominant = dominantRules.find(d => d.ruleId === rule.ruleId);\n if (dominant && dominant.timesFired >= 3) {\n rootCause = { ruleId: rule.ruleId, label: rule.label, firstStep: step.step, totalFires: dominant.timesFired };\n break;\n }\n }\n if (rootCause) break;\n}\n\nreturn [{\n json: {\n profile,\n finalViability: sim.finalViability,\n collapsed: sim.collapsed || false,\n collapseStep: sim.collapseStep || null,\n totalSteps: steps.length,\n inflection: inflectionStep ? {\n step: inflectionStep,\n from: inflectionFrom,\n to: inflectionTo\n } : null,\n cascade: cascadeStep ? {\n step: cascadeStep,\n simultaneousRules: cascadeRuleCount\n } : null,\n dominantRules,\n rootCause,\n metrics,\n trajectory: steps.map(s => ({\n step: s.step,\n viability: s.viability,\n rulesFired: s.rulesFired\n }))\n }\n}];"
97
+ },
98
+ "id": "analyze-worst",
99
+ "name": "Analyze Worst Case",
100
+ "type": "n8n-nodes-base.code",
101
+ "typeVersion": 2,
102
+ "position": [1060, 600]
103
+ },
104
+ {
105
+ "parameters": {
106
+ "functionCode": "// ─── Merge all 3 profiles and generate the behavioral comparison ───\n\n// Collect analyses from the 3 input connections\nconst best = items[0]?.json || {};\nconst expected = items[1]?.json || {};\nconst worst = items[2]?.json || {};\n\nconst profiles = { best_case: best, expected, worst_case: worst };\n\n// ─── Decision Logic ───\nconst viabilities = [best.finalViability, expected.finalViability, worst.finalViability];\nconst anyCritical = viabilities.includes('CRITICAL') || viabilities.includes('MODEL_COLLAPSES');\nconst anyCollapsed = best.collapsed || expected.collapsed || worst.collapsed;\nconst allHealthy = viabilities.every(v => v === 'THRIVING' || v === 'STABLE');\nconst expectedOk = expected.finalViability === 'THRIVING' || expected.finalViability === 'STABLE';\n\nlet decision, recommendation;\nif (allHealthy) {\n decision = 'APPROVE';\n recommendation = 'All scenarios remain healthy through 10 steps. Safe to enable auto-refunds.';\n} else if (expectedOk && !anyCollapsed) {\n decision = 'APPROVE_WITH_GUARDRAILS';\n recommendation = 'Expected case is stable, but worst case shows degradation. Enable with monitoring and abuse detection guardrails.';\n} else if (anyCritical || anyCollapsed) {\n decision = 'BLOCK';\n recommendation = 'System reaches CRITICAL or collapses under realistic conditions. Do NOT enable auto-refunds without fundamental changes.';\n} else {\n decision = 'REVIEW';\n recommendation = 'Mixed results — requires human review of the behavioral trajectories before proceeding.';\n}\n\n// ─── Find the most dangerous rule across all profiles ───\nconst allRules = {};\nfor (const [name, profile] of Object.entries(profiles)) {\n for (const rule of (profile.dominantRules || [])) {\n const key = rule.ruleId;\n if (!allRules[key]) allRules[key] = { ruleId: key, label: rule.label, totalFires: 0, profiles: [] };\n allRules[key].totalFires += rule.timesFired;\n allRules[key].profiles.push(name);\n }\n}\nconst topThreats = Object.values(allRules).sort((a, b) => b.totalFires - a.totalFires).slice(0, 3);\n\n// ─── Build the report ───\nconst lines = [];\nlines.push('===== BEHAVIORAL SIMULATION REPORT =====');\nlines.push('');\nlines.push('Policy: Enable AI auto-refunds under $100');\nlines.push('Simulation: 10 steps across 3 assumption profiles');\nlines.push('');\nlines.push('--- OUTCOMES ---');\nfor (const [name, profile] of Object.entries(profiles)) {\n const label = name.replace('_', ' ').toUpperCase();\n const v = profile.finalViability || 'UNKNOWN';\n const collapsed = profile.collapsed ? ' [COLLAPSED]' : '';\n lines.push(` ${label}: ${v}${collapsed}`);\n if (profile.inflection) {\n lines.push(` Inflection: Step ${profile.inflection.step} (${profile.inflection.from} -> ${profile.inflection.to})`);\n }\n if (profile.cascade) {\n lines.push(` First cascade: Step ${profile.cascade.step} (${profile.cascade.simultaneousRules} rules firing simultaneously)`);\n }\n if (profile.metrics?.trust_score) {\n const t = profile.metrics.trust_score;\n lines.push(` Trust: ${t.start} -> ${t.end} (${t.pctChange > 0 ? '+' : ''}${t.pctChange}%)`);\n }\n if (profile.metrics?.revenue_margin) {\n const r = profile.metrics.revenue_margin;\n lines.push(` Revenue margin: ${r.start} -> ${r.end} (${r.pctChange > 0 ? '+' : ''}${r.pctChange}%)`);\n }\n if (profile.metrics?.abuse_rate) {\n const a = profile.metrics.abuse_rate;\n lines.push(` Abuse rate: ${a.start} -> ${a.end} (${a.pctChange > 0 ? '+' : ''}${a.pctChange}%)`);\n }\n lines.push('');\n}\n\nlines.push('--- ROOT CAUSE ANALYSIS ---');\nfor (const threat of topThreats) {\n lines.push(` ${threat.label} (${threat.ruleId})`);\n lines.push(` Fired ${threat.totalFires}x across profiles: ${threat.profiles.join(', ')}`);\n}\nlines.push('');\n\nif (worst.rootCause) {\n lines.push('--- WORST CASE ROOT CAUSE ---');\n lines.push(` Rule: ${worst.rootCause.label}`);\n lines.push(` First fires at: Step ${worst.rootCause.firstStep}`);\n lines.push(` Total fires: ${worst.rootCause.totalFires}x in 10 steps`);\n lines.push('');\n}\n\nlines.push('--- DECISION ---');\nlines.push(` ${decision}`);\nlines.push(` ${recommendation}`);\n\nconst report = lines.join('\\n');\n\nreturn [{\n json: {\n decision,\n recommendation,\n report,\n profiles: {\n best_case: { viability: best.finalViability, collapsed: best.collapsed, inflection: best.inflection, metrics: best.metrics },\n expected: { viability: expected.finalViability, collapsed: expected.collapsed, inflection: expected.inflection, metrics: expected.metrics },\n worst_case: { viability: worst.finalViability, collapsed: worst.collapsed, inflection: worst.inflection, metrics: worst.metrics }\n },\n topThreats,\n worstCaseRootCause: worst.rootCause || null\n }\n}];"
107
+ },
108
+ "id": "merge-1",
109
+ "name": "Merge + Compare + Decide",
110
+ "type": "n8n-nodes-base.code",
111
+ "typeVersion": 2,
112
+ "position": [1360, 400],
113
+ "notes": "Merges all 3 behavioral analyses, compares trajectories, identifies root causes, and makes a deployment decision."
114
+ },
115
+ {
116
+ "parameters": {
117
+ "conditions": {
118
+ "options": {
119
+ "caseSensitive": true,
120
+ "leftValue": "",
121
+ "typeValidation": "strict"
122
+ },
123
+ "conditions": [
124
+ {
125
+ "id": "approve",
126
+ "leftValue": "={{ $json.decision }}",
127
+ "rightValue": "APPROVE",
128
+ "operator": {
129
+ "type": "string",
130
+ "operation": "equals"
131
+ }
132
+ }
133
+ ],
134
+ "combinator": "and"
135
+ },
136
+ "options": {}
137
+ },
138
+ "id": "switch-1",
139
+ "name": "Route Decision",
140
+ "type": "n8n-nodes-base.if",
141
+ "typeVersion": 2,
142
+ "position": [1600, 400]
143
+ },
144
+ {
145
+ "parameters": {
146
+ "respondWith": "json",
147
+ "responseBody": "={{ JSON.stringify({ status: 'APPROVED', decision: $json.decision, recommendation: $json.recommendation, report: $json.report, profiles: $json.profiles }, null, 2) }}"
148
+ },
149
+ "id": "respond-approve",
150
+ "name": "Respond: Safe to Deploy",
151
+ "type": "n8n-nodes-base.respondToWebhook",
152
+ "typeVersion": 1.1,
153
+ "position": [1860, 300]
154
+ },
155
+ {
156
+ "parameters": {
157
+ "respondWith": "json",
158
+ "responseBody": "={{ JSON.stringify({ status: $json.decision, decision: $json.decision, recommendation: $json.recommendation, report: $json.report, profiles: $json.profiles, topThreats: $json.topThreats, rootCause: $json.worstCaseRootCause }, null, 2) }}",
159
+ "options": {
160
+ "responseCode": 422
161
+ }
162
+ },
163
+ "id": "respond-block",
164
+ "name": "Respond: Do NOT Deploy",
165
+ "type": "n8n-nodes-base.respondToWebhook",
166
+ "typeVersion": 1.1,
167
+ "position": [1860, 500]
168
+ }
169
+ ],
170
+ "connections": {
171
+ "Policy Proposal": {
172
+ "main": [
173
+ [{ "node": "Prepare Simulation Input", "type": "main", "index": 0 }]
174
+ ]
175
+ },
176
+ "Prepare Simulation Input": {
177
+ "main": [
178
+ [
179
+ { "node": "Simulate Best Case", "type": "main", "index": 0 },
180
+ { "node": "Simulate Expected", "type": "main", "index": 0 },
181
+ { "node": "Simulate Worst Case", "type": "main", "index": 0 }
182
+ ]
183
+ ]
184
+ },
185
+ "Simulate Best Case": {
186
+ "main": [
187
+ [{ "node": "Analyze Best Case", "type": "main", "index": 0 }],
188
+ [{ "node": "Analyze Best Case", "type": "main", "index": 0 }],
189
+ [{ "node": "Analyze Best Case", "type": "main", "index": 0 }]
190
+ ]
191
+ },
192
+ "Simulate Expected": {
193
+ "main": [
194
+ [{ "node": "Analyze Expected", "type": "main", "index": 0 }],
195
+ [{ "node": "Analyze Expected", "type": "main", "index": 0 }],
196
+ [{ "node": "Analyze Expected", "type": "main", "index": 0 }]
197
+ ]
198
+ },
199
+ "Simulate Worst Case": {
200
+ "main": [
201
+ [{ "node": "Analyze Worst Case", "type": "main", "index": 0 }],
202
+ [{ "node": "Analyze Worst Case", "type": "main", "index": 0 }],
203
+ [{ "node": "Analyze Worst Case", "type": "main", "index": 0 }]
204
+ ]
205
+ },
206
+ "Analyze Best Case": {
207
+ "main": [
208
+ [{ "node": "Merge + Compare + Decide", "type": "main", "index": 0 }]
209
+ ]
210
+ },
211
+ "Analyze Expected": {
212
+ "main": [
213
+ [{ "node": "Merge + Compare + Decide", "type": "main", "index": 0 }]
214
+ ]
215
+ },
216
+ "Analyze Worst Case": {
217
+ "main": [
218
+ [{ "node": "Merge + Compare + Decide", "type": "main", "index": 0 }]
219
+ ]
220
+ },
221
+ "Merge + Compare + Decide": {
222
+ "main": [
223
+ [{ "node": "Route Decision", "type": "main", "index": 0 }]
224
+ ]
225
+ },
226
+ "Route Decision": {
227
+ "main": [
228
+ [{ "node": "Respond: Safe to Deploy", "type": "main", "index": 0 }],
229
+ [{ "node": "Respond: Do NOT Deploy", "type": "main", "index": 0 }]
230
+ ]
231
+ }
232
+ },
233
+ "settings": {
234
+ "executionOrder": "v1"
235
+ }
236
+ }