OptionalcontextUser: UserInfothe request's user — REQUIRED on the server for isolation/audit
Optionalprovider: IMetadataProvideroptional provider for multi-provider scenarios (defaults to global)
SEAM (plan §5.2): wiring persisted embeddings is a later-phase
task (PS-FEAT-1 pulls persisted vectors; the concrete read depends on the
vector-store binding — pgvector / Qdrant / Pinecone / SQL Server via
EntityVectorSyncer). Until that binding is wired, this returns null
(no persisted embedding), which the executor handles by emitting zero-filled
embedding columns. It MUST NOT regenerate embeddings inline — embeddings are
persisted + version-pinned (anti-skew, §6.5). Tests inject vectors directly
via an in-memory IFeatureDataAccess, so this stub never blocks them.
Fetch rows from a named source (entity / external entity / query-backed
entity). Returns a FetchRowsResult — never throws for logical
read failures (mirrors RunView's non-throwing contract).
Production IFeatureDataAccess backed by
@memberjunction/core'sRunView. Always passescontextUserso server-side reads honor per-user data isolation. Constructed with an optionalIMetadataProviderfor multi-provider correctness (CLAUDE.md) — the provider, when supplied, is the one the reads run against.