Skip to content

docs(cf): document pool read-isolation limitation + multi-pool guidance#67

Merged
techiejd merged 2 commits into
mainfrom
docs/cf-pool-isolation
Jun 12, 2026
Merged

docs(cf): document pool read-isolation limitation + multi-pool guidance#67
techiejd merged 2 commits into
mainfrom
docs/cf-pool-isolation

Conversation

@techiejd

@techiejd techiejd commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Documentation-only. Splits the CF README docs out of #62 (findByIds) into their own PR.

CF search/findByIds ignore knowledgePool, so multiple pools sharing one binding are not read-isolated — a query for one pool can return another pool's vectors. deleteChunks/hasEmbeddingVersion scope correctly, and pg/mongodb isolate reads by pool (each pool is a separate table/collection), so CF is the outlier.

Changes (adapters/cf/README.md)

  • Rewrite "Multiple Knowledge Pools" — the adapter is effectively single-pool today (one binding, one dbAdapter; a second payloadcmsVectorize(...) invocation overwrites the first). Replaces the prior two-integration example, which doesn't actually work.
  • Document workarounds — separate Payload deployments for true isolation, or application-layer filtering (vector-id prefix, or a discriminator extensionField via search's where; note findByIds has no where).
  • Known Limitations bullet naming the read leak.
  • Help wanted — a { knowledgePool: binding } map for native multi-pool support (real per-pool isolation + per-pool dims).

No code changes; behavior is unchanged. Base main.

techiejd added 2 commits June 7, 2026 08:43
CF search/findByIds ignore knowledgePool, so multiple pools sharing one binding
are not read-isolated (a query for one pool can return another's vectors).
deleteChunks/hasEmbeddingVersion scope correctly; pg/mongodb isolate reads by
pool — CF is the outlier.

- Rewrite "Multiple Knowledge Pools": the adapter is effectively single-pool
  today (one binding, one dbAdapter; a second plugin invocation overwrites the
  first), replacing the prior two-integration example that doesn't actually work.
- Document workarounds: separate deployments for true isolation, or
  application-layer filtering (id prefix, or a discriminator extensionField via
  search's where).
- Add a "help wanted" ask for a { knowledgePool: binding } map for native
  multi-pool support.
- Add a Known Limitations bullet naming the read leak.
@techiejd techiejd merged commit a52710e into main Jun 12, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant