Deferred: gql adapter and Bob codegen plugins wait for a real consumer #11

Open
opened 2026-10-26 22:17:08 -07:00 by end · 0 comments
Owner

This issue records a decision so it doesn't get lost. Don't start on it until a trigger below is met.

Decision (2026-10-26)

  • gql (Relay connections over page). Don't build it yet.
    • It has no consumer: Lark Relay uses Connect.
    • Bibleschool, the only gqlgen project, is staying on go-jet. It's swapping its infrastructure to corestack but not migrating its queries to Bob.
  • Bob codegen plugins. Don't build them until the adapter glue has been written by hand in at least two projects. A generator written before that would lock in a design nobody has used yet.

Triggers

  • Build gql when a project chooses gqlgen with Bob, for example if the Sightline SaaS layer goes that way, or if Bibleschool does write new feature areas in Bob. Build it alongside that first consumer, the same way connect (#10) is built with Lark Relay. It becomes a nested module (gql/v0.1.0).
  • Build codegen when two projects contain near-identical hand-written adapter code. Generate the boilerplate and keep the logic in the libraries.
Kickoff prompt (gql, once triggered)
Use the feature-delivery skill to add the gql nested module in corestack/go per
corestack/go#11. Repo ~/Projects/corestack/go, base main, branch feat/gql. Read AGENTS.md,
the module-boundary ADR and the page cursor ADR first. Map page.Page[T] to Relay
connections (edges, cursors, PageInfo, first/after/last/before) for gqlgen without
depending on any one schema. Shape it from this first consumer: <project and query>.
Nested module CI and release rules already exist from connect (#10); follow them.
Independent review before the PR.
This issue records a decision so it doesn't get lost. **Don't start on it** until a trigger below is met. ## Decision (2026-10-26) - **`gql` (Relay connections over `page`).** Don't build it yet. - It has no consumer: Lark Relay uses Connect. - Bibleschool, the only gqlgen project, is staying on go-jet. It's swapping its infrastructure to corestack but not migrating its queries to Bob. - **Bob codegen plugins.** Don't build them until the adapter glue has been written by hand in at least two projects. A generator written before that would lock in a design nobody has used yet. ## Triggers - **Build `gql` when** a project chooses gqlgen with Bob, for example if the Sightline SaaS layer goes that way, or if Bibleschool does write new feature areas in Bob. Build it alongside that first consumer, the same way `connect` (#10) is built with Lark Relay. It becomes a nested module (`gql/v0.1.0`). - **Build codegen when** two projects contain near-identical hand-written adapter code. Generate the boilerplate and keep the logic in the libraries. <details> <summary>Kickoff prompt (gql, once triggered)</summary> ```text Use the feature-delivery skill to add the gql nested module in corestack/go per corestack/go#11. Repo ~/Projects/corestack/go, base main, branch feat/gql. Read AGENTS.md, the module-boundary ADR and the page cursor ADR first. Map page.Page[T] to Relay connections (edges, cursors, PageInfo, first/after/last/before) for gqlgen without depending on any one schema. Shape it from this first consumer: <project and query>. Nested module CI and release rules already exist from connect (#10); follow them. Independent review before the PR. ``` </details>
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: corestack/go#11