@docs/spec.md If you were to break this project down into sprints and tasks, how would you do it (timeline info does not need included and doesnt matter) - every task/ticket should be an atomic, commitable peice of work with tests (and if tests don't make sense another form of validatation that it was completed successfully), every sprint should result in a demoable peice of software that can be run, tested, and build ontop of previous work/sprints. Be exhaustive, be clear, be technical, always focus on small atomic tasks that compose up into a clear goal for the sprint. Once you're done, provide this prompt to a subagent to review your work and suggest improvements. When you're done reviewing the suggest improvements write your tasks/tickets, sprint plans, etc to a md file.