Our solution
Complete Federation compatibility, built into the composition engine
Cosmo implements the Federation specification from v1 through v2.5. All standard directives are supported. Existing schemas compose and execute without modification.
How compatibility works
Cosmo's composition engine processes subgraph schemas and applies Federation directives per the specification.
All Federation v1 directives are fully supported: @key (including composite keys), @extends, @external, @provides, @requires, and @tag.
Federation v2 directives through version 2.5 are supported: @shareable, @inaccessible, @override, @interfaceObject, @authenticated, @requiresScopes, and @composeDirective. (@link is ignored and removed during composition โ schemas using it work without changes. To use @composeDirective to propagate a custom directive into the supergraph, that directive must first be imported via @link.)
Mixed-version subgraphs compose correctly. Standard Federation composition rules still apply โ v2 subgraphs sharing fields with v1 subgraphs must declare `@shareable` or composition will fail.
The router generates optimized query plans that respect entity resolution, key fields, and cross-subgraph references.
Existing schemas migrate without modification in most cases. The exception: shared fields between v1 and v2 subgraphs must be marked @shareable.
The schema you have today is the schema you migrate.

