Skip to content

Params and namespaces

All knobs are flat strings namespace.key in merged params:

params_defaults:
runtime.document_batch_size: 32
runtime.max_docs: 0
domain.spacy_pipe_batch_size: 64
flush.events.mode: rows
compute.embed_dim: 128

UI fields write the same keys (param: runtime.document_batch_size).

Namespace Reader
domain.* only step domain code
runtime.* partition profile, parallel plan, progress, UI
storage.* StorageSession, compression, tenant
mapping.* mapping mode / build / read
reduce.* reduce_merge
flush.* write buffer overrides
compute.* algorithms / compute plan
postgres.* / qdrant.* rarely; connection usually on the dataset block
tracking.* future integrations

Whitelist: ALLOWED_PARAM_NAMESPACES in drtml/manifest_validate/common.py.

  1. Behavioral numeric knobs → params_defaults (+ UI when needed).
  2. Python reads params["namespace.key"]; any literal fallback must match the DRTML default.
  3. Framework does not interpret domain.* (passthrough only).
# BAD — framework reads domain
batch = int(params.get("domain.document_batch_size", 32))
# GOOD
batch = int(params["runtime.document_batch_size"])
# BAD — diverging fallback
k = int(params.get("domain.context_window_k") or 5) # DRTML default is 3
# GOOD
k = int(params["domain.context_window_k"])

See also Namespaces reference.