Repository navigation
feat(cms): add efficient relation pages and content projections - #296
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
olliethedev
marked this pull request as ready for review
October 28, 2026 19:20
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Suspend only speculative identity B, wait for the committed A list, and verify A remains committed and refreshes without populating B. The prior global suspension flag made cache cleanup depend on React scheduling. Twenty full Media-suite runs pass, and an injected render-phase scope ownership regression is still detected.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Preserve default responses and authorization. Full, content, and projected variants have separate cache identities, equivalent field sets share an identity, and mutations refresh affected variants. Existing SSR/SSG paths retain serialized timestamps and matching hydration envelopes.
Closes #290
Closes #291
Closes #292
Closes #293
Closes #294
Evidence
Before: A default-limited adapter regression returned zero of 125 matching source records after unrelated relation rows; different relation page sizes shared a cache entry.
After: Direct and inverse reads return all successive unique pages with deterministic ordering, while full payload retrieval stays limited to requested page IDs.
Before: Content views and field selections retained editor data or shared full-response caches.
After: Operation/HTTP/getter/resource tests verify exact reduced envelopes; literal punctuation, Unicode and declared-dot names; invalid selections; optional/null/nested values; authorization and race checks; projected picker search/preloads; mutation freshness; and prefetch/type parity.
Final head: build, typecheck, lint, Knip and docs production build pass. 1,191 Stack + 198 CLI unit tests, 115 CMS/relation/SSG browser tests across Next.js, React Router and TanStack (SSG on Next.js), 7 release-gate tests, and 15 product-proof tests pass.
Regenerated registry output is clean. A fresh packed registry consumer installs all nine plugin items and builds successfully. Built-export type probes verify default/content/static-field and dynamic-field results.
Standards and spec reviews have no remaining material findings. Adapter coverage uses memory plus a default-limited/counting fixture; named production database adapters were not run.
Media concurrency regression waits for committed user A and suspends only speculative user B. It verifies A refreshes and B stays uncached, removing a scheduler-dependent cache-eviction assertion. Twenty repeated Media-suite runs pass, and an injected render-phase ownership fault still makes the test fail; the CI repair is confined to this test.
Full CI/CD verification passes on
6156e2f9: all five workflows, all expected jobs, and both Vercel deployments. The repository release gate passed after two matching evidence collections.Merge Danger
Door: two-way
No schema migration or new dependency. Reduced output is opt-in; existing calls retain their envelopes and access checks.
Blast Radius: CMS
Relation retrieval, read typing, query cache identities and prefetch hydration. Output projection reduces response payloads; stored JSON may still be fetched and parsed, and relation ID/metadata scans grow with cardinality.