Found while repairing published-README member-existence claims (#10893). Filed unassigned, no pm:queue — triage's call. ⛔ Deliberately NOT folded into #10893: that card's remedy is scoped to published markdown, and this is a runtime operator message plus a spec docblock, which is a different surface and a different fix.
The observation
@objectstack/knowledge-turso is in no directory of this repo. Measured on origin/main at 409077e93c:
git ls-tree -r --name-only origin/main | grep -c "/knowledge-turso/" # -> 0
The knowledge adapters this repo actually builds are @objectstack/knowledge-memory and @objectstack/knowledge-ragflow.
Three in-repo sources nonetheless present it as a shipping package, and one of them says so to an operator, at runtime:
| where | what it says |
|---|
packages/services/service-settings/src/manifests/knowledge.manifest.ts:13-15 | Adapter list mirrors the plugin packages currently published: … turso @objectstack/knowledge-turso |
packages/services/service-settings/src/manifests/knowledge.manifest.ts:158 | validation message: Turso adapter configured (${u}). Mount @objectstack/knowledge-turso to exercise live calls. |
packages/spec/src/contracts/embedder.ts:9, 44 | names @objectstack/knowledge-turso and @objectstack/knowledge-sqlite-vec as the adapters that consume IEmbedder |
The middle row is the sharp one: an operator who selects the turso knowledge adapter in Settings → AI & Embedder is told, by the running product, to install a package. If that package is not published anywhere, the instruction is unfollowable; if it is published from a sibling or private repo, nothing in this repo records that.
Why it is worth a card
IEmbedder currently has no consumer in this repo at all: KnowledgeMemoryPluginOptions is { id?: string } and KnowledgeRagflowAdapterOptions has no embedder field, so neither in-repo adapter computes vectors through one. The contract's stated consumers are exactly the two packages that are not here. That makes the embedder surface either (a) an interface awaiting an out-of-repo implementation, which should be said plainly, or (b) a published capability with no consumer, which is the shape ADR-0049's enforce-or-remove reasoning applies to.
Deciding between those is not a documentation edit, which is why this is filed rather than fixed.
What was already fixed, so it is not re-found
PR for #10893 repaired packages/plugins/embedder-openai/README.md, whose fenced ```ts block imported KnowledgeTursoPlugin from that package — the paste-and-run hazard. That README now states the gap explicitly. The runtime message and the spec docblock are untouched.
Suggested disposition
Answer the prior question first — is @objectstack/knowledge-turso published anywhere? — then either record where it ships (and make the manifest comment say so instead of "currently published"), or drop the turso adapter option and the docblock's claim.
Refs: #10893 (where this was found, and the README half) · #9532 / #10368 (the member-existence class)
Found while repairing published-README member-existence claims (#10893). Filed unassigned, no
pm:queue— triage's call. ⛔ Deliberately NOT folded into #10893: that card's remedy is scoped to published markdown, and this is a runtime operator message plus a spec docblock, which is a different surface and a different fix.The observation
@objectstack/knowledge-tursois in no directory of this repo. Measured onorigin/mainat409077e93c:The knowledge adapters this repo actually builds are
@objectstack/knowledge-memoryand@objectstack/knowledge-ragflow.Three in-repo sources nonetheless present it as a shipping package, and one of them says so to an operator, at runtime:
packages/services/service-settings/src/manifests/knowledge.manifest.ts:13-15Adapter list mirrors the plugin packages currently published:…turso @objectstack/knowledge-tursopackages/services/service-settings/src/manifests/knowledge.manifest.ts:158Turso adapter configured (${u}). Mount @objectstack/knowledge-turso to exercise live calls.packages/spec/src/contracts/embedder.ts:9, 44@objectstack/knowledge-tursoand@objectstack/knowledge-sqlite-vecas the adapters that consumeIEmbedderThe middle row is the sharp one: an operator who selects the
tursoknowledge adapter in Settings → AI & Embedder is told, by the running product, to install a package. If that package is not published anywhere, the instruction is unfollowable; if it is published from a sibling or private repo, nothing in this repo records that.Why it is worth a card
IEmbeddercurrently has no consumer in this repo at all:KnowledgeMemoryPluginOptionsis{ id?: string }andKnowledgeRagflowAdapterOptionshas no embedder field, so neither in-repo adapter computes vectors through one. The contract's stated consumers are exactly the two packages that are not here. That makes the embedder surface either (a) an interface awaiting an out-of-repo implementation, which should be said plainly, or (b) a published capability with no consumer, which is the shape ADR-0049's enforce-or-remove reasoning applies to.Deciding between those is not a documentation edit, which is why this is filed rather than fixed.
What was already fixed, so it is not re-found
PR for #10893 repaired
packages/plugins/embedder-openai/README.md, whose fenced```tsblock importedKnowledgeTursoPluginfrom that package — the paste-and-run hazard. That README now states the gap explicitly. The runtime message and the spec docblock are untouched.Suggested disposition
Answer the prior question first — is
@objectstack/knowledge-tursopublished anywhere? — then either record where it ships (and make the manifest comment say so instead of "currently published"), or drop thetursoadapter option and the docblock's claim.Refs: #10893 (where this was found, and the README half) · #9532 / #10368 (the member-existence class)