Every ML team building multi-model pipelines has a graveyard. It is not a literal place. It is a directory called connectors/ or adapters/ or maybe just utils/ with a collection of files named things like ner_to_scorer_bridge.py and v2_classifier_output_transform.py and, if the team has been around long enough, legacy_extractor_compat_DO_NOT_DELETE.py . Each file solves exactly one problem for exactly one model pair. Each one was written by someone who has since moved on. Each one is a small, undocumented piece of institutional knowledge that the pipeline cannot run without. This post is about why that graveyard exists, what it actually costs, and what eliminating it looks like in practice. A concrete pipeline Let's use a legal document processing pipeline. It is representative of what teams actually build, and the schema incompatibilities are real.…