Skip to content

[libgraphql-core-v1] Update plan: operation types use 'schema lifetime (AD17)#100

Merged
jeffmo merged 3 commits into
mainfrom
lgcore_v1_plan_update
Apr 13, 2026
Merged

[libgraphql-core-v1] Update plan: operation types use 'schema lifetime (AD17)#100
jeffmo merged 3 commits into
mainfrom
lgcore_v1_plan_update

Conversation

@jeffmo

@jeffmo jeffmo commented Apr 13, 2026

Copy link
Copy Markdown
Owner

Summary

Updates the implementation plan to reflect the 'schema lifetime design for all operation types, established through discussion before proceeding with Tasks 16+.

New Architectural Decision: AD17

All operation types (Operation, SelectionSet, Selection, FieldSelection, InlineFragment, FragmentSpread, Fragment, FragmentRegistry, ExecutableDocument) carry a 'schema lifetime, borrowing from &'schema Schema. This enables zero-copy access to schema definitions instead of pre-resolved metadata copies.

Key changes to plan:

  • AD11 updated: FieldSelection holds &'schema FieldDefinition + &'schema GraphQLType refs instead of field_return_type_name/parent_type_name/requires_selection_set
  • Task 18 (Operation types): All code sketches updated with 'schema lifetime, serde derives removed
  • Task 19 (Operation builders): Lifetime renamed from 's to 'schema throughout
  • Task 21 (Macro runtime): Notes operations are excluded from serde support
  • Variable and OperationKind remain owned (schema-independent)

No code changes — plan doc only.

🤖 Generated with Claude Code

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the libgraphql-core-v1 implementation plan to reflect the AD17 architectural decision: operation types borrow from &Schema via a 'schema lifetime to enable zero-copy access to schema definitions.

Changes:

  • Updated the high-level architecture summary and AD11 to align FieldSelection with schema-borrowing references (vs pre-resolved metadata).
  • Added AD17 documenting the 'schema lifetime design across operation types and the resulting removal of serde support for operations.
  • Updated Task 18/19 code sketches and notes to use 'schema consistently and reflect the new borrowing model.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread libgraphql-core-v1-plan.md Outdated
Comment thread libgraphql-core-v1-plan.md Outdated
Comment thread libgraphql-core-v1-plan.md Outdated
Comment thread libgraphql-core-v1-plan.md
Comment thread libgraphql-core-v1-plan.md

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread libgraphql-core-v1-plan.md
Comment thread libgraphql-core-v1-plan.md
@jeffmo jeffmo merged commit d1e01e4 into main Apr 13, 2026
24 checks passed
@jeffmo jeffmo deleted the lgcore_v1_plan_update branch April 13, 2026 05:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants