Reading guide for reviewing the fork's Strawberry Shake pull requests. Each cluster of PRs maps to the upstream (ChilliCream/graphql-platform) source you should read to understand the change. Source links point to upstream main; the three fork-only files (FORK.md, ci-fork.yml, release-fork.yml) have no upstream equivalent and live on the stackworx-dotnet fork.
The Strawberry Shake generator is a 3-stage pipeline: analyze (GraphQL → model) → map (model → descriptors) → generate (descriptors → C#). Read the Foundation once, then the group(s) you care about.
Foundation — the codegen pipeline (read first)
Group 1 — fragments / interfaces / unions
Understand PRs #9, #7, #8, #10, #15. These hinge on how selections and fragments become output-type models.
Group 2 — runtime result-builder & entity store
Understand PRs #11, #12. Both edit the generator that emits the runtime deserialization/entity-update code.
Group 3 — operation/service generation & uploads
Understand PR #14.
Group 4 — codegen performance
Understand PRs #18, #19, #20 (verify behavior is identical — no snapshot changes expected).
Group 5 — Razor/Blazor: persisted state, interface type, bUnit
Understand PRs #2, #3, #5. Read FORK.md "Tracked work items 1 & 2" first — the intent spec.
Group 6 — transport: SSE subscription streaming
Understand PR #16.
Group 7 — fork CI & publishing
Understand PRs #4, #5.
Group 8 — validation fuzzing
Understand PR #6 (review = the findings + method, not a code change).
Suggested path: Foundation first, then Group 1 and Group 2 (they unlock #7/#8/#9/#10/#11/#12/#15 and make the perf and Razor groups easy). Groups 6–8 are independent and can be read standalone.
All source links target the upstream repo ChilliCream/graphql-platform on main; the fork-only files (FORK.md, ci-fork.yml, release-fork.yml) have no upstream equivalent and link to the stackworx-dotnet fork. Upstream main moves forward, so if a file is later renamed upstream a link may drift; ping to pin them to the fork's base commit (6e5b640166) instead.
— Claude
🤖 Generated with Claude Code
Reading guide for reviewing the fork's Strawberry Shake pull requests. Each cluster of PRs maps to the upstream (
ChilliCream/graphql-platform) source you should read to understand the change. Source links point to upstreammain; the three fork-only files (FORK.md,ci-fork.yml,release-fork.yml) have no upstream equivalent and live on thestackworx-dotnetfork.The Strawberry Shake generator is a 3-stage pipeline: analyze (GraphQL → model) → map (model → descriptors) → generate (descriptors → C#). Read the Foundation once, then the group(s) you care about.
Foundation — the codegen pipeline (read first)
ClientModel.Group 1 — fragments / interfaces / unions
Understand PRs #9, #7, #8, #10, #15. These hinge on how selections and fragments become output-type models.
CollectFieldsdescending into abstract named fragments).GetFieldTypeDescriptor+ OperationModel.csTryGetFieldResultType.Group 2 — runtime result-builder & entity store
Understand PRs #11, #12. Both edit the generator that emits the runtime deserialization/entity-update code.
default!-overwrite loses data (fix(strawberryshake): preserve entity fields across differing selection sets (#8063) #11) and why throwing on unknown__typenamebreaks (fix(strawberryshake): degrade gracefully on unknown abstract type at runtime #12).Group 3 — operation/service generation & uploads
Understand PR #14.
uvariable + duplicateMapFilesFromType).Group 4 — codegen performance
Understand PRs #18, #19, #20 (verify behavior is identical — no snapshot changes expected).
Group 5 — Razor/Blazor: persisted state, interface type, bUnit
Understand PRs #2, #3, #5. Read FORK.md "Tracked work items 1 & 2" first — the intent spec.
Group 6 — transport: SSE subscription streaming
Understand PR #16.
Group 7 — fork CI & publishing
Understand PRs #4, #5.
Group 8 — validation fuzzing
Understand PR #6 (review = the findings + method, not a code change).
Suggested path: Foundation first, then Group 1 and Group 2 (they unlock #7/#8/#9/#10/#11/#12/#15 and make the perf and Razor groups easy). Groups 6–8 are independent and can be read standalone.
All source links target the upstream repo
ChilliCream/graphql-platformonmain; the fork-only files (FORK.md,ci-fork.yml,release-fork.yml) have no upstream equivalent and link to thestackworx-dotnetfork. Upstreammainmoves forward, so if a file is later renamed upstream a link may drift; ping to pin them to the fork's base commit (6e5b640166) instead.— Claude
🤖 Generated with Claude Code