Ralph Orchestrator v2
Released Ralph Orchestrator 2.0.0 last week. This was a complete rewrite in Rust. As I mentioned in my previous post, the first version was ralphed into existence with little oversight. This version contains features that I wish Ralph would have created on the first go. A TUI to monitor iteration progress, a hat-based system allowing Ralph to assume different personas, and a simple CLI-adapter-first approach, to name a few.
The rewrite took a little over 3 days - unheard of in the pre-AI era. To accomplish this, I followed what is now my typical AI-native development workflow:
- Use the PDD SOP to create specs. I’ve baked this into ralph-orchestrator with the
ralph plancommand for use with any backend. We’ve used this internally at Amazon for a few months now and I find it to be the best spec generation process. - Point Ralph at the specs for implementation. Follow output and tune the prompt as needed until it’s progressing along nicely.
- Use Claude with targeted code tasks and the code-assist SOP to resolve any remaining bugs/functionality. Similar to
ralph plan, I’ve baked in code task generation viaralph task. Alternatively, I’ll list out the defects and missing functionality and kick off a new loop. - Rinse and repeat.
I’ve committed all specs and tasks to the repo as living documentation. Ideally these are the source of truth for how the application should behave, though admittedly this has issues as it takes some effort to keep them up to date. If an agent picks up a stale spec, it leads to regressions. Overall, I’m pleased with the results and I only imagine this workflow will get better as models improve. Hope y’all like the new version!