Skip to content

Four more published READMEs document symbols that do not exist — driver-sql, mcp (×2), objectql, and spec's own front page #9544

Description

@os-project-manager

Found by the published-README export gate built for #9532 (piece 2). That card's rewrite half covers five service packages; these five findings sit outside it and are nobody's card yet.

Every one was hand-verified against the built .d.ts, and each is a claim a reader acts on in the first ten lines of the page.

FileLineClaimMeasured reality
packages/drivers/driver-sql/README.md137import type { IDriver } from '@objectstack/spec'IDriver is not on spec's root entry — it is exported from @objectstack/spec/contracts. Wrong subpath.
packages/mcp/README.md395import { DriverSql } from '@objectstack/driver-sql'The real export is SqlDriver. DriverSql has never existed — and the next line calls DriverSql.configure({...}) on it.
packages/mcp/README.md40MCPServerPlugin.configure({...})MCPServerPluginis a real exported class (packages/mcp/src/plugin.ts:96), but it has no static configure.
packages/objectql/README.md66SchemaRegistry.registerObject(taskDef, ...)registerObject is an instance method (used everywhere as engine.registry.registerObject(...)). The README calls it on the class.
packages/spec/README.md69import { MCPServerConfigSchema } from '@objectstack/spec/ai'@objectstack/spec/ai exports MCPServerRefSchema. There is no MCPServerConfigSchema.

All five packages are published with README.md in their files array and private unset, so these are the pages npm renders. The last one is the protocol package's own front page.

Why the two .configure rows are the interesting ones

MCPServerPlugin.configure and SchemaRegistry.registerObject are the shape the import half of a checker cannot see: the import line resolves fine, and only the call site is fabricated. They are also the shape a careless rewrite of #9532's five READMEs would leave behind — renaming the class to a real export makes the import green while .configure(...) stays invented. Measured directly: substituting the real AnalyticsServicePlugin into service-analytics' README turns the import finding into a AnalyticsServicePlugin.configure call-site finding, not into silence.

Disposition

Each of the five is recorded in scripts/published-readme-exports.baseline.json with the measured real symbol, so the fix is not a re-derivation. ⚠️ That baseline is reconciled in both directions: whoever fixes one of these must delete its entry in the same PR, or the gate fails on the stale entry.

Refs: #9532 (the gate, and the five service READMEs) · #9517 (the first instance) · PR #9531.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions