Status: Active Version: 1.0 Date: 2026-01-02 Satisfies: ADR-038, ADR-037
Define requirements for enabling SEA™ agents to communicate and collaborate with external AI agents using the A2A (Agent-to-Agent) protocol, and to orchestrate internal workflows using Microsoft Semantic Kernel.
SEA™ agents currently operate in isolation within the SEA™ ecosystem. They cannot:
This limits SEA™’s ability to participate in the emerging multi-agent ecosystem where agents from different frameworks (LangGraph, CrewAI, Google ADK, etc.) collaborate on complex tasks.
Priority: P0 (MVP) Type: Functional
The system SHALL serve an A2A Agent Card at /.well-known/agent.json that:
Acceptance Criteria:
Priority: P0 (MVP) Type: Functional
The system SHALL accept tasks from external A2A clients:
SendMessage requests with task contextAcceptance Criteria:
POST /tasks creates new tasksea-task-{ulid}Priority: P0 (MVP) Type: Functional
The system SHALL support multi-turn message exchange within tasks:
input-required state for human-in-the-loopAcceptance Criteria:
POST /tasks/{id}/messages adds message to taskGET /tasks/{id}/messagesPriority: P0 (MVP) Type: Security
The system SHALL enforce governance rules for all task executions:
Acceptance Criteria:
Priority: P1 (Post-MVP) Type: Functional
The system SHALL delegate sub-tasks to external A2A-compliant agents:
Acceptance Criteria:
Priority: P0 (MVP) Type: Functional
The system SHALL provide real-time task updates via streaming:
Acceptance Criteria:
/tasks/{id}/streamPriority: P1 (Post-MVP) Type: Functional
The system SHALL support push notifications for long-running tasks:
Acceptance Criteria:
POST /webhooksX-A2A-Signature headerPriority: P0 (MVP) Type: Functional
The system SHALL maintain semantic memory for agent interactions:
Acceptance Criteria:
Priority: P0 (MVP) Type: Functional
The system SHALL map Semantic Kernel plugins to A2A Agent Card skills:
Acceptance Criteria:
As an external AI agent (LangGraph, CrewAI, etc.) I want to discover and send tasks to SEA™ agents So that I can leverage SEA™’s semantic engineering capabilities
Acceptance Criteria:
/.well-known/agent.jsonAs a Security Officer I want all external agent tasks to pass through governance filters So that external agents cannot bypass SEA™’s security rules
Acceptance Criteria:
As an external AI agent I want SEA™ agents to remember conversation context So that I can have multi-turn interactions
Acceptance Criteria:
| Dependency | Description | Impact |
|---|---|---|
| SDS-031 | Authority & Ownership Boundaries | Governance rules for agent execution |
| SDS-052 | Semantic Tooling & IDE Integration | MCP tool surface for plugins |
| SDS-047 | Messaging Infrastructure | JetStream for async processing |
| SDS-030 | Semantic Observability | Tracing for agent interactions |
| Metric | Target | Measurement |
|---|---|---|
| Agent Card Discovery | <100ms | Time to serve Agent Card |
| Task Creation | <200ms | Time to create and acknowledge task |
| Streaming Latency | <100ms | Time from event to SSE delivery |
| HITL Approval Rate | >99% | Mutating tasks with HITL check |
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| A2A spec changes | Medium | Medium | Pin to version, abstract binding layer |
| External agent abuse | High | High | Rate limiting, authentication, HITL |
| Memory overflow | Medium | Medium | TTL on task contexts, garbage collection |