One industry-agnostic platform, two products: WisdomAI (extremely optimized enterprise RAG) and Agentra (multi-agent industry packs). LLM-agnostic, truly multi-tenant, built for mid-to-large enterprise across white- and blue-collar work.
Agentra + WisdomAI is a single enterprise platform sold as two products separated by entitlement, not by build. WisdomAI is a permissions-aware knowledge assistant over an extremely optimized RAG pipeline — the low-risk land product. Agentra adds multi-agent industry packs that act over enterprise systems of record — the expand product, grounded on WisdomAI.
Grounded in a teardown of today's leaders — multi-agent (Microsoft Agent Framework, Vertex ADK, Bedrock AgentCore, Agentforce, LangGraph, Sierra, Moveworks, Decagon, Aisera), RAG (Glean, Vectara, Cohere, Contextual AI, Pinecone, Elastic, LlamaCloud, Azure/Vertex/AWS search, Voyage), gateways (LiteLLM, Portkey, Kong, Cloudflare), channels (Twilio, Genesys, Slack, Teams, WhatsApp), and vertical agents (project44, Sabre, Kantata, Zebra). The recurring lesson — "one contract, many adapters" — is the spine.
Contextual chunk embeddings + hybrid retrieval + cross-encoder reranking + agentic query planning + permissions-aware retrieval + cite-or-abstain grounding — continuously benchmarked. The stack is the moat.
Production multi-agent packs for E-commerce, Travel, Logistics, NBFC, Retail & Professional Services — across white-collar and blue-collar/frontline workflows over the real systems of record.
| Property | Value |
|---|---|
| Model access | OpenLLM Gateway — LLM-agnostic (Anthropic·OpenAI·Vertex·Bedrock·Mistral·self-hosted vLLM/NIM) |
| Embeddings / rerank | Voyage voyage-context-3 (contextual) · Voyage rerank-2.5 / Cohere Rerank 3.5 (cross-encoder) |
| Vector store | Pinecone (serverless, namespaces) · Weaviate (one-shard-per-tenant, silo) |
| Data stores | PostgreSQL (RLS) · Redis · Neo4j (graph) · ClickHouse (traces) · object storage |
| Integration | MCP (tools/data) + A2A (agent peers) + tool gateway; read/write-tagged |
| Message bus / mesh | Apache Kafka · Istio strict mTLS |
| Identity | Auth0 (external) · Okta/Entra (workforce) · SCIM · per-agent identity |
| Tenancy | Bridge default · Silo upgrade (BYOK/CMK, region-pinned) |
| Deploy | Kubernetes + Helm + Argo CD GitOps; SaaS · BYOC · self-hosted |
| Compliance | SOC 2 · ISO 27001 · GDPR · PCI-DSS + pack overlays (RBI, DOT/EU261, FMCSA) |
| Product | What it is | Tier | Competes with | Metering |
|---|---|---|---|---|
| WisdomAI | Permissions-aware knowledge assistant / optimized RAG with citations. The land product. | knowledge | Glean-class | seats · queries |
| Agentra | Multi-agent industry packs that act over systems of record, by vertical. The expand product. | agentic | Aisera / Sierra / Moveworks | resolved actions · packs |
A tenant lands on WisdomAI, then upgrades by purchasing Agentra packs — hot-loaded into the same data plane with no redeploy. Entitlement (tier + licensed packs) gates the mode; read-only tools on the knowledge tier, write/financial tools added on the agentic tier.
Agentra + WisdomAI sits between three populations — external customers and internal employees across many channels, ops/admin users across consoles, and the third-party ecosystem (systems of record, partner agents) exposed entirely through MCP and A2A — with all model calls flowing through the OpenLLM Gateway.
flowchart LR
subgraph Req["Requesters"]
R1["External customers"]
R2["Internal employees"]
R3["Frontline / blue-collar"]
end
subgraph Ch["Channel Layer"]
CH["Adapters → one envelope"]
end
subgraph Plat["Platform — per tenant data plane"]
direction TB
OR["Orchestration Core"]
WIS["WisdomAI RAG (USP1)"]
AGT["Agentra Packs (USP2)"]
MEM["Memory"]
end
subgraph Ext["Systems of Record via MCP / A2A"]
E1["OMS·WMS·TMS·PSS·GDS"]
E2["Payments·LOS·LMS·Bureaus"]
E3["CRM·POS·PSA·KB"]
E4["Partner agents (A2A)"]
end
subgraph GW["OpenLLM Gateway"]
G1["LLM-agnostic routing"]
end
subgraph CP["Control Plane"]
P1["Provisioning"]
P2["Capability Registry"]
P3["Identity Auth0+Okta"]
P4["Entitlements·Vault"]
end
R1 & R2 & R3 --> CH --> OR
OR --> WIS & AGT
WIS & AGT <--> MEM
AGT <--> Ext
WIS <--> Ext
WIS & AGT --> GW
CP -.-> Plat
classDef r fill:#1a3a5e,stroke:#6ea8fe,color:#e6edf3
classDef p fill:#1f2937,stroke:#6ea8fe,color:#e6edf3
classDef e fill:#3b2e4a,stroke:#c79bf0,color:#e6edf3
classDef c fill:#1f3a2f,stroke:#7ee0c0,color:#e6edf3
class R1,R2,R3 r
class OR,WIS,AGT,MEM,CH p
class E1,E2,E3,E4 e
class P1,P2,P3,P4,G1 c
flowchart TB
EXP["EXPERIENCE — customer apps · employee apps · consoles · Frontline Mobile Shell"]
CHN["CHANNEL LAYER — adapters → normalized InboundMessage (web·voice·IVR·WhatsApp·Slack·Teams·SMS·handheld·kiosk·push)"]
ORC["ORCHESTRATION CORE — Triage → Context → Router/Supervisor → [Knowledge | Agentic] · durable state · guardrail supervisors"]
WIS["WISDOMAI RAG ENGINE (USP1) — ingest·index·retrieve·rerank·ground·cite"]
AGT["AGENTRA PACK RUNTIME (USP2) — specialist agents · reusable core · frontline shell"]
INT["INTEGRATION — MCP servers (read/write-tagged) · A2A · tool gateway · capability registry"]
GW["OPENLLM GATEWAY — LLM-agnostic · routing · fallback · cache · guardrails · virtual keys"]
DAT["DATA & PLATFORM — vector · Postgres · Redis · graph · trace · bus · KMS/Vault · tenancy · security · obs"]
EXP --> CHN --> ORC
ORC --> WIS
ORC --> AGT
WIS --> INT
AGT --> INT
INT --> GW
INT --> DAT
GW --> DAT
classDef l fill:#1f2937,stroke:#6ea8fe,color:#e6edf3
classDef u fill:#16302a,stroke:#7ee0c0,color:#e6edf3
class EXP,CHN,ORC,INT,GW,DAT l
class WIS,AGT u
Every model call — classifier, RAG synthesis, specialist reasoning, supervisor, guardrails, embeddings, reranking — flows through one gateway presenting an OpenAI-shaped contract and routing to whichever provider/model fits the task, tenant, cost, and latency. Built on an open core (LiteLLM/Portkey-class) wrapped with our multi-tenant control plane.
flowchart LR CL["Caller (OpenAI-shaped)"] --> A1["1 AuthN/Z
virtual key → tenant/scope"] A1 --> A2["2 Rate + budget
(Redis)"] A2 --> A3["3 INPUT guards
injection·moderation·PII"] A3 --> A4["4 Cache
exact → semantic (per-tenant)"] A4 --> A5["5 Router
cost·latency·complexity·pinned"] A5 --> A6["6 Provider adapter"] A6 --> P1["Anthropic"] A6 --> P2["OpenAI"] A6 --> P3["Vertex"] A6 --> P4["Bedrock"] A6 --> P5["self-hosted vLLM/NIM"] A6 --> A7["7 Resilience
retry·fallback·cooldown·LB"] A7 --> A8["8 OUTPUT guards + cache write"] A8 --> A9["9 Stream SSE + trace + spend"] classDef s fill:#1f2937,stroke:#6ea8fe,color:#e6edf3 classDef pv fill:#3b2e4a,stroke:#c79bf0,color:#e6edf3 class A1,A2,A3,A4,A5,A6,A7,A8,A9 s class P1,P2,P3,P4,P5 pv
| Call type | Default routing | Why |
|---|---|---|
| Triage / intent | fast/cheap or on-cluster classifier | high volume, latency-critical |
| RAG answer synthesis | mid-tier, grounding-tuned | quality + cost balance |
| Supervisor / complex reasoning | frontier model | the one frontier call per request |
| Guardrail / threat detection | small specialized classifier | parallel, cheap, independent |
| Embeddings / rerank | dedicated providers (Voyage/Cohere) | retrieval quality |
The base product and grounding substrate of every agent. A superset of the strongest techniques found, ordered by impact. Compounding effect: contextual embeddings (~35% fewer retrieval failures) + cross-encoder reranking cut top-20 failure ~67% in published benchmarks; the grounding validator turns recall into trustworthy cited answers; permissions-aware retrieval makes it safe for regulated enterprises.
flowchart LR
subgraph IN["Ingest"]
I1["Connectors
content + ACL"]
I2["Layout-aware parse"]
I3["Parent-child chunk"]
I4["Contextual embed"]
I5["Index (vector + sparse)"]
end
subgraph QY["Query"]
Q1["Rewrite / expand / plan"]
Q2["ACL pre-filter"]
Q3["Hybrid retrieve
dense+sparse RRF"]
Q4["Multi-vector (opt)"]
Q5["Cross-encoder rerank"]
Q6["Pre-LLM permission re-check"]
Q7["Grounded synthesis
cite-or-abstain"]
Q8["Grounding validator"]
end
I1-->I2-->I3-->I4-->I5
Q1-->Q2-->Q3-->Q4-->Q5-->Q6-->Q7-->Q8
I5-.->Q3
classDef i fill:#16302a,stroke:#7ee0c0,color:#e6edf3
classDef q fill:#1f2937,stroke:#6ea8fe,color:#e6edf3
class I1,I2,I3,I4,I5 i
class Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8 q
A channel-agnostic runtime behind per-channel adapters and one normalized envelope. A differentiator: polished digital channels for white-collar users and rugged, voice-first, offline-tolerant channels for frontline/blue-collar workers.
flowchart LR
subgraph DIG["Digital"]
D1["Web · Mobile SDK"]
D2["Email"]
D3["Slack · Teams"]
D4["WhatsApp·RCS·Apple"]
end
subgraph VOX["Voice"]
V1["SIP / Media Streams"]
V2["IVR"]
end
subgraph FL["Frontline"]
F1["Handheld / scanner"]
F2["In-cab / field app"]
F3["Kiosk · SMS · push"]
end
AD["Channel Adapters
auth · normalize · identity · rich-element xlate"]
EN["InboundMessage envelope
tenant-stamped · PII-scrubbed"]
RT["Orchestration Core"]
D1 & D2 & D3 & D4 --> AD
V1 & V2 --> AD
F1 & F2 & F3 --> AD
AD --> EN --> RT
classDef d fill:#1f2937,stroke:#6ea8fe,color:#e6edf3
classDef v fill:#3a2f24,stroke:#f0a868,color:#e6edf3
classDef f fill:#16302a,stroke:#7ee0c0,color:#e6edf3
classDef a fill:#3b2e4a,stroke:#c79bf0,color:#e6edf3
class D1,D2,D3,D4 d
class V1,V2 v
class F1,F2,F3 f
class AD,EN a
| Channel | Transport | Sync/async | Rich format | Tier |
|---|---|---|---|---|
| Web chat / mobile SDK | HTTPS + WS/SSE (offline queue) | Sync | Cards, quick replies, native | white + blue |
| SMTP/IMAP/Graph | Async | HTML email | white | |
| Slack / Teams | Events API / Bot Framework | Sync-ish | Block Kit / Adaptive Cards | white (employee) |
| WhatsApp / RCS / Apple MfB | Cloud API / RBM / MSP | Async | Interactive templates, rich cards | white + blue |
| SMS | Carrier via Twilio | Async | Plain text | blue |
| Voice / SIP | Media Streams / Conversation Relay / AudioHook | Sync (real-time) | STT/TTS, barge-in | white + blue |
| IVR | SIP + DTMF/speech | Sync | Audio menus | blue |
| Warehouse handheld / scanner | First-party SDK, offline replay | Async-ish | Scan/native UI | blue |
| In-cab / field app · kiosk · push | SDK / HTTPS / APNs-FCM | Sync / async | Voice/PTT, touch, notifications | blue |
Industry-agnostic core: Triage → Context Assembly → Router/Supervisor, with parallel guardrail supervisors and an async memory agent. Supervisor-router is the default; deterministic Sequential/Parallel/Loop workflows where predictability beats autonomy (NBFC KYC, travel refunds). The sequence below shows both modes.
sequenceDiagram
participant CH as Channel
participant OR as Orchestrator
participant TR as Triage
participant CTX as Context Assembly
participant GATE as Mode Gate
participant WIS as WisdomAI RAG
participant SUP as Supervisor
participant SP as Specialists (parallel)
participant GRD as Guardrail Supervisors
participant MEM as Memory
CH->>OR: InboundMessage
OR->>TR: classify
TR-->>OR: intent · urgency · locale
OR->>CTX: assemble (memory + identity)
OR->>GATE: read entitlement
alt knowledge tier (WisdomAI)
GATE->>WIS: retrieve + rerank + ground
WIS-->>OR: cited answer (or abstain)
else agentic tier (Agentra)
GATE->>SUP: dispatch (pack)
SUP->>SP: Promise.allSettled (parallel)
SP->>WIS: ground via RAG
SP-->>SUP: AgentResult[]
SUP->>SUP: synthesize + apply policies
SUP->>GRD: validate (policy·PII·threat)
GRD-->>SUP: pass / block / HITL
SUP-->>OR: ResolutionDirective (+ actions)
end
OR->>CH: OutboundMessage (rich)
OR-)MEM: persist (async)
State checkpointed each step; HITL gates pause for days at zero compute; resume exactly-once on any worker.
Role · Data · Actions · Guardrails · Channel + capability manifest. Behavior authored as declarative instructions + policies.
Write tools need idempotency keys; financial side-effects double-gated; irreversible actions route to HITL — never auto-executed.
Every external system is an MCP server (tool/data) or A2A peer; agents never import vendor SDKs. A tool gateway does auth + MCP↔API translation. Every tool is read/write-tagged — the single tag that drives the WisdomAI/Agentra entitlement gate and the audit/HITL rules.
flowchart LR
subgraph AG["Specialist Agent / WisdomAI"]
A1["execute()"]
A2["mcp.callTool()"]
end
subgraph MC["MCP Client (core)"]
M1["Discover via registry"]
M2["Tenant credential resolve (Vault)"]
M3["sideEffects gate (read/write/financial)"]
M4["Audit · idempotency · retry · mTLS"]
end
subgraph SV["MCP Server (per vendor)"]
S1["Vendor auth (OAuth refresh)"]
S2["Rate limit · circuit breaker"]
S3["Tool handler"]
end
VEN["Vendor API
OMS·PSS·GDS·LOS·POS·PSA…"]
AG --> MC --> SV --> VEN
classDef a fill:#1f2937,stroke:#6ea8fe,color:#e6edf3
classDef c fill:#16302a,stroke:#7ee0c0,color:#e6edf3
classDef s fill:#3b2e4a,stroke:#c79bf0,color:#e6edf3
classDef v fill:#3a2424,stroke:#f87171,color:#e6edf3
class A1,A2 a
class M1,M2,M3,M4 c
class S1,S2,S3 s
class VEN v
A pack turns the core into a vertical solution: specialist agents, intent taxonomy, RAG corpus, connectors to systems of record, policies, and compliance. Reusable core agents (Support, Returns/Claims, Exception, Knowledge/SOP, Document/OCR, Outreach, Resourcing) and a reusable Frontline Mobile Shell (offline-first, voice/PTT, multilingual, geo+photo capture) are built once; packs add connectors + pack-specific agents and compliance. Cards below show each agent with its collar, required systems, and P95 latency budget.
white = knowledge worker / digital · blue = frontline. Side-effect class shown where it drives gating: read (WisdomAI tier) · write · financial (double-gated).
Systems: Shopify/commercetools · OMS (Manhattan/Fluent/Sterling) · WMS (Manhattan/Blue Yonder/Körber) · Stripe/Adyen · FedEx/UPS/Onfleet/Bringg. Compliance: PCI-DSS (tokenize), consumer return-rights, TCPA/CAN-SPAM.
Systems: Amadeus/Sabre/Travelport · PSS (Altéa/SabreSonic) · DCS · loyalty. Compliance: DOT, EU261, IATA/PNR/APIS, PCI, ACAA. Fare-rule determinism via deterministic workflows.
Systems: TMS (project44/Oracle OTM/Blue Yonder/McLeod) · RTTVP (project44/FourKites) · ELD (Samsara/Motive/Geotab) · ERP. Compliance: FMCSA HOS/ELD, hazmat, customs (CBP/C-TPAT) — enforced (T10).
RBI Digital Lending Directions 2025 (consent/disclosure/AI governance through recovery), data localization (borrower data resident in India → region-pinned gateway routing + silo tenancy), RBI Fair Practices Code (collection-hours/language/anti-harassment the agent enforces), DPDP Act 2023, CKYC, adverse-action explainability. Systems: Lentra/Jocata (LOS) · Finacle/FLEXCUBE/Finflux · CIBIL/CRIF · Aadhaar/Karza/Signzy/Perfios · UPI/NACH.
Systems: POS (Xstore/Square/Shopify) · Oracle Retail/Blue Yonder/Manhattan Active · CRM/clienteling (Salesforce/Tulip) · Zebra/Honeywell devices. Compliance: PCI at POS, age-restricted-sales, ADA, predictive-scheduling.
Systems: PSA (Kantata/Workday/Certinia/Rocketlane) · CRM · iManage/SharePoint/Confluence · NetSuite/Workday. Compliance: per-engagement confidentiality (sub-tenancy), client data-residency, SOC2/ISO, AI-deliverable IP.
Enforced by the Frontline Mobile Shell so every pack inherits them: rugged/low-end Android & wearables; voice-first / barcode / push-to-talk, glanceable, interruptible; offline-first with background sync; multilingual/vernacular by default; onboarding-light with cross-shift context; and compliance-in-the-loop — the frontline agent enforces regulatory scripts/limits (RBI collection hours, HOS legality, age-restricted sales), not merely assists.
Scenario: employee asks in Slack — "What's our refund SLA for enterprise customers in EMEA?"
sequenceDiagram
participant EM as Employee (Slack)
participant CH as Slack Adapter
participant OR as Orchestrator
participant TR as Triage
participant WIS as WisdomAI RAG
participant ACL as Permissions
EM->>CH: refund SLA enterprise EMEA?
CH->>OR: InboundMessage (internal, Okta id)
OR->>TR: classify
TR-->>OR: intent=knowledge.policy_lookup
OR->>ACL: resolve principals (Okta groups)
OR->>WIS: rewrite/expand → ACL pre-filter
WIS->>WIS: hybrid retrieve + cross-encoder rerank
WIS->>ACL: pre-LLM permission re-check
WIS->>WIS: grounded synthesis + grounding validator
WIS-->>OR: cited answer (or abstain)
OR->>CH: Block Kit answer + source links
Scenario: customer in web chat — "I want to return my damaged headphones from order #12345."
sequenceDiagram
participant CU as Customer (web)
participant OR as Orchestrator
participant TR as Triage
participant SUP as Supervisor
participant RET as Returns & Refunds
participant FRA as Fraud / Risk
participant WIS as WisdomAI (policy)
participant GRD as Guardrails
participant OMS as OMS (MCP)
participant PAY as Payment (MCP)
CU->>OR: return damaged #12345
OR->>TR: classify (sentiment -0.6)
OR->>SUP: dispatch (pack=ecommerce)
par parallel specialists
SUP->>RET: eligibility + RMA
RET->>OMS: getOrder / getReturnPolicy
SUP->>FRA: serial-returner check
SUP->>WIS: damage-return policy (cited)
end
SUP->>SUP: synthesize ResolutionDirective
SUP->>GRD: policy (refund ≤ threshold?) + PII
GRD-->>SUP: pass (within threshold)
RET->>OMS: createReturn (write)
RET->>PAY: refund (financial · idempotent · double-gate)
SUP-->>OR: directive
OR->>CU: RMA + label + refund (cited policy)
Scenario: a field collections agent logs an overdue-EMI visit in the offline-capable Frontline Shell.
sequenceDiagram
participant FA as Field Agent (offline shell)
participant CH as Field-app Adapter
participant OR as Orchestrator
participant SUP as Supervisor
participant FCC as Field Collections Copilot
participant POL as RBI Compliance
participant LMS as LMS (MCP)
participant PAY as Payment (MCP)
FA->>CH: log visit (queued offline)
CH->>OR: on reconnect → InboundMessage (hi-IN)
OR->>SUP: dispatch (pack=nbfc)
SUP->>FCC: handle field visit
FCC->>POL: enforce contact-hours + vernacular script + anti-harassment
POL-->>FCC: compliant script (Hindi)
FCC->>LMS: getAccount (read) → history
FCC->>PAY: recordCollection (financial · cash recon · HITL on amount)
FCC-->>OR: receipt + geo/photo to LMS
OR->>CH: idempotent replay if connectivity drops
The Supervisor enforces per-agent budgets via deadlines; an over-budget specialist is dropped with a partial_result flag, never silently extended.
| Hop | Component | P50 | P95 | Notes |
|---|---|---|---|---|
| 1 | Channel ingress | 30 ms | 50 ms | parse, PII, identity |
| 2 | Triage | 100 ms | 180 ms | fast / on-cluster classifier |
| 3 | Query understanding | 120 ms | 220 ms | rewrite/expand (+plan if compound) |
| 4 | ACL pre-filter + hybrid retrieve | 180 ms | 320 ms | namespace-scoped |
| 5 | Cross-encoder rerank | 150 ms | 280 ms | top-N |
| 6 | Pre-LLM permission re-check | 30 ms | 60 ms | candidate re-verify |
| 7 | Grounded synthesis | 700 ms | 1100 ms | mid-tier model, single call |
| 8 | Grounding validator | 200 ms | 350 ms | per-claim scoring |
| 9 | Channel egress | 50 ms | 90 ms | render rich |
| End-to-end | 1.6 s | 2.6 s | ~400 ms slack on 3s SLO | |
| Hop | Component | P50 | P95 | Notes |
|---|---|---|---|---|
| 1 | Channel ingress | 30 ms | 50 ms | |
| 2 | Triage | 120 ms | 200 ms | pack intent taxonomy |
| 3 | Context Assembly | 250 ms | 400 ms | slowest memory/vendor read wins |
| 4 | Supervisor dispatch | 50 ms | 80 ms | in-process |
| 5 | Specialists (parallel) | 1300 ms | 1800 ms | mid-tier LLM + MCP + WisdomAI grounding |
| 6 | Supervisor synthesis | 800 ms | 1200 ms | frontier model, single call |
| 7 | Guardrail supervisors | 150 ms | 280 ms | parallel: policy + PII + threat |
| 8 | Action execution | 400 ms | 900 ms | MCP write + double-gate if financial |
| 9 | Channel egress | 60 ms | 100 ms | |
| End-to-end | 3.2 s | 5.0 s | ~1s slack; HITL pauses off-clock | |
Approval gates pause the durable run (T4) — wall-clock to a human decision is not counted against the SLO. Gateway caching (semantic + exact) and WisdomAI answer caching materially reduce P50 on repeat queries.
Every component declares a fallback. The safe default is queue-for-human or honest abstention; hallucination is treated as worse than unavailability (T10).
| Component | Failure | Detection | Graceful fallback |
|---|---|---|---|
| Gateway — provider | model/provider outage | error / latency SLA | ordered fallback chain to alternate provider; cooldown |
| Gateway — budget | tenant over budget | Redis budget check | soft cap warns; hard cap → cheaper model or queue; never silent overspend |
| WisdomAI retrieval | weak/empty context | Corrective-RAG score | reformulate / re-retrieve; if still weak → abstain |
| WisdomAI grounding | unsupported claim | validator < threshold | drop / correct / abstain — never ship ungrounded |
| Permissions | stale principal store | freshness check | late-binding live source check; deny on uncertainty |
| Specialist agent | over latency budget | gRPC deadline | drop result, set partial_result; synthesize from rest |
| Specialist agent | integration unhealthy | registry health + breaker | route intent to handoff; agent goes inactive (no code change) |
| Supervisor synthesis | frontier LLM failure | error after fallback | cold handoff with auto-assembled packet |
| Write / financial action | partial failure | idempotency + double-gate | idempotent retry; persistent → human queue + audit alert |
| Frontline shell | connectivity loss | offline detection | offline queue + idempotent replay; no data loss |
| Compliance guardrail | policy violation attempt | guardrail supervisor | block action; explain; route to human; audit |
Tiered bridge (default) with a silo upgrade path; a signed tenant_id claim is mandatory at every stateful hop. Used by NBFC (data localization), professional services (per-client confidentiality), and regulated travel/retail.
| Data store | Pool (standard) | Bridge (mid) | Silo (enterprise) |
|---|---|---|---|
| Relational | Shared + RLS by tenant_id | Schema-per-tenant | DB-per-tenant |
| Vector store | Namespace + JWT filter | Namespace + dedicated index | Dedicated index/cluster |
| Object storage | Per-tenant prefix, IAM-scoped | Bucket-per-tenant | Dedicated bucket + KMS |
| Encryption keys | Per-tenant DEK | Per-tenant KEK in KMS | BYOK/CMK (revocable) |
| LLM gateway | Virtual key + budget + cache ns | + per-tenant guardrail policy | + region-pinned / dedicated keys |
| Compute | Shared, quota-governed | Shared + reserved | Dedicated compute / region |
Automated provisioning as one workflow; gateway-enforced noisy-neighbor budgets; sub-tenancy for per-engagement isolation (ProServ). Entitlement (tier + packs) drives the mode gate and hot-loads packs with no redeploy.
Two-tier with async consolidation: working memory (Redis, raw session, hot path) + long-term semantic memory (vector, background-extracted, never blocking the live turn) + a customer/knowledge graph (Neo4j) for entity relationships and cross-channel/cross-pack history, plus a dynamic example store for few-shot steering. Per-tenant isolated; feeds both WisdomAI context and Agentra history-aware actions.
Trajectory-level tracing (every tool call, reasoning step, retrieval, agent hop) via OpenTelemetry → ClickHouse. RAG eval harness (faithfulness, context precision/recall, relevancy) + trajectory evals in CI. A simulation test center generates synthetic edge cases per pack pre-launch; a live command center shows tool firings, failures, latency/cost/CSAT post-launch. Traces feed a human-gated closed-loop pipeline (prompt revisions, fine-tune candidates, RAG-gap reports).
| ADR | Decision |
|---|---|
| 032 | "One contract, many adapters" spine (model · channel · tool · tenant) |
| 033 | OpenLLM Gateway — mandatory, LLM-agnostic model access on an open core |
| 034 | WisdomAI optimized RAG pipeline (USP 1) |
| 035 | Industry packs + reusable core agents + Frontline Mobile Shell (USP 2) |
| 036 | Detailed channel layer: digital + voice + frontline behind one envelope |
| 037 | Tiered bridge→silo multi-tenancy; signed tenant claim enforced everywhere |
Carried forward & binding from v2: ADR-027 (service-experience positioning; autonomy deferred), ADR-028 (generalized requester), ADR-030 (WisdomAI + Agentra productization), ADR-031 (read/write tool tagging).
Fully autonomous / unattended agents, scheduling, event triggers, durable multi-hour autonomous workflows, non-human/agent identity + OBO. The platform keeps a human requester in the loop or a human approving the action — focus stays on the two USPs.