# Runtime split Patch B

Patch B builds on Patch A and makes the NEW runtime actually process embedding jobs.

## What changes

### 1. New embedding job scheduler
Adds:

- `EmbeddingJobScheduler`
- `EmbeddingJobSchedulingConfiguration`

Behavior:
- enabled only in `NEW` runtime mode
- active only when `dip.embedding.jobs.enabled=true`
- periodically calls:
  - `RepresentationEmbeddingOrchestrator.processNextReadyBatch()`

### 2. Generic import hands off to the new embedding job path
`GenericDocumentImportService` is updated so that in `NEW` mode it:

- resolves `dip.embedding.default-document-model`
- ensures the model is registered in `DOC.doc_embedding_model`
- creates embedding jobs through:
  - `RepresentationEmbeddingOrchestrator.enqueueRepresentation(...)`

It no longer creates legacy-style pending embeddings as the primary handoff for the NEW runtime path.

## Notes

- This patch assumes Patch A has already introduced:
  - `RuntimeMode`
  - `RuntimeModeProperties`
  - `@ConditionalOnRuntimeMode`
- This patch does not yet remove the legacy vectorization runtime.
  That remains the job of subsequent cutover steps.

## Expected runtime behavior in NEW mode

- `GenericDocumentImportService` persists new generic representations
- selected representations are queued into `DOC.doc_embedding_job`
- scheduler processes pending jobs
- vectors are persisted through the new embedding subsystem

## New config

Example:

```yaml
dip:
  runtime:
    mode: NEW

  embedding:
    enabled: true
    jobs:
      enabled: true
      scheduler-delay-ms: 5000
```
