Experiment comparing vibecoding vs specification-driven development tools (OpenSpec, Speckit, Kiro) building a task management API