Core concepts¶
AgentMuru separates application intent from provider and transport details. The same agent can run with a deterministic fake, an official hosted-model adapter, in-memory state, SQLite, the Python API, or the browser Workspace.
Application model¶
An Application names one primary Agent, optional handoff targets, session and artifact
stores, and user-facing metadata. The Runtime executes that definition and owns policy,
approvals, tracing, cancellation, and event production.
Application
Agent
ModelProvider
Tool[]
permissions
SessionStore
ArtifactStore
Runtime
PermissionPolicy
ApprovalService
Tracer
Read by concern¶
| Concern | Concept |
|---|---|
| Define behavior and choose a model | Agents and models |
| Connect typed Python functions safely | Tools and approvals |
| Understand execution order and replay | Runtime and events |
| Keep conversations and runs | Sessions and memory |
| Store outputs and inspect execution | Artifacts and traces |
| Coordinate multi-step behavior | Workflows and handoffs |
Design rule¶
Provider output is untrusted input. A model can request a registered tool, but it cannot grant permissions, approve itself, bypass argument validation, or write directly to a store. The runtime remains the authority for every side effect.