Background and rationale, organised by what you might want to understand. None of these pages are required reading; they exist so you can build a mental model when something surprises you, or read up on a design choice before extending past it.
Architectural framing
-
Why Graphitron is database-first: the schema, the constraints, and the relationships in your database are the source of truth; the GraphQL layer is a typed view onto them. Cross-links to Graphitron principles.
-
Why jOOQ and GraphQL-Java: the two foundational dependencies, why they shape the developer experience, and where each surfaces in your work. Cross-links to Dependencies.
How the build and the runtime fit together
-
How it works: the pipeline that turns your GraphQL schema and your jOOQ catalog into the resolvers your application serves. Build-time and request-time, in 30 seconds.
-
Classifier mental model: what the build’s classification step does, in user-visible terms. Useful when reading rejection messages or understanding directive interactions.
-
The batching model: why N+1 doesn’t appear in Graphitron-generated code, what
@splitQueryand@lookupKeyactually do at runtime, and what the N × M contract demands of your custom conditions.
Why specific things work the way they do
-
Design decisions: user-visible "why does it work that way" answers for the constraints that look surprising on first contact (why
@conditionmethods take a table, why@lookupKeyblocks pagination, why mutations require@tableon the input type, and more).
The wider context
The user-manual explanation chapter sits next to the deployed site’s existing top-level explanation pages, which cover orientation rather than the manual-internal pipeline:
-
Graphitron principles: the design philosophy in plain prose.
-
Vision and goal: what problem Graphitron solves and how it approaches the solution.
-
Dependencies: why jOOQ and graphql-java are foundational, and what that means for users.
-
Security: why authorization stays in the database.
For contributor-facing material (sealed hierarchies, classification source map, generator dispatch, runtime extension points), see the architecture chapter.