Skip to content

Platform Overview

The Escher Platform Framework is a stateless execution engine built on a single formula, not a collection of autonomous agents.


Why not 100 autonomous agents?

The natural instinct when building an agentic platform is one agent per domain: a FinOps agent, a SecOps agent, a Compliance agent, and so on. For 7 domains this seems manageable. But the problems that arise are hard to undo:

Maintenance explosion: Each agent is a separate deployment unit, a separate prompt context, a separate update surface. Consistency of behaviour across agents becomes increasingly difficult to enforce.

Fragmented reasoning: A prompt like "My EC2 is slow and has a security risk" gets split across agents that each see only a slice. No single agent has enough context to reason holistically. Cross-domain correlation is lost.

Hallucination risk: Each isolated agent reasons from its own narrow context. Without grounding, agents fill gaps with invented answers.

Escher's answer: One formula. 100+ registered skills. The formula executes for every skill. The agents in Escher are not autonomous reasoners — they are stateless executors of a deterministic formula whose inputs are fully governed and traceable.


The Formula

Every domain in Escher has the same shape:

Any domain =
  Skills        → what it knows how to do
  Knowledge     → what it understands about the world
  Output format → how it communicates results

Escher makes each part of that structure explicit, registered, and executable:

Agent(x, d, t, e) =
  Skill(x)              → what to execute
  ContextBuilder(x)     → what data to fetch from the estate
  Estate(e)             → the live estate assembled by Context Manager
  Tool(CB(x))           → the tools that fetch that data
  Guardrail(x→d)        → the constraints that govern execution
  Template(x→d)         → how to render the output
  DomainLens(d)         → expert domain knowledge         [advanced tier]
  ExpertGraph(d)        → control relationships            [advanced tier]
  Artifact(x, t)        → what to persist
  Evidence(runtime, t)  → the audit trail

Where:

  • x = the resolved Skill
  • d = the domain (security, finops, compliance, ...)
  • t = the current session/tenant context
  • e = the current EstateView

Every variable is registered in the Context Engine before runtime. Nothing is invented at execution time.

The LLM is not the agent. The LLM is the reasoning engine inside the formula. The agent is the formula itself — a pure function over registered, governed, observable inputs.


What this means in practice

Traditional agent modelEscher formula model
Autonomous, opaqueAutonomous, transparent
Owns its own stateStateless — state lives in Context Manager
Decides its own tools at runtimeTools declared in manifest, selected by platform
Hard to auditEvery variable is registered and traceable
Hard to governGuardrails are first-class formula inputs
Adding a domain = adding a new agentAdding a domain = registering new values into the same structure
100 agents = 100 black boxes100 skills = same formula, different inputs

The intelligence is not in the agent. The intelligence is in the assets the formula resolves.


Thin backend, stateful frontend

The most important operational principle:

Frontend (Tauri desktop app):
  Local RAG (estate)   → your cloud estate data, never leaves the machine
  Serial DB            → full conversation history, session state, artifacts, evidence

Backend (stateless agents):
  No user state        → every request is self-contained
  No credentials       → credentials never leave the client
  No estate data       → context is assembled client-side and sent per request

The backend agents receive fully-assembled context per request. They reason, produce output, and return it. They retain nothing between calls.

This architecture makes Escher safe to deploy for enterprise customers: sensitive estate data, credentials, and conversation history live on the customer's machine, not in Escher's infrastructure.


Components

ComponentRoleLocation
Desktop App (Tauri)UI, credential management, local estate store, skill executionClient
Tauri Plugins (Rust)Estate scanning, vault, scheduler, flow logger, execution engineClient (embedded)
Context ManagerAssembles client-side context (estate RAG + conversation history) per requestClient
GatewayRoutes incoming prompts through classification phases to the correct agentServer
Domain Agents (Go/Java)Stateless executors of the formula — Analysis, Playbook, Autoresolver, KB, Log AnalysisServer
Context EngineServer-side knowledge store: skills, agents, tools, guardrails, templates, domain knowledgeServer
Asset StorePersistence layer for the Context Engine (SurrealDB-backed)Server
ADKAuthor and register agent packages (agent.yaml → Context Engine collections)Developer tool

Next steps

Escher — Agentic CloudOps by Tessell