Warm one object's full field rows before anything reads them synchronously, and PIN them until
UnpinCatalogObjects releases the pin.
Called from the async orchestration points that own a scope — the sync loop, per entity map —
because the readers (GetCachedFields, in connectors this repository does not own) are
synchronous and cannot query. Concurrent warms of one object share one read.
Warm one object's full field rows before anything reads them synchronously, and PIN them until UnpinCatalogObjects releases the pin.
Called from the async orchestration points that own a scope — the sync loop, per entity map — because the readers (
GetCachedFields, in connectors this repository does not own) are synchronous and cannot query. Concurrent warms of one object share one read.