Anti-patterns
Full rules: Principles · Step ↔ framework · Framework layers.
Domain / step
Section titled “Domain / step”- I/O and storage APIs in the processor
prometheus_client/ Grafana JSON in the step- Homegrown embed/cluster math
- Custom Streamlit UI
- Parsing YAML manifests
Framework
Section titled “Framework”storage → processing|telemetry- DTOs in telemetry instead of
contracts/ if backend ==/if mode ==instead of registries- Domain column defaults (
doc_id) in storage/feed - Import-only shim files
- Dual-write datasets
- Runtime
CREATE TABLE - Pipeline tables/procs without
drt_tbl_/drt_proc_(or missing frompg_object_inventory.txt) - Committing
*_generated_dashboard.json - Duplicating the train group-loop in every embed backend
Params
Section titled “Params”- Framework reading
domain.* - UI control with no reader
- Literal fallback ≠ DRTML default