Params and namespaces
Format
Section titled “Format”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: 128UI fields write the same keys (param: runtime.document_batch_size).
Who reads what
Section titled “Who reads what”| 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.
No hardcode rules
Section titled “No hardcode rules”- Behavioral numeric knobs →
params_defaults(+ UI when needed). - Python reads
params["namespace.key"]; any literal fallback must match the DRTML default. - Framework does not interpret
domain.*(passthrough only).
Anti-patterns
Section titled “Anti-patterns”# BAD — framework reads domainbatch = int(params.get("domain.document_batch_size", 32))
# GOODbatch = int(params["runtime.document_batch_size"])
# BAD — diverging fallbackk = int(params.get("domain.context_window_k") or 5) # DRTML default is 3
# GOODk = int(params["domain.context_window_k"])See also Namespaces reference.