Skip to content

A.R.C. AI Infrastructure — Design Document ​

Status: FIRST DRAFT Date: 2026-03-05 Branch: 014-decouple-service-codenames

Philosophy ​

ARC is not a framework. ARC is AI infrastructure.

A framework tells you how to build. Infrastructure gives you the primitives and gets out of your way.

ARC bends completely to the user:

  • Use one service as a sidecar next to your existing app
  • Use the full platform as your AI backbone
  • Grow from one to the other without re-architecture

Every ARC service exposes endpoints (REST + async Pulsar topics). Users compose them however they want. ARC has no opinions about how they are wired together — that is the user's domain.

ARC provides:  reasoning, memory, retrieval, guardrails, evaluation, training signals
User provides: their data, their models, their business logic, their composition

Vision ​

ARC is AI infrastructure with a dual deployment spectrum:

← Sidecar ────────────────────────────────────────── Full Platform →
  docker run arc-sherlock               arc run --profile ultra-instinct
  one service, their existing system    entire platform pre-wired, one command
  ARC bends to their stack              their stack grows into ARC

Any team (e-commerce, fintech, healthcare, internal tooling) can:

  • Drop a single ARC service as a sidecar next to their existing application
  • Or adopt ARC fully as a Platform-in-a-Box
  • Or grow from sidecar → full platform incrementally, at their own pace

ARC takes enterprise data (static documents + live systems) and exposes intelligent AI primitives as endpoints. What you build with those endpoints is entirely up to you.


How Users Talk to ARC ​

Every ARC service has exactly two interfaces. No exceptions.

REST API       sync    →  immediate response    →  call any service directly, like any HTTP API
Pulsar topic   async   →  event-driven          →  publish work, consume results when ready

This applies to ALL services — reasoning, ingestion, search, guardrails, evaluation, everything.

Access Surface (by priority) ​

1. API   — OpenAI-compatible REST  (Heimdall / arc-gateway → Sherlock / arc-brain)
           drop-in replacement for any existing LLM integration
2. MCP   — Bidirectional MCP hub   (Sherlock as server + client)
           deep enterprise tool integration, AI client connectivity
3. SDK   — Python + Go             (deferred — wraps REST + Pulsar, built after core is stable)

Users bring their own LLM API, their own credentials, their own infra. ARC is the AI layer in the middle — it does not own the model, the data, or the business logic.


System 1 — Overall Architecture ​

Two Request Flows ​


System 2 — Data Intelligence Pipeline ​

How ARC turns enterprise data into smart AI.

Core principle: Static data = context at rest. Live data = context in motion. Both are retrieved in parallel at inference time.

Ingestion Entry Points ​


System 3 — Accuracy Loop ​

Runs async on every inference via arc-stream (Dr. Strange / Pulsar) fan-out. Zero latency impact on the speed path.

How the System Gets Smarter Over Time ​


Deployment Spectrum ​

ARC grows with you. No re-architecture required between stages.

Sidecar Mode — how it looks in practice ​


Service Reference ​

CodenameRoleTechnologyArc Image
HeimdallGatewayTraefikarc-gateway
JARVISIdentityKratosarc-identity
Nick FurySecretsInfisicalarc-vault
MystiqueFeature FlagsUnleasharc-flags
FlashMessagingNATSarc-pulse
Dr. StrangeStreamingPulsararc-stream
OracleLT MemoryPostgreSQL + pgvectorarc-db-sql
SonicCacheRedisarc-db-cache
CerebroSemantic SearchQdrantarc-db-vector
TardisObject StorageMinIOarc-storage
SherlockReasonerLangGrapharc-brain
ScarlettVoice AgentLiveKit VADarc-voice-agent — see VOICE-SYSTEM.md / VOICE-HLD.md
DaredevilRealtime ServerLiveKitarc-voice-server
RoboCopGuardrailsNeMo Guardrails / Guardrails AIarc-guard
Gordon RamsayCritic / EvaluatorRAGAs / DeepEvalarc-critic
Ivan DragoGym / TrainerTRL (Hugging Face) + Axolotlarc-gym
Friday CollectorOTEL CollectorSigNoz OTELarc-friday-collector
FridayObservability UISigNozarc-friday
T-800ChaosChaos Mesharc-chaos
CortexBootstrapGoarc-cortex

Design Decisions (resolved) ​

#QuestionDecision
1MCP directionBidirectional — Sherlock as MCP server + MCP client hub
2SDKDeferred — build core interfaces + REST API + async topics first. SDK wraps these later.
3RoboCop / Gordon Ramsay / Ivan DragoWrap open source: NeMo Guardrails, RAGAs/DeepEval, TRL+Axolotl
4Enterprise connectorsDocker image per connector, enterprise provides connection details (host, creds via Nick Fury)
5Two ways to talk to the systemREST API (sync) + arc-stream (Dr. Strange / Pulsar) topics (async) — applies to ALL operations, not just ingestion
6Profile compositionDefer — categorize once services are built

System 4 — Resource + Event Pattern (how users extend ARC) ​

Every ARC resource has two interfaces automatically. This is the extension model — enterprises don't need to fork ARC, they subscribe to events.

Same pattern as Stripe (REST + webhooks) but Pulsar topics replace webhooks. Enterprises subscribe to Dr. Strange (arc-stream) topics directly.


System 5 — MCP Hub (bidirectional) ​

Sherlock sits in the middle of the MCP protocol — server to AI clients above, client to enterprise tools below.

MCP Topic Wiring (async path) ​

Contributors

Changelog