The demo must traverse all four orchestration levels in sequence, creating entities at each level before descending to the next. A viewer watching the demo should understand, without narration, that Nexus handles organisational structure, team structure, user assignment, and execution flow as a unified hierarchy.
Each step is performed by the autonomous mode controller via real UI interactions (programmatic click, focus, input events). The canvas and all panels remain visible and interactive throughout. The sequence runs at a pace optimised for comprehension, not speed — roughly 18–25 seconds per level, 90 seconds total end-to-end.
-
Reset to blank stateAUTO Canvas is cleared. Any existing nodes are removed. Org selector resets. A progress indicator appears in the toolbar:
AUTO MODE — STEP 1 / 9. This communicates to any observer that an autonomous sequence is running. -
Create Organisation — Nesto IndustriesUSER PANELAUTO-FILLED A slide-in panel opens (using the existing
#class-panelinfrastructure or a new entity panel). Title: NEW ORGANISATION. Fields animate in with the data template intellisense pattern: system detects "organisation" type, pre-proposes: Name, Industry, Jurisdiction, Status, Primary Contact. Fields are filled character-by-character. Values: Nesto Industries LLC / UAE Compliance / AE / Active / m.khalil@nesto.ae. Panel saves. Org appears in the org selector dropdown. -
Create Team — Compliance OperationsUSER PANELAUTO-FILLED New entity panel: NEW TEAM under Nesto Industries. Template-suggested fields: Team Name, Parent Org, Function, Member Cap. Filled: Compliance Operations / Nesto Industries LLC / Worker Compliance / 12. Saved. Team node appears as a data card on the canvas at Level 1 position (top-left region).
-
Create Three Users with RolesUSER PANELRBACAUTO-FILLED Three sequential user creation panels open and close. For each user, the system detects "person + role" data shape and proposes: Full Name, Email, Nationality, Role, Team. Roles are selected from the pre-defined role registry (Submitter / Validator / HR Manager). The RBAC matrix is automatically populated from the role definition — field visibility, editability, and required status for every schema field is auto-derived without manual configuration. Three user cards appear in the canvas Level 2 region.
-
Select Data Template — Worker OnboardingDATA MODELINTELLISENSE A template picker opens. Categories shown: Personal Data / Compliance Documents / Financial / Logistics / Custom. User selects Worker Onboarding (UAE). System immediately proposes the canonical field list: First Name, Last Name, Nationality, Passport Number, Emirates ID, Occupation, Employer, Medical Status, POLO Exemption Flag, Compliance Status. Each field has a pre-assigned data type. User can add, remove, or rename fields — but in auto mode, the default set is confirmed in 1.2 seconds. Schema is created. Node type palette updates with a new WorkerProfile type available for placement.
-
Build Pipeline on CanvasAUTOCANVAS Nodes are placed one by one with smooth position animations. Each node appears, its config panel briefly opens, key fields are shown, then closes. Sequence:
form_ingest(Submitter role, WorkerProfile schema) →ocr_verify(document check) →validate_compliance(rule set: nesto_worker_docs) →store_worker(writes to registry) →hr_gate(HR Manager role, Reviewer form) →sms_notify(compliance confirmation) →api_forward(MoHRE + GDRFA endpoints). Edges drawn between nodes one at a time. Pipeline structure matches the Nesto use case spec. -
Run Pipeline — One ClickEXECUTEAUTO The RUN button is clicked programmatically. The engine receives the pipeline definition and begins execution. Progress dots activate on each node as it runs. This is a real engine call, not simulated.
-
Form Execution — RBAC-Styled Forms Per RoleRBACFORMSAUTO-FILLED As each HumanGate or FormNode fires during execution, a form panel opens inline (not as a modal overlay — as a side panel or canvas-attached panel). The form is generated from the data schema. Its visual style variant is derived from the RBAC role: Submitter forms use a minimal entry variant; Validator forms use a review/readonly variant with diff highlighting; HR Manager forms use a decision authority variant with approve/reject controls. All forms are filled autonomously with Mohammed Al Rashidi's pre-seeded data. Each form submits itself. Node goes green.
-
Completion State — Exportable ResultCOMPLETEEXPORT All 7 nodes are green. Run log shows full execution trace. A result summary card appears: Worker ID assigned, Compliance Status ACTIVE, API refs from MoHRE and GDRFA, SMS delivery confirmed. An EXPORT button is present (outputs the pipeline definition as JSON). The auto mode controller stops. The interface returns to normal interactive state. The data created during the demo is real and persists in the canvas state.
- Person — name, DOB, nationality, ID number, contact
- Worker (UAE) — extends Person + employer, POLO flag, medical
- Organisation — name, industry, jurisdiction, status, contact
- Team — name, parent org, function, capacity
- Compliance Document — type, issuer, issue date, expiry, reference
- Pipeline Run Result — run ID, timestamp, status, node results map
- API Endpoint — url, method, auth type, payload schema ref
- System detects the closest matching template
- A field proposal list appears inline (not a new dialog)
- Fields are pre-ticked. User can untick to exclude or click + Add Field
- Confirmation collapses the list and the schema is finalised
- Any field whose type is
referenceautomatically suggests linking to an existing schema
- UAE Compliance — POLO exempt flag, MoHRE ref, GDRFA ref, Emirates ID
- Professional Services — project code, billing rate, engagement type, PO reference
- Media Production — production title, rights region, deliverable type, broadcast date
FormNode[WorkerProfile], StoreNode[WorkerProfile], ValidateNode[WorkerProfile]. Dragging one of these onto the canvas pre-populates its config with the correct schema reference, required fields list, and default rule set.
Forms are not hand-designed. They are generated from the data schema + the RBAC matrix for the role of the current user. The result is that the same underlying data entity produces a fundamentally different form surface for each role — without any per-form design work.
| Role | Form Variant | Visual Style | Field Behaviour | Controls |
|---|---|---|---|---|
| Submitter | Entry Form | Minimal, high-contrast input fields. Green accent on focus. Progress indicator showing completion %. | All writable fields shown. Required fields marked. Optional fields collapsed behind Show more. | SUBMIT button. Save Draft link. Help text on each field. |
| Validator | Review Form | Two-column layout: submitted values left, validation result right. Amber/green/red row-level status indicators. Read-only by default. | All fields read-only. Validation rule results shown inline per field. Override toggle available for privileged fields. | APPROVE / REQUEST REVISION / ESCALATE. Comment field. Rule result summary. |
| HR Manager | Decision Form | Authority styling: deeper background, larger typography, decision controls prominent. Document reference panel alongside main form. | Summary view: only key identity fields + compliance status shown. Full detail available in expandable drawer. | APPROVE / REJECT / HOLD. Decision note field (required). Signature hash field. Timestamp auto-set. |
| API Consumer | Payload View | JSON syntax-highlighted display. No form fields. Read-only. Copy button. | Full entity serialised as JSON matching the schema definition. | COPY PAYLOAD. View Schema link. |
fields[]. Each field has an RBAC matrix entry per role: visible, editable, required. The form generator reads this matrix and produces the correct variant automatically. Adding a new role creates a new form variant for free. Adding a new field propagates it to all role variants immediately.
Ctrl+Shift+D. A subtle pulsing indicator in the top-right of the toolbar shows AUTO MODE RUNNING with a step counter.
window.nexusAuto Objectwindow.nexusAuto entirely. Methods:
nexusAuto.run()— start full sequencenexusAuto.cancel()— halt and restore statenexusAuto.step(n)— jump to step n for debuggingnexusAuto.speed(multiplier)— 0.5x slow, 1x normal, 2x fast
- Field fill:
el.focus(); el.value = v; el.dispatchEvent(new Event('input', {bubbles:true})); - Button click:
btn.click() - Node placement: call the existing
addNode(type, x, y, config)API - Panel open/close: use existing panel toggle functions
- Canvas edge draw: call the existing edge creation API
The Pyrometrix autonomous demo is the model for style and execution philosophy. Key attributes to replicate:
| ID | Title | Priority | Depends | Description |
|---|---|---|---|---|
| BL19 | Rename demo-auto (remove theatre terminology) | P1 | — | Rename id="demo-theatre" to id="demo-auto", window.demoTheatre to window.nexusAuto, all dt-* CSS classes to da-* or remove. Remove all “theatre” wording from NEXUS_DEMO_SPEC.html. The overlay approach is also deprecated by BL22. |
| BL20 | Entity creation panels (Org, Team, User) | P1 | BL19 | Add entity creation side-panel component (using existing #class-panel infrastructure). Supports Org, Team, and User entity types. Fields are driven by the template engine. Panel opens/closes with existing animation. Save writes to in-memory state and updates the org/team/user dropdowns. |
| BL21 | Data template registry + intellisense field proposals | P1 | BL20 | Implement DATA_TEMPLATES registry (see Section 04). Wire template selection into the schema creation flow in the canvas. When a node type is selected, propose matching field list inline. Confirm collapses proposal and finalises schema. Template registry is defined as a JS object in WORMWOOD_APP.html. |
| BL22 | Autonomous mode controller (window.nexusAuto) |
P1 | BL20, BL21 | Implement the full 9-step autonomous sequence defined in Section 03. Async generator architecture. No overlay. All DOM interactions through real UI paths. Pacing at inflection points. Speed multiplier support. Progress indicator in toolbar. Cancel on second DEMO click. Replaces current demo-auto overlay entirely. |
| BL23 | RBAC-driven form generator | P1 | BL21 | Implement form generation from schema + RBAC matrix. Four role variants as defined in Section 05. Form opens in the existing side panel. Fields are generated from schema field list filtered by role visibility matrix. Style variant (entry/review/decision/api) is applied via a CSS class on the panel root. |
| BL24 | Schema → canvas palette sync | P2 | BL21 | When a schema is confirmed, update the node type palette with typed node variants: FormNode[SchemaName], StoreNode[SchemaName], ValidateNode[SchemaName]. Dragging a typed node auto-populates its config. Required for autonomous mode to build the correct pipeline. |
| BL25 | Demo Vision doc added to site registry | P2 | — | Add NEXUS_DEMO_VISION.html to NEXUS_DOC_HIERARCHY.html active registry (Section 05, row 21). Update validator exempt list if needed. Add doc card to index.html. Update NEXUS_DOC_POLICY.html sitemap entry count to 21. |
| Capability | Required by Vision | Current State | Gap |
|---|---|---|---|
| Org / Team / User creation | Full entity creation through real UI panels | Not implemented | MISSING |
| Data template registry | 7+ built-in templates with field proposals | Not implemented | MISSING |
| Intellisense field proposals | Inline proposal list on node/schema creation | Not implemented | MISSING |
| RBAC form generation | Schema + role matrix → 4 form variants | Not implemented | MISSING |
| Autonomous mode controller | 9-step sequence, real DOM, no overlay | Overlay-based animation, not connected to UI | REWORK |
| Canvas node placement in auto mode | Nodes placed on real canvas in sequence | Not implemented | MISSING |
| Schema → palette sync | Typed node variants appear after schema creation | Not implemented | MISSING |
| End-to-end demo state | Real persisted state: org, users, schema, pipeline, run result | No state created | MISSING |
| Canvas visible throughout | Canvas always visible, no obscuring overlay | Canvas obscured by overlay | VIOLATION |
| Terminology (no "theatre") | All references use "auto mode" language | Code and docs use "theatre" | REWORK |