iGent Concert
/fabric/protocol/

Fabric Protocol

Core protocol conventions, method families, and compatibility rules

Fabric is a JSON-RPC-centered protocol with profile-specific method families. The core rule is simple: a service advertises the profiles it supports, then accepts the methods and event shapes owned by those profiles.

Conventions

ConventionRule
EnvelopeJSON-RPC 2.0 request, response, notification, and error envelopes
Method namesSlash-delimited family names such as conversation/send or inference/generate
IDsClient-generated request IDs are preserved through gateway projection where possible
ErrorsJSON-RPC error objects with profile-specific codes and structured data
CasingCurrent implementations may still expose legacy casing in a few compatibility paths; new Fabric surfaces should use the canonical profile shape
CapabilitiesServices advertise supported profiles and optional features before clients depend on them

Core Methods

Every Fabric endpoint should support enough core behavior to identify the peer, discover capabilities, and establish expectations.

MethodPurpose
initializeNegotiate protocol version, identity context, and supported profiles
capability/listReturn the profile and feature set available on this endpoint
health/checkLightweight health probe for gateway or service liveness

Profile Families

FamilyTypical ownerPurpose
conversation/*DiminuendoSessions, messages, turns, approvals, and transcript state
presentation/*Diminuendo and clientsUI-presentable artifacts and structured client state
stream/*Diminuendo, Podium, EnsembleStreaming lifecycle, deltas, completion, and errors
runtime/*PodiumAgent deployment, instance creation, lifecycle, and routing
inference/*EnsembleModel listing and generation
resource/*Unison, DiminuendoResource reads, writes, subscriptions, and scoped access
workspace/*ChronicleFile tree, snapshots, iterations, and workspace authority
sync/*Unison, ChronicleChange streams, reconciliation, and bidirectional replication

Compatibility Position

Fabric intentionally keeps old and external protocols at the edge:

  • ACP is useful for clients that already speak the Agent Client Protocol.
  • MCP is useful for tool and resource exposure to model hosts.
  • A2A is useful for inter-agent task delegation across vendors.
  • AG-UI is useful for UI event streams and agentic interface integration.

Those adapters should map into Fabric-owned semantics. They should not invent a second internal runtime model.

Versioning

Fabric profiles can advance independently. A client should check capabilities before using newer methods, and services should prefer explicit "unsupported method" errors over silent partial behavior.