Skip to content

[SP6] Rebuild GraphQL federation (Apollo Fed v2) per proto spec A7 #126

Description

@rawkode

Decision: adopt the proto spec A7 GraphQL strategy. This reverses the current "GraphQL = kernel-owned fields only" direction.

Scope

  • Rewrite GOAL.md / SPEC.md: GraphQL is no longer kernel-only; extensions expose federated subgraphs.
  • Restore/rebuild the extension SDL-composition path deleted in the quality sweep (recoverable from git history on branch chore/thermo-nuclear-quality-review — commit "fix(core): remove dead parallel subsystems...").
  • Add a graphql-resolve WIT export to the extension world; extensions emit Fed-v2 subgraph SDL (async-graphql enable_federation, #[graphql(entity)]).
  • Host composition via graphql-composition (Grafbase); query planning via Hive Router query-planner crate; custom WASM executor that walks the plan and dispatches subgraph fetches into the owning component graphql-resolve.
  • Recompose + invalidate plan cache on extension load/unload (swap under lock).

Build-time spike first (spec SP6)

  1. Confirm hive-router query-planner is consumable as a crate (crates.io vs git/vendored).
  2. Confirm its plan IR can drive our custom WASM executor.
  3. Confirm graphql-composition join-spec output matches the planner-expected supergraph dialect.

Do NOT embed apollo-federation (unstable) or harmonizer (bundles JS) at runtime.

References: docs/spec-gap-analysis.md (A7), proto spec A7/SP6.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions