Uh oh!
There was an error while loading. Please reload this page.
docs(spec): drop stale GraphQL references and stale header provenance - #11346
Merged
Conversation
`GraphQL` was retired as a product surface (packages/spec/src/api/ has zero GraphQL sources, the /graphql dispatcher route was removed, and `graphql` was never actually a CoreServiceName). Two places in the package still asserted otherwise: - CATEGORY_BLURBS.api in build-docs.ts read "REST/GraphQL contracts, ..." — drop /GraphQL and regenerate content/docs/references/index.mdx (the only file that blurb feeds — no hand-edit). - packages/spec/llms.txt (hand-kept, ships in the npm tarball) listed an IGraphQLService contract row. Deleted it — IGraphQLService is declared nowhere in packages/**/src, and unlike the neighbouring IUIService DEPRECATED row it has no replacement to point readers at. Also drops llms.txt's hand-typed `Schema Count` / `Last Updated` header lines rather than refreshing them: measured against the current tree, packages/spec now publishes 1,585 schemas across 418 test files — an order of magnitude past the stale claim — and this file has no generator to keep a refreshed number honest past the next PR that touches the package. Fixes#10834Fixes#10833 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RadETjNRLALFLhFA3xehZP
Contributor
📓 Docs Drift CheckNothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 1 changed package(s)), so this run has no opinion about the docs. What this run could not see
Coarse fallback — 126 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
os-sam
marked this pull request as ready for review
August 23, 2026 13:36
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 23, 2026
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 freeto 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.
Fixes#10834
Fixes#10833
Summary
GraphQL was retired as a product surface some time ago:
packages/spec/src/api/has zero GraphQL sources, the/graphqlHTTP route was removed from the dispatcher (out of the product plan, per its own#2462 follow-oncomment), andgraphqlwas never actually aCoreServiceName— it only ever existed as a stray entry in the service-provider table and in metadata-protocol's discovery table (see the comment aboveSERVICE_PROVIDER_TABLEinpackages/spec/src/system/core-services.zod.ts). Two places in@objectstack/specstill asserted GraphQL was live.#10834 — generated docs blurb
CATEGORY_BLURBS.apiinpackages/spec/scripts/build-docs.tsread'REST/GraphQL contracts, endpoints, routing, realtime, batch, discovery.'. Dropped/GraphQL.pnpm --filter @objectstack/spec gen:docs. The only file that blurb feeds iscontent/docs/references/index.mdx(two occurrences: the Quick Navigation table row and the API Protocol section body) — no other generated page changed, and nothing was hand-edited.git status --porcelainafter the regen shows onlycontent/docs/references/index.mdxtouched — no overlap with PR docs(spec): redirect thecontributes.routesrecommendation to the imperativehttp.servermount #11327'scontent/docs/references/api/dispatcher.mdxorcontent/docs/references/ui/app.mdx.#10833 — hand-kept
llms.txtpackages/spec/llms.txt(confirmed hand-kept — no generator produces it) listed anIGraphQLServicecontract row (execute, subscribe) under Service Contracts. VerifiedIGraphQLServiceis declared nowhere inpackages/**/src(grep -rn "IGraphQLService" packages/ --include="*.ts"→ no hits), then deleted the row rather than marking it**DEPRECATED**like the neighbouringIUIServicerow. That precedent fits a contract with a real replacement to point readers at (IUIService→IMetadataService.getView()etc.);IGraphQLServicehas none — GraphQL is out of the product plan, not superseded by another contract, so a deprecation note would invent a migration path that doesn't exist.**Schema Count**: 171 Zod schemas, 191 test files, 5,157 testsand**Last Updated**: 2026-02-12rather than refreshing them. Measured against the current tree:packages/specnow publishes 1,585 schemas (per the freshly regeneratedcontent/docs/references/index.mdxroot index, itself derived from the same JSON Schema output the reference pages are built from) across 418*.test.tsfiles (find packages/spec -iname "*.test.ts" -not -path "*/dist/*" -not -path "*/node_modules/*" | wc -l) — both roughly an order of magnitude past the stale claim. Since this file has no generator and nothing re-verifies these numbers on change, a refreshed count would start drifting again on the very next PR that touches the package; removing the assertion is more honest than restating a number this file has no mechanism to keep true. The larger "shouldllms.txtbe generated" question is left to the PM as a follow-up, not decided here. Left the**Version**: 3.0.0line untouched — out of the scope named for this card.llms.txtships in the@objectstack/specnpm tarball (enforced bycheck:published-files), so per the docs(spec): align the skill.tools docblock with ADR-0109's authoring model #10669 precedent (skill.toolsdocblock, also prose shipped in the tarball) this change is graded with a changeset rather than skipped.Premise re-measurement (done before editing)
packages/spec/src/api/: zero GraphQL files — confirmed./graphqlroute: removed atpackages/runtime/src/http-dispatcher.ts(comment at the removal site:// /graphql removed — GraphQL is not in the product plan (#2462 follow-on)., line 2087, matches the ~2026 pointer).graphqlasCoreServiceName: confirmed absent; the table's own comment (core-services.zod.ts~130-135) explains it "was never aCoreServiceName".IGraphQLService: confirmed declared nowhere inpackages/**/src.Gates run (all local, none skipped)
Derived via
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstackon the actual diff (.changeset/docs-graphql-stale-references.md,content/docs/references/index.mdx,packages/spec/llms.txt,packages/spec/scripts/build-docs.ts). All ran throughscripts/pm/os-verify-lock.sh, exit codes captured before any pipe.pnpm --filter @objectstack/spec check:docs→✅ 229 generated files in sync with packages/specpnpm check:changeset-gate-self-tests→ pass (3 self-test suites)pnpm check:cross-package-test-inputs→OK: 14 package(s) read outside themselves, all declaredpnpm check:doc-anchors→ passpnpm check:doc-authoring→ passpnpm --filter @objectstack/lint run check:doc-formula-expressions→ pass (after building@objectstack/lint's dependency closure, which was not yet built in the fresh worktree)pnpm --filter @objectstack/lint run check:doc-security-posture→ pass (same dependency-build note)pnpm check:docs-audit-scope→ passpnpm check:docs-redirects→ passpnpm --filter @objectstack/spec run check:empty-state→ passpnpm --filter @objectstack/spec run check:liveness→ passpnpm check:merge-driver→ passpnpm check:objectui-changeset→✓ objectui-range --self-test: all checks passedpnpm check:published-files→✓ 69 publishable package(s) of 78 workspace member(s) declare a files whitelist…pnpm check:published-readme-links→ passpnpm check:quick-reference-counts→ passpnpm check:role-word→ passpnpm check:slot-lookup→ passpnpm --filter @objectstack/spec run check:strictness-ledger→ passpnpm check:test-source-alias→ passpnpm check:type-source-resolution→ passpnpm --filter @objectstack/spec run check:variant-docs→ passnode scripts/check-adr-0087-registration.mjs→✓ this PR adds no declared-breaking changesetnode scripts/check-changeset-no-major.mjs→✓ This diff introduces no major bumpnode scripts/check-ci-filter-parity.mjs→ passnode scripts/check-cross-package-test-inputs.mjs→ passnode scripts/check-dev-prereqs.mjs --self-test→ pass (CI only ever runs this script's--self-testperlint.yml; the unflagged form requires the full 67-package workspace built, out of scope for a docs-only diff and not what CI gates on)node scripts/check-doc-frontmatter.mjs→✓ 403 page(s) under content/docs parse…node scripts/check-empty-changeset.mjs→ passnode scripts/check-plugin-teardown-shape.mjs→ passnode scripts/check-section-landing-index.mjs→ passnode scripts/docs-audit/check-affected-docs.mjs→ passpnpm --filter @objectstack/spec typecheck→ passUnion re-run at the final commit, clean tree, sha
f55523207:pnpm --filter @objectstack/spec check:docsre-confirmed green (✅ 229 generated files in sync with packages/spec).Scope
packages/spec/scripts/build-docs.ts, the regeneratedcontent/docs/references/index.mdxprojection,packages/spec/llms.txt, and.changeset/docs-graphql-stale-references.md. Nopackages/spec/src/**touch, nocontent/docs/releases/touch.Generated by Claude Code
Generated by Claude Code