Skip to content

August 2026

Product notes for August 2026. Previous: July 2026. Index: What’s new.

  • One way to start a run. CLI, Streamlit, and HTTP all submit the same request: local dispatch or an Airflow DAG trigger.
  • CLI takes a run file. drtoller run path/to/step.drtml --config run.yaml (YAML or JSON). Flags override the file. --via airflow --format json returns the DAG ids scripts need.
  • HTTP control plane. drtoller serve api (extra drtoller[api]): POST /v1/runs, GET /v1/runs/{id}, GET /health. The reference stack runs this as run-api and points Streamlit at it.
  • First-time stack from answers. drtoller install --config … writes .env (optional bring-up). After code changes to Ray workers: drtoller ray bake rebuilds and rolls the live image.

Details: Run API, Install, CLI operations, Streamlit.

  • Start and stop cloud compute in one step. drtoller k8s up brings the remote Ray cluster to Ready; drtoller k8s down tears it down and releases idle capacity. Compose and the cloud project stay.
  • See and delete run data. drtoller ls lists run_ids with parquet size and Postgres row counts. drtoller clear removes one run, several, or all — dry-run unless you pass --yes.
  • Commands work without a fat host Python. If the machine cannot import the Framework stack, the same drtoller CLI runs inside the already-running worker.
  • Postgres stays up under parallel writers. Concurrent jobs share a stable write path instead of opening a connection per worker. Throughput holds; connection storms do not.
  • The client finds a live cluster. After Ray is recreated, the run attaches to the current endpoint instead of a stale address.
  • Jobs start instead of waiting forever. When the cluster is already at its cap, the run scales to what is advertised rather than blocking on more CPUs. Failed inflates are not retried three times by default.
  • Workers skip work that is not theirs. Corpus reads do not fetch shards assigned to someone else.
  • Uneven shards no longer stall the fleet. runtime.parallelism.schedule: pull lets a free worker take the next shard instead of sitting on a fixed bag. Streamlit exposes the control for processes and ray.
  • Idle cloud workers go away as the queue drains. With Ray pull and deflate_idle, the cluster shrinks before the last slow shard finishes. Prometheus reports remaining queue depth and how many workers are still active.
  • Clear can wipe metrics too. --include-metrics removes the sibling metrics step outputs and live metric table rows for the same run_id.

Details: Parallelism, CLI operations, Install, Ray, PostgreSQL.

  • Probe keeps the cluster warm, then lets nested evaluate use it. Fit workers leave after the model is ready; the cluster stays sized for evaluate. Nested jobs no longer fight the parent for CPUs.
  • Large assignment tables do not ride along in memory. Labels for nested evaluate are stored and read back as a run, so probe width does not OOM the parent.
  • Dashboards stay alive during long merges. Progress, CPU, and RAM keep updating while reduce is blocked on workers.
  • Shuffle files fill before they rotate. Large keyed writes spend less time on tiny parts and less time compacting after the fact.
  • One command bootstraps cloud Ray on the current provider path (k8s up, or cloud bootstrap then ray attach). drtoller verify checks remote compute and object storage.

Details: Probe loop, Streaming cluster, Ray, reduce_merge, CLI operations.

  • One CLI. drtoller is the operator and developer command (init, plan, run, validate, inspect, stack up / down / update). Legacy flat names are gone.
  • Remote Ray refuses local disks. Multi-worker jobs that need a shared object store fail fast instead of writing files the other machines cannot see.
  • drtoller ray status shows whether the cluster is actually there. Env presets exist for object-store providers.
  • AI-repairable manifests. inspect and validate --format json return structured errors (code, path, fixes) so an agent can patch DRTML instead of reading a traceback.
  • Developer preview on PyPI. pip install drtoller; canonical docs at framework.drtoller.com/docs.

Details: Install, AI & Automation, Ray, Deploy overview.

  • Cluster once, try many K. Vectors load into a sticky fit session; probe candidates reuse the same RAM. Warm-start and early-stop cut wasted epochs.
  • Probe evaluate does not reload the same inputs for every candidate. Heavy bindings are dropped between tries so RAM does not grow with probe width.
  • Grafana sees probe progress during a long first prepare, not only on the next heartbeat.

Details: Streaming cluster, Probe loop, Grafana.