collect

suspend fun collect(entryModelId: String, provider: ModelSourceProvider, limits: ModelPreparationLimits = ModelPreparationLimits.defaults(), signal: ModelCollectionSignal = ModelCollectionSignal.NONE): ModelWorkspace

Collect one exact-id transitive closure through a snapshot-scoped provider. Calls are sequential and deterministic; each exact id is loaded at most once, and collection never retries implicitly.

This suspending Kotlin boundary uses no coroutine-library type. signal is therefore also supplied to the provider so applications can connect their own task or request cancellation mechanism.