3+ days of work to get proper testing in.
After driving myself crazy while working vertically, trying to add the critical functionality, I decided it's time to go back and code tests. (honestly I didn't think I'd be doing tests this early on)
These testing made me refactor to a form that easy to test but also to understand and take a stance on more code design decisions. This should hopefully 🙏, make me progress faster with the rest of the code now, or at minimum keep a clear head doing just one thing and not bouncing around, context switching.
So the design turned around 4 levels deep (technically 3, but there are parallel parts)
What I got is like
(DB model<->repo lib)->Runnner helper->Leaf runners
For the runners there are some inter-dependencies as well
That last one is exciting as it's actually going to finally be doing the thing this is built for, and I can start eating my own dogfood and see how bad it is.
I do expect to iterate a lot on the output of that one, but at least it would have it's first user ^^. (not that this even has hosting or anything.. or a website... just a domain and an email address..)