Most of your failures started before anyone wrote code or cut metal.
What you are seeing now is upstream decisions expressing themselves, not isolated downstream faults.
Where the failures were baked in
- Geometry and motion locked in too early. Linkages, clearances, and motion profiles bake in stress and unintended contact; field wear is just the delayed report.
- Tolerance stacks treated as “close enough”. Real assemblies — fits, runout, compliance, thermal growth — were never evaluated as a complete chain.
- Environment assumptions left implicit. Dust, fluids, vibration, duty cycle, and operator behavior were assumed benign and never owned as hard constraints.
- Actuation and sensing coupled too tightly. Motor, gearbox, joints, and feedback share failure modes, so minor drift cascades into behavior nobody predicted in tests.
What you are already living with
- Units that passed test behave differently after weeks or months in the field.
- Wear or drift appears where the design assumed “nothing important” was happening.
- Nominally identical builds show unexplained spread in behavior or failure timing.
- Patches and supplier changes help locally but the pattern of surprises continues.
If the pattern above matches your field behavior, the upstream decision pattern is clear enough to talk.