playground - #1565
Draft
hayes wants to merge 124 commits into
Draft
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
@pothos/core
@pothos/plugin-add-graphql
@pothos/plugin-complexity
@pothos/plugin-dataloader
@pothos/plugin-directives
@pothos/plugin-drizzle
@pothos/plugin-errors
@pothos/plugin-example
@pothos/plugin-federation
@pothos/plugin-grafast
@pothos/plugin-mocks
@pothos/plugin-prisma
@pothos/plugin-prisma-utils
@pothos/plugin-relay
@pothos/plugin-scope-auth
@pothos/plugin-simple-objects
@pothos/plugin-smart-subscriptions
@pothos/plugin-sub-graph
@pothos/plugin-tracing
@pothos/plugin-validation
@pothos/plugin-with-input
@pothos/plugin-zod
@pothos/tracing-newrelic
@pothos/tracing-opentelemetry
@pothos/tracing-sentry
@pothos/tracing-xray
commit: |
- ledger S15-S18 (stay on topic, no edge-case options on mainline pages, explicit optionality, don't enumerate unused API surface) + U5 (no Next:/See-also callouts; next/prev buttons already exist) - first-server: GraphQLSchema compatibility phrasing, arg nullability teaching cut - schema-builder: generic entries explicitly optional; Defaults v3 and notStrict coverage cut - queries: queryType second argument unmentioned - Next:/See-also callouts removed across getting-started + batch-1 pages Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rewritten through the calibrated pipeline (dossiers, draft, adversarial fact-check, slop screen, orchestrator read): - objects: Character-first (was Race); new options-split section (F3); backing model's single teaching home; three definition styles as equals with working variant switcher; instanceof affordance (F4); builder-types described as centralizing definitions (F2) - fields: expose helpers, computed fields, lists, objectField(s); new nullability section — v4 fields verified nullable by default from source (builder.ts defaultFieldNullability) - bundles rewritten on the canonical cast sheet with region markers Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… sugar-order - objects: type references taught generically (S19); backing model carried by the reference in all forms and fully separate from the GraphQL shape (S20); plain array data, single-type returning example (S21); per-style framing (S22); no orphan intro (S25); objectType's accepted params (class | ref | registered name) verified from type-params.ts - fields: reordered to sugar progression (S23) — t.field, scalar builders as t.field with type preset, expose helpers as scalar builders with a synthesized property resolver (verified in fieldUtils); rename example now visible in snippet (S24) - ledger S19-S25 + U6; tab-button report: renders identically at HEAD, only real difference is client-side mount of inactive tabs Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rewritten through the calibrated pipeline (dossiers, drafts, adversarial fact-check, slop screen, orchestrator read): - resolvers: executor behavior attributed to graphql-js (ledger F6); honest info paragraph grounded in cited prisma/drizzle usage; real async data-access example - context: teaching home for the factory + narrowing idiom; ctx.user canonical; initContextCache claim un-inverted (stable key survives context copying — verified against context-cache.ts) - args: fixed verified-wrong readonly string[] claim (list args are mutable); optional-by-default stated explicitly; sugar-order framing - new dossiers: resolvers, context, args, inputs, mutations; ledger F6 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rewritten through the calibrated pipeline: - inputs: real nested + recursive (inputRef) examples; isOneOf documented (maps to graphql-js @OneOf, exactly-one-key TS shape); same-options referral to Arguments instead of re-teaching - mutations: false 'exactly once' rule fixed; serial execution of root mutation fields added with executor attribution; row-level ownership as the page's core teaching; return-the-entity convention - subscriptions: subscriptionType taught explicitly as the third root; unverified subscribe-before-resolve callout dropped; addCharacter now publishes and returns the entity; honest playground validate-only note - new dossier: subscriptions Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rewritten through the calibrated pipeline: - interfaces: home of resolveType (string return — the ref-return path verified NOT to work for interfaces) and isTypeOf with the class instanceof example; Pothos's interface-field auto-merge verified (build-cache getObjectFields) and taught accurately; two-check split (backing-model assignability vs graphql-js field compatibility) - unions: resolveType referral to its interfaces home; members object-only; unions-vs-interfaces stated once, factually; search demo now returns a genuine mix of member types - new dossiers: interfaces, unions Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Preserving pass against the ledger: See-also callouts removed (U5); snap contrasts, mic-drops, aphorisms, over-advising trimmed; F6 attributions corrected. Fact fixes found and verified: - circular-references: invented thunk form (type: () => [Faction]) replaced with the real builder-types string-name alternative - default-nullability: false claim that DefaultFieldNullability affects argument requiredness removed (separate slot) - handling-errors: plugin-errors types option takes error classes, not object refs; 'logged once' corrected to errors-array entry - reusable-fields: invented shared Ref<Types, T> type removed - circular-references bundle: plain arrays + real ids (S9/S21) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…plete) - enums: fixed inverted name-vs-value teaching (keys are the GraphQL enum values clients see; 'GOOD'-style strings are internal backing); removed as-const ceremony the const type parameter makes redundant (verified against 7c191da, which deleted it from the tests) - scalars: ID taught as the genuine Input/Output asymmetry (verified incl. bigint serialization in graphql 17); parsing attributed to graphql-js (F6); Using-the-scalar block single-sourced from bundle - new dossiers: enums, scalars Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Preserving pass against the ledger: See-also callouts + unused imports removed (U5); over-advising/mic-drops trimmed (S7/A9); objectType param forms stated neutrally (S1); isTypeOf timing attributed to execution (F6); design.mdx ORM-slot claim aligned with F2 (generic slots carry generated type info, not name wiring). api/* signatures spot-verified against core (all accurate); migrations left in their own register. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Preserving pass against the ledger across all single-page plugins: See-also callouts removed (U5); selling register stripped (plugin pages state what the plugin does, they don't pitch); F6 attributions fixed (DataLoader batching to the library; tracing to server/envelop; federation/grafast to their runtimes). Every API name verified against its plugin's source; fixed invented/wrong names on relay (t.nodes -> t.nodeList; globalConnectionField is a builder method) and the errors-page intro/table contradiction (errors.types takes classes). Catalog one-liners in components/plugins/plugins.ts de-sold. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Preserving pass: See-also callouts removed tree-wide (U5), selling register and em-dash chains trimmed, over-advising softened (S7/S1). Every API name verified against plugin sources — none invented. Cross-tree parity mapped for maintainer review: drizzle thinner on connections (cursor parsing, shared objects, edge extension), relay missing-records, relations fallback-queries; richer on interfaces and computed fields; prisma-utils has no drizzle equivalent. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Overview page: last remaining See-also callout removed (U5) - project-layout: third 'This page walks through' stem varied (A4) - scope-auth: viewer naming retired page-wide for the canonical ctx.user - .claude/docs-review-guide.md: grouped review guide for the maintainer Full gates green: 65 playground refs, test:docs, 48 example tests, next build (172 pages). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Codified from maintainer review as ledger S26-S38: trust the reader (no over-explaining the obvious, no docs-about-the-docs, no prior-page restatements), one idea per sentence, examples over narrative, concept-level descriptions, no naming-convention opinions, inputs declared like refs, initContextCache in every factory example, recommend scope-auth plainly, omit throwing semantics for now. NEW: automated slop lint (website/tests/docs-slop-lint.test.ts, wired into test:docs) — banned-phrase regexes, max 2 prose em-dashes per page, opener-stem and ctx.viewer checks. Baseline was 87 failing pages; now 0. All ~35 round-6 comments addressed across objects/fields/resolvers/ context/args/inputs. Investigations settled two challenged facts: isTypeOf is NOT auto-derived for classes (core's own tests write it), and the recursive input shape is CORRECT (inputRef recursively null-normalizes optional fields — now documented in one sentence). Resolvers' Throwing section removed (S36). UI: 72ch paragraph cap removed (full-width regression) and description restyled as a muted subtitle bound to the title. Gates: 66 refs, test:docs 239 passed, 48 example tests, next build. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Deeper smell-family sweep across the 18 plugin prose pages (hedge filler, editorializing, self-characterization, reader-feelings meta, rhetorical triads). The hand-found patterns are now lint regexes per S38: 'which is useful/helps', 'the cleanest/best/right way', 'pays off', 'worth it when', 'for exactly this'. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Section/title/description now differ by role, not just size: accent uppercase kicker for the section (matches the plugins-index pattern), weight/tracking-led 42px title, muted 60ch description, hairline rule bounding the header from the article. Header height 198px -> 157px; fixes an unmanaged first-h2 margin and a mobile sticky-TOC overlap. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
No description provided.