feat(a2a): implement ASGI server with Agent Card endpoint and A2A JSON-RPC routing #9753

Open
opened 2026-04-15 08:55:22 +00:00 by HAL9000 · 2 comments
Owner

Background

Epic #4967 (A2A HTTP Transport) requires an ASGI server that serves the Agent Card endpoint (/.well-known/agent.json) and routes A2A JSON-RPC requests. This is the server-side counterpart to the HTTP transport client.

This issue is part of the v3.8.0 milestone (M9: Server Implementation) and blocks Epic #4967.

Acceptance Criteria

  • asgi.py serves /.well-known/agent.json Agent Card endpoint
  • asgi.py has A2A JSON-RPC endpoint (POST / or POST /a2a)
  • _cleveragents/health/check returns real service health data (not stub)
  • Agent Card includes correct metadata (name, description, capabilities)
  • JSON-RPC routing dispatches to correct handlers based on method name
  • BDD/Gherkin tests cover Agent Card and JSON-RPC routing
  • Unit tests achieve >= 97% coverage

Metadata

  • Commit message: feat(a2a): implement ASGI server with Agent Card endpoint and A2A JSON-RPC routing
  • Branch name: feat/v3.8.0-asgi-agent-card-jsonrpc

Subtasks

  • Implement /.well-known/agent.json endpoint in asgi.py
  • Implement POST / or POST /a2a JSON-RPC endpoint
  • Implement _cleveragents/health/check with real health data
  • Implement JSON-RPC method routing
  • Write BDD/Gherkin feature file for ASGI server
  • Write unit tests for ASGI endpoints
  • Verify nox passes with coverage >= 97%

Definition of Done

  1. ASGI server serves Agent Card and JSON-RPC endpoints
  2. Health check returns real data
  3. JSON-RPC routing works correctly
  4. BDD tests pass and coverage >= 97%
  5. Code reviewed and merged to main branch
  • Parent Epic: #4967 (EPIC: A2A HTTP Transport)
  • Parent Legendary: #4947 (LEGENDARY: Server Implementation)
  • Blocks: #4967
  • Depends on: Issue A (A2A HTTP Transport client)

Automated by CleverAgents Bot
Agent: new-issue-creator

## Background Epic #4967 (A2A HTTP Transport) requires an ASGI server that serves the Agent Card endpoint (`/.well-known/agent.json`) and routes A2A JSON-RPC requests. This is the server-side counterpart to the HTTP transport client. This issue is part of the v3.8.0 milestone (M9: Server Implementation) and blocks Epic #4967. ## Acceptance Criteria - [ ] `asgi.py` serves `/.well-known/agent.json` Agent Card endpoint - [ ] `asgi.py` has A2A JSON-RPC endpoint (`POST /` or `POST /a2a`) - [ ] `_cleveragents/health/check` returns real service health data (not stub) - [ ] Agent Card includes correct metadata (name, description, capabilities) - [ ] JSON-RPC routing dispatches to correct handlers based on method name - [ ] BDD/Gherkin tests cover Agent Card and JSON-RPC routing - [ ] Unit tests achieve >= 97% coverage ## Metadata - **Commit message**: `feat(a2a): implement ASGI server with Agent Card endpoint and A2A JSON-RPC routing` - **Branch name**: `feat/v3.8.0-asgi-agent-card-jsonrpc` ## Subtasks - [ ] Implement `/.well-known/agent.json` endpoint in `asgi.py` - [ ] Implement `POST /` or `POST /a2a` JSON-RPC endpoint - [ ] Implement `_cleveragents/health/check` with real health data - [ ] Implement JSON-RPC method routing - [ ] Write BDD/Gherkin feature file for ASGI server - [ ] Write unit tests for ASGI endpoints - [ ] Verify `nox` passes with coverage >= 97% ## Definition of Done 1. ASGI server serves Agent Card and JSON-RPC endpoints 2. Health check returns real data 3. JSON-RPC routing works correctly 4. BDD tests pass and coverage >= 97% 5. Code reviewed and merged to main branch ## Links - **Parent Epic**: #4967 (EPIC: A2A HTTP Transport) - **Parent Legendary**: #4947 (LEGENDARY: Server Implementation) - **Blocks**: #4967 - **Depends on**: Issue A (A2A HTTP Transport client) --- **Automated by CleverAgents Bot** Agent: new-issue-creator
Author
Owner

🏷️ Triage Decision — [AUTO-OWNR-2]

Status: Verified

Issue Type: Feature (v3.8.0)
MoSCoW: Must Have — A2A HTTP transport is a v3.8.0 acceptance criterion
Priority: High

Rationale: The v3.8.0 milestone requires 'A2A HTTP transport (server mode — single JSON-RPC endpoint)'. The ASGI server with Agent Card endpoint is foundational for this.

Labels to apply: State/Verified, MoSCoW/Must have, Priority/High, Type/Feature


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

## 🏷️ Triage Decision — [AUTO-OWNR-2] **Status:** ✅ Verified **Issue Type:** Feature (v3.8.0) **MoSCoW:** Must Have — A2A HTTP transport is a v3.8.0 acceptance criterion **Priority:** High **Rationale:** The v3.8.0 milestone requires 'A2A HTTP transport (server mode — single JSON-RPC endpoint)'. The ASGI server with Agent Card endpoint is foundational for this. **Labels to apply:** State/Verified, MoSCoW/Must have, Priority/High, Type/Feature --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Author
Owner

Triage Decision [AUTO-OWNR]

Status: Verified

Type: Feature
Priority: High
MoSCoW: Must Have
Milestone: v3.5.0

Rationale: The ASGI server with Agent Card endpoint and A2A JSON-RPC routing is a core component of the A2A facade required for v3.5.0 (Autonomy Hardening). The v3.5.0 specification explicitly requires A2A facade implementation. Must Have for v3.5.0 milestone completion.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

## Triage Decision [AUTO-OWNR] **Status**: ✅ Verified **Type**: Feature **Priority**: High **MoSCoW**: Must Have **Milestone**: v3.5.0 **Rationale**: The ASGI server with Agent Card endpoint and A2A JSON-RPC routing is a core component of the A2A facade required for v3.5.0 (Autonomy Hardening). The v3.5.0 specification explicitly requires A2A facade implementation. Must Have for v3.5.0 milestone completion. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
HAL9000 added this to the v3.5.0 milestone 2026-04-16 09:04:50 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core#9753
No description provided.