ENV
Schema and pool reach every Job
All 120 dynamic runner Jobs imported the runtime ConfigMap that carries LEARNING_QUEUE_SCHEMA and LEARNING_QUEUE_PRODUCER_POOL_SIZE.
Kubernetes scale proof
A disposable Kind namespace runs Postgres, queue migration, two reconciler replicas, and one Kubernetes Job per attempt. The runner bundles the production plan, batch, reduce, and queue functions with controlled database, model, and blob adapters.
Workload
SHAPE
Each run plans five batches, runs them in parallel, then reduces. The first plan, first batch, and reduce attempt fail once per run under the production retry policy.
ASSERTIONS
Measured result
Production wiring
ENV
All 120 dynamic runner Jobs imported the runtime ConfigMap that carries LEARNING_QUEUE_SCHEMA and LEARNING_QUEUE_PRODUCER_POOL_SIZE.
BUDGET
The Helm budget includes each active runner’s two product-store connections plus the configured producer pool. The default Learning topology needs at least 513 connections.
What it caught
IMAGE
The queue entry imported a Flue-only OpenAI dependency. Run-state code moved to a small production-safe module.
LOCK
Queue grouping alone allowed a fetch race. A scoped session advisory lock now spans the full Job lifetime.
RETRY
One failed Job retried successful siblings. Single-job callbacks now isolate settlement while local workers keep parallelism.