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.
@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:- Validate the change.
- Update the supergraph model.
- Propagate field ownership.
- Propagate entity keys to every subgraph that defines or extends the entity.
- Recompute type imports.
- 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.