Not built yet. Everything on this page is planned work. It describes intent, not a commitment, and none of it exists in the repositories today. For what exists, read the architecture.
The plan has seven phases. Phases 1 to 4, 6 and 7 are done (phase 5, agent memory, was taken out of order); the web app has since gained people pages and full create/edit/delete.
| Phase | Status | What |
|---|---|---|
| 1. Server and umbrella skeleton | Done | GraphQL server image over Neo4j; compose with Neo4j and the server; Movies seed; lint and breaking-change checks; AGENTS.md. |
| 2. Web app | Done | React client with typed operations; docker compose up gives Neo4j, server and web. Since extended with faceted search, compare, graph views, people, CRUD. |
| 3. Auth | Done (Auth0 untested) | grandstack-auth: Hive Gateway validating Keycloak JWTs with permissions per mutation, row-level rules in the schema, User and Review types, a Keycloak dev realm and a demo client, opt-in through compose.auth.yaml. Auth0 is supported by configuration and documented, but not tested against a real tenant. grandstack-web is intentionally unchanged; adding login to it is a documented exercise. |
| 4. Agents and GraphQL | Done (live Claude run untested) | grandstack-agents: a small MCP server (stdio and streamable HTTP) with generic tools that run any GraphQL statement, a direct agent-loop example, read-only by default, and documented example code for adding auth. It uses the open server. Optional through compose.agents.yaml. The Claude example needs an API key and was not run live by the authors. |
| 5. Agent memory | Planned | Its own repo: an attempt-memory graph in a separate Neo4j (the community edition has one database per instance, so a second container), with auth introduced there. |
| 6. Federation | Done | grandstack-federation: the server as a federation subgraph (FEDERATION=true), a Wikipedia subgraph that adds a summary, image and link to films and people, composed by Mesh's compose CLI and served by Hive Gateway. Films and people are linked to Wikipedia pages by a committed, rule-checked links file (152 of 152 films, 461 of 464 people). Opt-in through compose.federation.yaml; needs internet. Mesh's OpenAPI handler was tried and not used (see that repo's docs/prototype-findings.md). Auth with federation is not built. |
| 7. Site | Done (deployment not verified here) | https://www.grandstack.ai, a Hugo site in its own repo (grand-stack.github.io) with a hand-written theme: home, quickstart, the docs of every repo (a generated copy), examples that are run against real stacks, this roadmap, a page for agents, and llms.txt and llms-full.txt. Built for GitHub Pages; the DNS and Pages settings are the maintainers'. Every repository is Apache-2.0 (LICENSE and NOTICE in each). |
- Phase 3 is done as an opt-in setup. The default stack and
grandstack-webare still open, so never expose them publicly; the auth setup is development-only too (seegrandstack-auth's docs for production gaps). - Phase 4 is done:
grandstack-agentsadds an MCP endpoint and a direct-GraphQL example; the schema descriptions the lint rule already requires are what an agent reads. It is read-only by default but the server behind it is open; see itsdocs/guardrails.md. - Phase 5 will add an agent-memory repository with its own Neo4j and auth.
- Phase 6 is done:
grandstack-federationadds a gateway on port 4000, with the server moving to port 4001 in that setup. - Phase 7 is done: the docs are published as https://www.grandstack.ai (built from the repos by a sync script), and
llms.txtthere is the public index.
These are open questions from planning, not facts:
- Federation:
@neo4j/graphqlv7 does support it (Phase 6), but only@keyand federation v2.0 were exercised, and@apollo/subgraphmust be pinned to 2.14.4. - Auth0: the settings are written in
grandstack-auth/docs/auth0.mdbut never run against a tenant. - Mesh OpenAPI handler: tried in Phase 6. It composed and worked for linked entities, but mishandled an entity with a null key, so the Wikipedia subgraph is hand-written. Forwarding auth headers through it was not tested.
@graphql-hive/plugin-mcpis pre-1.0 and has no built-in auth. Phase 4 did not use it: it uses a small custom MCP server with generic tools instead.- Hive Console (a self-hosted schema registry) is heavy (Postgres, ClickHouse, Redis, Redpanda, MinIO); it would be an optional compose profile.
Publish the repositories to the GitHub organisation https://github.com/grand-stack (nothing is pushed yet), publish versioned images, pin them in compose, and add link targets between repositories in these docs once the URLs exist.