Edge adapters make Fabric available to tools and clients that speak other protocols. They are useful, but they are not the core architecture.
Diminuendo hosts optional sidecars under diminuendo/src/protocols/sidecars/ for the external protocol surfaces. Feature flags and deployment configuration decide which adapters run.
Adapter Matrix
| Adapter | Primary job | Fabric projection |
|---|---|---|
| ACP | Agent client sessions and streaming conversation UX | Conversation, stream, selected presentation state |
| MCP | Tools, resources, prompts, and model-host integration | Resource, capability, selected tool/workspace exposure |
| A2A | Agent-to-agent task exchange | Runtime delegation and conversation handoff |
| AG-UI | Agentic UI event stream | Presentation and stream events |
Boundary Rules
- The adapter may translate names, envelopes, and event formats.
- The adapter should preserve Fabric identity, permissions, and correlation metadata.
- The adapter should not bypass the owning service for privileged operations.
- The adapter should return explicit unsupported errors when the external protocol cannot represent a Fabric feature.
Why This Changed
Older docs described Diminuendo as an ACP gateway that translated client ACP into a Podium-native protocol. The current system is broader and cleaner: Diminuendo is a Fabric gateway, and ACP is one optional edge projection.
That distinction matters operationally. It means first-party clients can evolve with Fabric profiles while external protocol support remains a compatibility layer.