Skip to main content
Fission is Hub’s schema engine. It keeps the supergraph and all subgraph schemas in sync. When you change the supergraph on the canvas — add a field, move a field, create a subgraph — fission updates every affected subgraph schema automatically. You don’t write subgraph SDL by hand.

Input and output

Fission takes three inputs:
  • Supergraph design — the types and fields on the canvas.
  • Subgraph assignments — which fields belong to which subgraphs.
  • Entity keys — key fields and cross-subgraph references.
For each subgraph, it produces a valid schema that contains only assigned fields, includes correct @key directives, imports required types, and composes into the supergraph.

How it works

Fission runs on every edit. It isn’t a batch job — it’s a stateful engine that keeps the graph consistent at all times. Each edit triggers the same sequence:
  1. Validate the change.
  2. Update the supergraph model.
  3. Propagate field ownership.
  4. Propagate entity keys to every subgraph that defines or extends the entity.
  5. Recompute type imports.
  6. Regenerate subgraph SDL.
You never invoke fission directly. It runs on every change and the graph stays in sync automatically.

Entity key propagation

When an entity spans multiple subgraphs, fission ensures every subgraph that defines or extends it includes the same @key directive. The entity stays resolvable across service boundaries. You can’t end up with conflicting keys unless you define multiple keys on purpose.

New subgraph generation

When you assign an unassigned field to a new subgraph, fission creates the full schema — parent entity, correct @key, and all required imports. No manual SDL needed.
See Create a Subgraph for the step-by-step workflow.

Guarantees and limits

Fission guarantees composable subgraph schemas, consistent entity keys, complete dependency propagation, and correct federation directives. It does not generate resolvers, choose service boundaries, or validate business logic. It automates the consequences of your assignments. The architectural decisions are yours.