Skip to main content

ExMachina — Agentic AI Layer

ExMachina is the agentic AI layer running on the carbide-enclave hardware stack. It sits above the infrastructure documented in this site and turns the DGX Spark + Harvester cluster into a goal-directed, air-gap-capable agentic platform.

Repo: github.com/cloudxabide/ExMachina


What It Is

"A sovereign, air-gap-capable agentic AI platform with physical edge presence."

ExMachina is not a chat wrapper. It is a goal-directed agentic system with tools, perception, and physical reach — a 120B-parameter model on the DGX Spark serving as the cognitive core, a multi-agent NemoClaw crew orchestrating tasks across the cluster, a live RAG layer grounding the model in real operational state, and a Jetbot acting as a first-class physical edge agent.

┌─────────────────────────────────────┐
│ OpenClaw (agent) │ ← the "brain" / agentic loop
├─────────────────────────────────────┤
│ OpenShell (policy runtime) │ ← sandboxing, guardrails, inference routing
├─────────────────────────────────────┤
│ NemoClaw (glue layer) │ ← agent onboarding, lifecycle, blueprint mgmt
├─────────────────────────────────────┤
│ vLLM + nemotron-3-super120b:a12b │ ← inference (MoE: 120B total / 12B active)
│ DGX Spark (hardware) │
└─────────────────────────────────────┘

Hardware Mapping

ExMachina runs on the same hardware documented in this site:

Hostcarbide-enclave roleExMachina role
nuc-0[1-3]Harvester cluster nodesOrchestration, Qdrant RAG, Authentik, Longhorn storage
spark (DGX Spark)AI inference nodevLLM + nemotron-super 120B, LiteLLM proxy (port 40000), NemoClaw agent runtime
wall-e (Jetson Nano)Physical edge agent — Waveshare Jetbot, perception + action

Software Stack

LayerComponentStatus
Inference (primary)vLLM — nemotron-3-super120b (120B / 12B active MoE)Running
Inference proxyLiteLLM — OpenAI-compatible API on port 40000Running
Agent RuntimeNemoClaw (OpenClaw + OpenShell)Locked
RAG — Vector DBQdrant (K8s workload, Longhorn persistence)Locked
RAG — CorpusLive cluster state + runbooks + Jetbot sensor dataLocked
Identity & AuthAuthentik — OIDC/OAuth2 for all ExMachina servicesLocked
Web UIOpenWebUIPlanned

:::note Identity provider ExMachina uses Authentik (not Keycloak) as its identity provider. Both run on the same Harvester cluster but serve different service domains. Authentik was chosen for its container-native OIDC/OAuth2 support and alignment with the Kubernetes-native service stack. :::


The NemoClaw Crew

Eight NemoClaw agents run the platform. Full role definitions: Agent_Roster.md

AgentResponsibilities
ArchitectDesigns solutions; writes decisions to ARCHITECTURE.md
DeveloperIaC, application code, RAG pipelines, Jetbot integration
ImplementerExecutes deployments — Helm, kubectl, Harvester workloads, Longhorn
OperationsMonitors all stack endpoints; alerts on anomalies
FinanceTracks token consumption, GPU utilization, storage growth
SecurityAuthentik policy auditing; air-gap egress enforcement; NeuVector; credential scanning
RAG CuratorManages Qdrant corpus — ingestion, chunking, freshness, retrieval quality
Edge AgentRuns Jetbot perception loop; formats sensor observations; dispatches actions

Security: Zero Trust for AI Agents

ExMachina applies Anthropic's Zero Trust for AI Agents framework (May 2026) to the full stack. Full security architecture: Security.md

Shared Responsibility Model

LayerWhat It CoversExMachina Owner
ModelFoundational safety alignmentAnthropic (Claude), NVIDIA (nemotron-super)
HarnessSystem prompts, crew policies, guardrailsNemoClaw crew config; OpenShell out-of-process policy
ToolsMCP servers, APIs — what agents can callkubectl, Qdrant, LiteLLM, Jetbot dispatch API
EnvironmentNetwork, identity, secrets, deploymentHarvester/RKE2, Sophos XGS88, Authentik, Longhorn

Key Controls

  • OpenShell enforces security policy out-of-process — even a compromised agent prompt cannot bypass guardrails
  • Least Agency: agent tool grants are task-scoped and time-bounded, not standing session grants
  • Jetbot motion commands require human-in-the-loop confirmation — physical actuators have the highest authorization bar
  • Air-gap invariant: the running system never requires internet access; Sophos XGS88 enforces this at the perimeter
  • Prompt injection defense: Jetbot sensor data and RAG corpus entries are treated as untrusted external input, not operator instructions

Threat Model Summary

ThreatExMachina Surface
Prompt injectionJetbot sensor data, RAG corpus entries, tool outputs
Identity/privilege abuseAgent sessions holding standing cluster-admin
Physical actuation abuseJetbot motion commands — real-world consequences
Memory poisoningAdversarial data written into Qdrant corpus
Supply chainContainer images and model weights at bootstrap

Open Decisions

  • Jetbot integration pattern (ROS2 vs. direct Python + MQTT) — deferred until inference layer is stable
  • Secrets management beyond K8s Secrets (Vault vs. Sealed Secrets)
  • Centralized log aggregation (Loki/Grafana preferred)
  • Web UI: OpenWebUI likely but not yet locked

See ARCHITECTURE.md for the full decision log.