Part of #1279. Ring 1 — the A2A protocol. The contract already exists and is not to be redesigned: nine routes in agent-server/apps/server/src/api/routes/a2a.ts, the store in pg-agent-store.ts, the client in rings/SR-02/A2ARegistryClient.swift.
The ring states the types and the semantics: agent card, message, task, state transitions, and what "alive" means in terms of heartbeat.
Done when
t27c gen-rust rings/T27-01/a2a.t27 produces Rust that compiles.
- The types match the
agents table field for field (id, name, capabilities, last_heartbeat, status, metadata) and match A2AMessage in Swift.
- Task states are exactly those in
AgentTaskState.
- The ring contains no I/O: Postgres and HTTP are ring 3, not this one.
Boundary
rings/T27-01/a2a.t27
Part of #1279. Ring 1 — the A2A protocol. The contract already exists and is not to be redesigned: nine routes in
agent-server/apps/server/src/api/routes/a2a.ts, the store inpg-agent-store.ts, the client inrings/SR-02/A2ARegistryClient.swift.The ring states the types and the semantics: agent card, message, task, state transitions, and what "alive" means in terms of heartbeat.
Done when
t27c gen-rust rings/T27-01/a2a.t27produces Rust that compiles.agentstable field for field (id, name, capabilities, last_heartbeat, status, metadata) and matchA2AMessagein Swift.AgentTaskState.Boundary
rings/T27-01/a2a.t27