ETAS is a programming language for agent systems that separates deterministic computation from agentic nondeterminism and provides a foundation for reasoning about authorization, nondeterminism, recovery, and audit evidence.
ETAS provides a programming-language foundation for reasoning about authorization, nondeterminism, recovery, and audit evidence before and during agent execution.
Before reading this…
Applications
To understand this paper, make sure you know these concepts first:
ETAS is a programming language for agent systems that treats model-backed agents, tool calls, prompts, typed memory, human approvals, policies, and execution traces as semantic program elements rather than library conventions. It separates deterministic computation from agentic nondeterminism and externally visible actions while preserving a direct programming style. We present the core design of ETAS. Its static semantics assigns ordinary types through spec conformance and tracks each computation with two behavioral indices: an escaping effect row and a persistent abstraction of the typed action trace it may request. Specs form a terminating compile-time constraint calculus: type specs provide evidence for polymorphism and resource facts, callable specs constrain function and stage shapes, and trace specs express allow, deny, and temporal constraints. Typing checks requested traces against compiled monitors and emits residual obligations when dynamic resources preclude a complete static proof. The dynamic semantics distinguish requested, handled, denied, and committed events; handlers interpret typed actions without making their requests invisible to authorization or audit. We formalize a core calculus and state preservation, progress, type/effect soundness, handler trace-transparency, and policy safety. We also implement ETAS in Rust with a command-line interface, typed HIR checks, effect and policy diagnostics, handler checks, and trace-aware execution hooks. ETAS provides a programming-language foundation for reasoning about authorization, nondeterminism, recovery, and audit evidence before and during agent execution.
Toward cryptographically verifiable authorization for autonomous AI agents: A security hypothesis, p…
This paper proposes a new approach for cryptographically verifiable agent author…
The Because-Calculus: Separating Production, Existence, and Interpretation in Computation
This paper introduces the because-calculus, a calculus that structurally separat…
Progressive Crystallization: Turning Agent Exploration into Deterministic, Lower-Cost Workflows in P…
This paper introduces progressive crystallization, a lifecycle for AI agents in…
VirtualSet: Typed Ontology Worlds as an LLM Generation Target for Grounded Queries and Guarded Decis…
This paper introduces VirtualSet, a live, receiver-typed ontology-world interfac…
Generalized Constraint Projection: Four-Dimensional Type Inference for Dynamic Languages
This paper introduces Generalized Constraint Projection (GCP), a zero-annotation…
Linearising Explicit Substitutions using Intersection Types
The paper introduces a new term expansion for a calculus with explicit substitut…
TRACE-ROUTER: Task-Consistent and Adaptive Online Routing for Agentic AI
The paper introduces TRACE-Router, a task-level routing framework for large lang…
Who Broke the System? Failure Localization in LLM-Based Multi-Agent Systems
This paper presents AgentLocate, a framework for failure localization in large l…