iGent Concert
/fabric/transport/

Fabric Transport

Supported transport bindings and their current maturity

Fabric is transport-aware but not transport-fragmented. The same profile concepts should survive across HTTP, streaming, local process, and internal service bindings.

Binding Maturity

BindingStatusUsed for
JSON-RPC over HTTPStrongService-to-service calls, public gateway RPC, inference endpoints
HTTP + SSEStrongLong-running generation and event streams where HTTP deployment is simplest
JSONL over stdioStrong for local toolsLocal agents, CLIs, and subprocess integration
Internal binary framesInternalPerformance-sensitive runtime or sync paths
WebSocketPartialGateway/client and compatibility streaming surfaces

HTTP JSON-RPC

HTTP JSON-RPC is the most stable shared binding. Requests are ordinary JSON-RPC objects sent to a service endpoint such as /rpc.

{
  "jsonrpc": "2.0",
  "method": "inference/models.list",
  "params": {},
  "id": "models-1"
}

Streaming

Streaming can use HTTP + SSE or WebSocket depending on the endpoint. Services should preserve the same logical event sequence:

EventMeaning
startedWork accepted and stream initialized
deltaPartial text, tool, artifact, or status update
completedStream reached a terminal success state
failedStream reached a terminal error state
cancelledStream ended because cancellation was requested

Local Process Transport

JSONL over stdio is preferred for local tools and agent subprocesses because it is easy to inspect, works without a port allocation, and fits CLI execution.

Gateway Guidance

Diminuendo can expose multiple bindings at once, but the internal rule remains: normalize to Fabric semantics first, then project to the requested transport or edge adapter.