the request's user (isolation/audit)
the provider every read runs on
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, and always reads through the caller'sIMetadataProvider(multi-provider correctness — there is no global-provider fallback).