Why Coding Agents Fail in Real Codebases: First Principles for Senior Engineers