An open specification for sharing the shape of agent work across A2A and non-A2A systems.
Status: Public draft. External evaluation pending. Not yet a third-party validated standard.
SAE is a small, neutral task packet.
The point is simple: different agent systems should be able to agree on the work even if they do not share the same runtime, framework, or internal implementation.
SAE is meant to complement interoperability layers such as A2A, not replace them.
A lot of systems can already exchange messages.
That is not the same thing as agreeing on the work.
In practice, agent handoff often gets fuzzy right where it matters most:
- what the actual objective is
- what constraints matter
- what kind of output is expected
- how much review or caution is needed
SAE exists to make that part more explicit.
An SAE task can describe:
- the objective
- the constraints
- the expected deliverable
- delegation hints
- review posture
- optional preference and instruction hints
That is enough to make handoff cleaner without turning SAE into a full runtime or product stack.
The cleanest way to frame SAE is:
A2Ahandles discovery, transport, tasks, messages, and artifactsSAEhandles the shape of the work- internal systems may produce SAE directly or through richer local compilers
SAE is intentionally:
- small
- neutral
- transport-agnostic
- usable over A2A, HTTP, MCP-style hosts, CLI workflows, or internal runtimes
SAE is for situations where the work needs to stay legible as it moves between systems.
That usually means:
- turning a fuzzy ask into a stable packet
- making objectives and constraints explicit
- describing the deliverable clearly
- preserving review posture across systems
- carrying lightweight delegation or instruction hints
- allowing endpoint-aware translation without changing the public core
SAE is not:
- a transport protocol
- a replacement for A2A
- an agent runtime
- an authentication layer
- a complete interoperability stack by itself
The intended relationship is straightforward:
A2Ahandles agent-to-agent discovery and transportSAEhandles the shape of the work
So the usual public path should be:
SAE over A2A
not:
SAE instead of A2A
SAE should not turn into a pile of vendor-specific prompt dialects.
Instead:
- SAE keeps the shared task shape stable
- the translator renders that shape for a given endpoint
- the endpoint codex records what tends to work best for each model family
That allows the same SAE task to be rendered for systems such as:
- OpenAI Responses
- Anthropic Messages
- Gemini
- Qwen
- local Llama-style models
- generic HTTP agents
If you are new here, use this order:
OVERVIEW.mdQUICKSTART.mdTUTORIAL.mdsae-task.schema.jsonSAE-OVER-A2A.mdNON-A2A-TRANSLATION.mdCONFORMANCE.md
sae-task.schema.jsonexamples/SAE-OVER-A2A.mdNON-A2A-TRANSLATION.mdMODEL-ENDPOINT-CODEX.mdOVERVIEW.mdWIKI.mdQUICKSTART.mdTUTORIAL.mdCONFORMANCE.mdIMPLEMENTATIONS.mdCHANGELOG.mdpoc/docs/LICENSENOTICECONTRIBUTING.mdGOVERNANCE.md