Skip to content

[finding] Five GraphQL residue sites in skills/** still teach a removed surface, and one is mirrored into ai/skills-reference.mdx #10846

Description

@os-zhuang

Found while implementing #10832 (the /graphql endpoint contract in content/docs/api/).
Filed rather than fixed: the source of truth is skills/**, which is governed /
human-merge-only
, so patching the consumer doc page alone would only make it disagree with
the skill it catalogs.

The residue

/graphql is not mounted — packages/runtime/src/http-dispatcher.ts:2026 is
// /graphql removed — GraphQL is not in the product plan (#2462 follow-on), there is no
createGraphQLDomain among the fifteen domains at http-dispatcher.ts:556-574 (0 hits
repo-wide in packages/*/src), and no handleGraphQL in the runtime. Five sites in the
shipped skills still describe it as live:

SiteTextWhy it is wrong
skills/objectstack-api/SKILL.md:19tags: rest, graphql, endpoint, auth, realtime, serverThe skill's own description one line above lists REST endpoints, auth providers, realtime channels, error envelopes, batch/versioning contracts — no GraphQL. The tag contradicts the body.
skills/objectstack-data/SKILL.md:94`apiEnabled` | `true` | Expose via automatic REST / GraphQL APIsThere is no automatic GraphQL API. apiEnabled exposes REST (and MCP).
skills/objectstack-platform/SKILL.md:395Mount explicit routes for auth, GraphQL, storage, discovery/graphql is not mounted at all. (/storage in the same line is also stale — per http-dispatcher.ts:556-574's comment the two-route storage bridge was retired in #4087 and service-storage mounts its own surface.)
skills/objectstack-formula/SKILL.md:428| `GraphQL.ComputedField` | `expression` | cel |Listed as a CEL expression host. No such surface exists.
skills/objectstack-formula/SKILL.md:479| `api/graphql` | cache key |Same — names a api/graphql coordinate that has no module.

The mirror

content/docs/ai/skills-reference.mdx:156 reproduces the first row verbatim
(**Tags:** rest, graphql, endpoint, auth, realtime, server``). That page is
hand-written and is a catalog of the skills, so it should be corrected in the same change
as skills/objectstack-api/SKILL.md:19 — not before it, or the catalog and the skill drift
apart in the other direction.

Why this is worth a card

These files are the ones AI assistants load to learn the platform. A tag and a property table
that name a surface the runtime removed is exactly the input that generates client code
against a route which 404s — the same failure mode #10710 and #10832 fixed on the human-facing
docs, but aimed at the generated-code path instead of the reader.

Note skills/** is scanned by check:role-word (its own output reports skills 36 files), so
the corpus is already in a gate's population — it is reachable, just not checked for this.

Not in scope: skills/objectstack-formula/SKILL.md rows that name GraphQL as a general
industry concept, if any reviewer finds them; the five above all assert an ObjectStack surface.

Back-links: #10832, #10710, #10583, #10835

Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions