A no-code visual process orchestration platform that competes directly with N8N and Make.com — more flexible, more powerful, and built to run sovereign. Any graph. Any data model. Any scale. Four levels of resolution from enterprise workflow down to a single field validation rule. RBAC-governed forms, GPU-accelerated transformations, and a graph database at the core.
Nexus, formerly known as Nexus.
Nexus is the name of the rule engine component at the core of Nexus. The product was formerly named
Nexus before it absorbed Nexus canvas and orchestration capabilities and took the Nexus name.
The backend engine repo remains named nexus/. All product documentation refers to Nexus.
N8N and Make.com are trigger-action workflow tools. They wire API calls together. They have no concept of a data model, no rule engine, no entity classes, no property-level constraints. When a workflow gets complex, users work around the tool with code nodes and external databases. The tool becomes scaffolding for custom code.
Nexus is not a trigger-action tool. It is a graph-native sovereign process orchestration platform with a four-resolution data model at its core. The graph is the execution model. Every Nexus deployment can run fully on-premises with no cloud dependency and no data egress.
| Dimension | N8N / Make.com | Nexus |
|---|---|---|
| Core model | Trigger → Action chains | Typed, rule-governed entity graphs executed as pipelines |
| Data model | JSON blobs passed between steps. No schema enforcement. | Four-scale model: Workflow → Class → Property → Rule. Defined once, enforced everywhere. |
| Rule engine | None. Code nodes or external service. | Nexus rule engine as native node. 409+ rule primitives. GPU-accelerated bulk validation. |
| Form generation | None. Use Typeform/Airtable externally. | ChameleonV2 Form node: schema → form auto-generated. RBAC-governed field visibility. deltaPrism business data type controls on every field. Flow-level styling and per-role variants. |
| Data store | None. External DB required. | deltaPrism graph DB as native Store node. Warehouse, ingestion/egress, and GPU-accelerated mid-pipeline transformation — all in one component. |
| Deployment | Cloud-only (Make.com) or self-hosted Docker (N8N, constrained). | Fully sovereign. All components self-hosted. Air-gap capable. No cloud account required. |
| Resolution | One level: the workflow canvas. | Four levels: Macro (workflow), Micro (class), Nano (property), Pico (rule). Navigate between them without leaving the UI. |
| Multi-tenancy | Partial workspace isolation. | Full Org / Team / User / API key model. Per-org pipeline isolation. Built in from day one (M-NEXUS-F1 complete). |
Every Nexus entity and process exists at one of four resolution levels. The canvas is aware of all four. A user can drill into any node and descend to the next level, or navigate up and see the workflow context. The entire system — from a high-level pipeline down to a single field validation constraint — is navigable without leaving the Nexus UI.
The breadcrumb always reads Workflow / Node / Class / Property / Rule. Every level is its
own graph. At Macro, the graph is nodes and edges. At Micro, it is classes and relationships. At Nano,
properties and their dependencies. At Pico, rules and their precedence chains. Esc or
breadcrumb navigation returns to the parent level.
ChameleonV2 is a first-class Nexus component, developed in parallel with the platform. It is not a generic form library — it is a schema-aware, RBAC-governed, deltaPrism-typed form rendering engine that is tightly coupled to the Nexus data model.
When a Form node in a pipeline is executed, ChameleonV2 receives the Micro-scale class definition, the active RBAC role of the submitting user, the flow-level styling configuration, and the deltaPrism business data type constraints for each property. It renders the appropriate form variant in real time. No custom form code is ever written.
The Form node configuration specifies a class reference (by org slug + class ID from the Nexus pipeline API). At runtime, ChameleonV2 fetches the class definition and renders fields in property order. Field types, labels, required flags, enum values, and validation messages are all derived from the Nano-scale property definitions. The form re-renders automatically when the underlying class definition changes — no manual form maintenance.
Each user has a role within their org (defined at Org/Team level, M-NEXUS-F1). ChameleonV2 applies RBAC rules at render time to produce a role-specific form variant:
| RBAC Behaviour | What it controls | Where defined |
|---|---|---|
| Field visibility | A property can be visible to some roles and hidden from others. A “Submitter” sees the intake fields; a “Reviewer” sees additional metadata fields; an “Admin” sees all fields including computed and audit fields. | Nano-scale property definition — rbac_visibility map per role |
| Field editability | A property can be read-only for some roles and editable for others. Prevents submitters from overriding validated or computed values. | Nano-scale property definition — rbac_editable map per role |
| Required flag override | A field can be required for one role (e.g., Reviewer must fill “ApprovalNote”) but optional or absent for another. | Nano-scale property definition — rbac_required map per role |
| Form variant | Each role gets a distinct form layout: field order, section grouping, and step count can differ. A Submitter sees a 3-step wizard; a Reviewer sees a single-page summary with action buttons. | Micro-scale class definition — rbac_variants layout map |
| Enum option filtering | Dropdown options can be filtered by role. A standard user cannot select “Escalate”; only a Supervisor role can. | Nano-scale property definition — rbac_options filter per role |
Every Nano-scale property carries a deltaPrism business data type (BDT) in addition to its primitive type. The BDT controls how ChameleonV2 renders and validates the field:
The Form node configuration includes a style_ref pointing to a style definition stored
in the pipeline definition. ChameleonV2 reads this at render time and applies it as a CSS token
override layer over the base theme. This means:
ChameleonV2 is at v1.2.2 (chameleonv2/). The current package is a schema-driven form renderer. RBAC layer, BDT integration, flow-level styling, and role variants are milestone targets defined in this plan (M-NEXUS-CV-1 through M-NEXUS-CV-4).
deltaPrism is not a passive store. It is the active data platform layer of Nexus. It operates in three modes simultaneously within any given pipeline, and its role expands as pipelines grow in complexity.
The Store node in any pipeline writes validated entities to deltaPrism. Entities are typed by their Micro-scale class definition. Relationships between entities (worker → document, client → project, invoice → bank entry) are first-class edges in the graph. Any downstream node in the same or a different pipeline can query these entities by class, property value, or relationship traversal.
deltaPrism acts as a standalone data source when a pipeline does not begin with a form submission. An ingest node pulls data from a CSV file, a JSON API endpoint, a database table, or a scheduled batch source. deltaPrism normalises the incoming data against the target class schema, applies property type coercions, and makes the result available to the next pipeline node. On the egress side, a deltaPrism egress node pushes entity data to an external system — a government API, a CRM, an invoice system — in whatever format the downstream system requires.
When a pipeline contains multiple transformation operations in sequence, deltaPrism can take over the transformation layer entirely. Instead of routing data through the Nexus rule engine for each step, the pipeline hands off the intermediate dataset to deltaPrism, which:
This is the mechanism that made EXP-4 viable: 21,327 entities validated and written at 21ms/entity using the bulk-concurrent adapter. The GPU transform mode extends this to arbitrary multi-step transformation chains — all processed without leaving deltaPrism.
deltaPrism maintains the authoritative registry of business data types (BDTs) for the deployment. BDTs are named type definitions that extend primitive types with domain-specific constraints: allowed ranges, format masks, normalisation functions, and display renderers. When ChameleonV2 renders a form field, it fetches the BDT from deltaPrism and applies the constraints client-side. When the rule engine validates a submission, it checks the same BDT server-side. The constraint definition lives in one place and is consumed by both layers consistently.
| Layer | Technology | Source / Repo | Role in Nexus |
|---|---|---|---|
| Rule Engine | Python (FastAPI) + SQLite / PostgreSQL | nexus/ |
Validation, transformation, profile-governed rules. Exposed as Nexus Rule Engine node type. |
| Canvas UI | HTML5 Canvas + vanilla JS (absorbed from Nexus) | nexus/static/pipeline_flow.html |
Pipeline builder and live execution visualiser. Upgraded to call Nexus pipeline API. |
| Form Engine | React + TypeScript (npm package) | chameleonv2/ (chameleonv2 v1.2.2) |
Schema-driven RBAC-governed form renderer. Pulls class definition from Nexus Form node. Applies deltaPrism BDT constraints, flow-level styling, and per-role form variants. Zero custom form code. |
| Data Platform | deltaPrism graph DB + GPU transform engine | deltaPrism/ |
Three modes: (1) warehouse for validated entities, (2) standalone ingestion/egress data source, (3) GPU-accelerated mid-pipeline transformation engine (cuDF / RAPIDS). BDT registry. Port 15000. |
| Orchestration API | FastAPI — routes_orgs.py, routes_pipelines.py |
nexus/nexus/api/ |
Multi-tenant CRUD for orgs, pipelines, node types, runs. Already built (M-ORCH-1 + M-ORCH-2 complete). |
| Admin Panel | Flask + SQLite (admin.db) | nexus/admin/ |
User, API key, and profile management. Co-exists with orchestration API. |
| Telemetry | RunTracer (Python) + SSE stream | nexus/core/run_tracer.py |
Per-node CPU/RAM/IO telemetry pushed to canvas in real time during execution. |
Three concrete deployments drive the product roadmap. Each is a real system, real data, real org. They are not hypothetical scenarios. Building Nexus means making each of these run end-to-end.
UAE employment agency. Onboards migrant workers from 3 source countries (PH, IN, PK). Each worker requires a compliance document bundle: passport, medical certificate, skills certification, and country-specific government portal registration. Manual today. Target: fully orchestrated.
nesto/ — Pipeline milestones: M-NEXUS-UC1-1 through M-NEXUS-UC1-3Polish AI automation SaaS by Pryzmat Media. Deploys three AI employees for SMBs: Marcin (Sales & SMS), Irena (OCR & Documents), Przemek (Voice & Analytics). Each is a Nexus pipeline. Deploying a new client means configuring and activating the relevant pipeline — no bespoke code.
endo/ — Pipeline milestones: M-NEXUS-UC2-1 through M-NEXUS-UC2-3
Freelance/consultancy CRM at arc/. Next.js 14 + FastAPI + Claude agent + PostgreSQL.
ARC manages the full lifecycle from lead to invoice. The AI agent (Claude) drafts emails, scores offers,
generates invoices. Nexus orchestrates the data flows that the ARC agent acts on: email indexing,
offer generation, invoice matching, bank import.
arc/ — Pipeline milestones: M-NEXUS-UC3-1 through M-NEXUS-UC3-2| ID | Name | Status | What it delivers |
|---|---|---|---|
| M-NEXUS-F1 | Multi-Tenant Foundation | COMPLETE | Org / Team / User / API key models + full CRUD API. 34 tests passing. |
| M-NEXUS-F2 | Pipeline Definition Engine | COMPLETE | Pipeline / NodeType / PipelineRun models + API. Draft / active / run states. 34 tests passing. |
| ID | Name | Status | What it delivers |
|---|---|---|---|
| M-NEXUS-C1 | Canvas API Integration | BACKEND ONLY | API: GET /pipelines/{id}/canvas/{scale} exists. pipeline_flow.html in nexus/ has NOT been wired to this API. No UI connection. Canvas absorb = NOT STARTED. |
| M-NEXUS-C2 | Node Registry — 16 Built-in Types | BACKEND ONLY | 16 node types registered in NodeType registry (DB seeded). Palette exists in DB. No canvas UI rendering these types. Palette UI = NOT STARTED. |
| M-NEXUS-C3 | Four-Scale Canvas Navigation | BACKEND ONLY | Backend: GET /pipelines/{id}/canvas/{scale} (scale = macro|micro|nano|pico). 11 tests passing. No UI consuming this. Four-scale navigation in canvas = NOT STARTED. |
| ID | Name | Status | What it delivers |
|---|---|---|---|
| M-NEXUS-E1 | Pipeline Execution Engine | COMPLETE | Topological-order graph walker. Per-node status written to PipelineRun. RunTracer SSE stream feeds canvas. Blocking and async node execution modes. |
| M-NEXUS-E2 | deltaPrism Store + Ingest + Egress Nodes | COMPLETE | Store node (entity write), IngestNodeExecutor (CSV/JSON/API pull → schema-normalised entities), EgressNodeExecutor (entity → HTTP/CSV/JSON push). Registered in REGISTRY. 11 tests passing. |
| M-NEXUS-E3 | deltaPrism GPU Transform Mode | COMPLETE | GpuTransformNodeExecutor: submits entity dataset to deltaPrism POST /gpu/transform. Falls back to CPU rule engine when GPU instance unreachable (fallback_to_cpu=True). GpuTransform + GpuTransformNode in REGISTRY. 5 tests passing. |
| ID | Name | Status | What it delivers |
|---|---|---|---|
| M-NEXUS-CV-1 | ChameleonV2 Schema Pull from Form Node | BACKEND ONLY | Backend API: GET /pipelines/{id}/nodes/{node_id}/schema exists. 8 tests passing. ChameleonV2 package at chameleonv2/ has NOT been connected to this endpoint. UI integration = NOT STARTED. |
| M-NEXUS-CV-2 | ChameleonV2 RBAC Layer | BACKEND ONLY | Backend API: GET /pipelines/{id}/nodes/{node_id}/schema?role={role} exists. 5 tests passing. ChameleonV2 RBAC rendering = NOT STARTED. |
| M-NEXUS-CV-3 | ChameleonV2 deltaPrism BDT Integration | BACKEND ONLY | Backend API: GET /pipelines/{id}/nodes/{node_id}/bdt/{field}/options exists. 7 tests passing. ChameleonV2 BDT render-time fetch = NOT STARTED. |
| M-NEXUS-CV-4 | ChameleonV2 Flow-Level Styling | BACKEND ONLY | Backend API: GET/PUT /pipelines/{id}/style exists. Pipeline model has style_tokens column. 6 tests passing. ChameleonV2 consuming style tokens = NOT STARTED. |
| ID | Name | Use Case | Status | |||
|---|---|---|---|---|---|---|
| M-NEXUS-UC1-1 | Nesto Worker Document Pipeline | Nesto | NOT STARTED | Nesto Government API Forward Nodes | Nesto | NOT STARTED |
| M-NEXUS-UC1-3 | Nesto Multi-Country Compliance Rules | Nesto | RULES ONLY | |||
| M-NEXUS-UC2-1 | ENDO Marcin Lead Qualification Pipeline | ENDO | NOT STARTED | |||
| M-NEXUS-UC2-2 | ENDO Irena Document Lifecycle Pipeline | ENDO | NOT STARTED | |||
| M-NEXUS-UC2-3 | ENDO Przemek CEO Briefing Pipeline | ENDO | NOT STARTED | |||
| M-NEXUS-UC3-1 | ARC Email Ingest + Offer Pipeline | ARC | NOT STARTED | |||
| M-NEXUS-UC3-2 | ARC Invoice + Bank Matching Pipeline | ARC | NOT STARTED |
The top-level Nexus menu contains a Pipeline Profile Switcher: a dropdown that lists all saved pipeline profiles available to the active org. Selecting a profile loads its full graph into the canvas — including node configuration, class definitions, and style. Profiles are independently deployable, independently runnable, and independently observable. Switching between Nesto, ENDO Marcin, and ARC Invoice happens in one click with no page reload.
During any pipeline run the canvas updates live via SSE. Each node transitions through visual states:
| State | Visual | Meaning |
|---|---|---|
| Idle | Dim border, no glow | Node not yet reached in this run |
| Waiting | Amber pulse | Node queued — dependency not yet complete |
| Running | Blue glow, spinning indicator | Node actively executing |
| Awaiting Human | Purple pulse | RBAC gate: waiting for role actor to act |
| Complete | Green fill, data packet animation along outgoing edge | Node finished, output passed to next node |
| Failed | Red border, error badge | Node threw error — run halted, error surfaced in log panel |
Data packet animations travel along edges showing the live flow of data between nodes. Hovering a completed node shows: execution time, input entity count, output entity count, and a link to the run log entry for that node.
Every pipeline run produces a structured, queryable log:
The log viewer is a panel accessible from the canvas. It shows the run log for the active pipeline, filterable by date range, status, and entity class. Full-text search across all log fields. Export to JSON or CSV. Each log entry links back to the canvas run replay.
| ID | Name | Status | Deliverable |
|---|---|---|---|
| M-NEXUS-P1 | Pipeline Profile Switcher | BACKEND ONLY | Backend: GET /pipelines?org_slug=... exists. Frontend switcher = NOT STARTED. |
| M-NEXUS-P2 | Real-Time Canvas Execution Visualisation | NOT STARTED | Backend: SSE stream exists. Canvas consuming SSE = NOT STARTED. No live visual updates in any UI. |
| M-NEXUS-P3 | Run Log Viewer | BACKEND ONLY | Backend: GET /pipelines/runs/{run_id}/node-logs exists. Frontend log panel = NOT STARTED. |
Decision confirmed 2026-04-18. The demo runs in two modes:
python demo_runner.py --pipeline nesto. Produces a complete run log on completion.--interactive)python demo_runner.py --pipeline nesto --interactive.| Component | Demo Requirement | Milestone |
|---|---|---|
| Demo Seeder | Script that creates org, teams, users (one per RBAC role), pre-loads schema definitions, pre-loads node type registry, and seeds sample entities for each pipeline. | M-NEXUS-D0 |
| Demo Runner | Python script that drives a full pipeline run: submits forms, uploads sample documents, resolves RBAC gates (autonomous) or pauses for human (interactive). | M-NEXUS-D1 |
| Sample Data | Per-pipeline fixture files: Nesto worker record + 3 document scans; ENDO Irena document batch + Marcin SMS leads + Przemek voice file; ARC email batch + bank CSV. | M-NEXUS-D2 |
| Reset Script | Resets demo to clean state: drops run history, removes seeded entities from deltaPrism, re-runs seeder. Idempotent. | M-NEXUS-D3 |
Full lifecycle: worker created → documents uploaded → OCR extracted → validated → HR review → approved → government API notified
RBAC roles seeded: Worker (Submitter), HR Admin, HR Manager, Compliance Officer (view-only). Full run: ~45 seconds autonomous. See: NEXUS_USECASE_NESTO.html
Three independently switchable pipelines, all deployable to the same org in one demo.
| Pipeline | Trigger | Key Nodes | RBAC Gate | Output |
|---|---|---|---|---|
| Marcin | SMS lead ingest | SMS Ingest → ChameleonV2 Lead Form → Nexus Qualify → Schedule → SMS Reply → Store | None (fully autonomous) | Appointment booked, CRM entry created |
| Irena | Document upload | ChameleonV2 Upload Form → Atlas OCR → Nexus Categorise → Store → Email Forward | Low-confidence: Reviewer approves category | Document categorised, filed, email sent |
| Przemek | Voice note file | Voice Ingest → Transcribe → AI Transform (Claude) → CEO Briefing Form → Approve → Forward | CEO confirms briefing before send | Action items distributed to team |
Three pipelines converted from ARC repo flows into Nexus nodes.
| Pipeline | Source Flow (ARC) | Nexus Nodes | RBAC Gate |
|---|---|---|---|
| Email Ingest | arc/backend/services/email_service.py | Gmail OAuth Ingest → Index → AI Sentiment → Store (deltaPrism + ARC PostgreSQL) | None |
| Offer | arc/backend/agent/ Claude drafting flow | ChameleonV2 Project Form → AI Transform (Claude draft) → Freelancer Review → PDF Forward | Freelancer approves draft |
| Invoice Match | arc/backend/services/bank_service.py | Bank CSV Ingest → Transform → Nexus Match Validate → Store → Tax Report Forward | None |
| ID | Name | Pipeline | Status |
|---|---|---|---|
| M-NEXUS-D0 | Demo seeder + reset script | All | CLI ONLY |
| M-NEXUS-D1 | Demo runner (autonomous + interactive flag) | All | CLI ONLY |
| M-NEXUS-D2 | Sample data fixtures (3 pipelines) | All | NOT STARTED |
| M-NEXUS-D3 | Nesto worker onboarding demo (9-step) | Nesto | NOT STARTED |
| M-NEXUS-D4 | ENDO Marcin lead qualification demo | ENDO | NOT STARTED |
| M-NEXUS-D5 | ENDO Irena document lifecycle demo | ENDO | NOT STARTED |
| M-NEXUS-D6 | ENDO Przemek CEO briefing demo | ENDO | NOT STARTED |
| M-NEXUS-D7 | ARC email ingest + offer demo | ARC | NOT STARTED |
| M-NEXUS-D8 | ARC invoice + bank match demo | ARC | NOT STARTED |
These decisions gate specific development paths. All other work continues in parallel.
| ID | Decision | Options | Blocks |
|---|---|---|---|
| D-05 | ARC demo: Claude API integration | RESOLVED — A: Real Claude API key. Real AI output in all demos (ARC offer, ENDO lead qualification, email sentiment). | Unblocked. BL04, BL06 ready to implement. |
| D-06 | ENDO org structure | RESOLVED — A: Single Nexus org, 3 pipelines (Pryzmat Media). All 3 AI employees (Marcin, Irena, Przemek) within one org. Demo seeder: 1 org + 5 RBAC users. Pipeline profile switcher demonstrates multi-pipeline capability. | Unblocked. D4, D5, D6 demo paths unblocked. M-NEXUS-D0 seeder: 1 org. |
| D-07 | Nesto government forward nodes | RESOLVED — B: Mock HTTP Forward nodes (log payload, return 200 OK). No real UAE API sandbox required for demo. | Unblocked. BL03, BL05 ready to implement. |
| D-08 | Nesto/ENDO SMS gateway | RESOLVED — B: Mock SMS node (log payload, display in canvas run view). No real gateway required for demo. | Unblocked. BL02, BL09 ready to implement. |
M-NEXUS-F1 and M-NEXUS-F2 complete and pushed (fafb688). Next: M-NEXUS-C1 — absorb canvas, wire to pipeline API.
Codebase: nexus/ — branch: feature/pfp-pyrometrix —
Full docs suite: index.html
This section is the honest record of what is built vs. what was falsely claimed complete. Full analysis: NEXUS_ACTION_PLAN.html.
| Category | Item | Actual Status | Evidence |
|---|---|---|---|
| Backend | Rule engine (Nexus core) | COMPLETE | 1,394 tests total (1,256 passing, 98 env/AWS skipped, 40 skipped). EDR, BDT, profiles, pfp, executors covered. |
| Backend | Multi-tenant foundation (F1, F2) | COMPLETE | Org/Team/User/API key CRUD. Pipeline definition engine. Full test coverage. |
| Backend | Execution engine (E1, E2, E3) | COMPLETE | Topological walker, SSE stream, IngestNodeExecutor, EgressNodeExecutor, GpuTransformNodeExecutor. Tested. |
| Backend API | Canvas APIs (C1, C2, C3) | BACKEND ONLY | All 3 endpoints exist and are tested. No UI consuming them. |
| Backend API | ChameleonV2 APIs (CV-1 to CV-4) | BACKEND ONLY | All 4 endpoints exist and are tested. ChameleonV2 package (chameleonv2/) not connected. |
| Backend API | Platform APIs (P1, P2, P3) | BACKEND ONLY | Switcher, SSE, log viewer APIs exist. No frontend consuming them. |
| CLI | Demo seeder (D0) | CLI ONLY | scripts/seed_nexus_demo.py seeds DB. Terminal only. No UI state. |
| CLI | Demo runner (D1) | CLI ONLY | scripts/nexus_demo_runner.py triggers runs via API. Terminal output only. No canvas, no interactive mode. |
| NOT BUILT | Canvas UI (nexus/) | NOT STARTED | pipeline_flow.html was never wired to the Nexus pipeline API. Separate repo. Not started. |
| NOT BUILT | ChameleonV2 connection | NOT STARTED | ChameleonV2 npm package (v1.2.2) has never been connected to any Nexus API endpoint. |
| NOT BUILT | Sample document fixtures (D2) | NOT STARTED | No fixture files exist in scripts/fixtures/ or anywhere in the repo. |
| NOT BUILT | All use case demos (D3–D8, UC1–UC3) | NOT STARTED | Use case pipelines have no end-to-end runner, no real data, no interactive demo mode. |