Welcome to level <n+1> :)
As you have neatly expressed, it's always a compromise between YAGNI and DRY/SOC. I like to aim for a sweet spot where it just passes the tests, and someone else (always yourself in 3 years time!) can maintain it without swearing at you!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.