Making Gastown cheaper (possibly free) and more deterministic via freeride proxy and configurable workflows #4577
stevef1uk
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hello everyone.
I picked up Gastown from Ed Donner course, but didn't have any Pro Subscriptions to try it myself so I wrote freeride proxy (https://github.com/stevef1uk/freeride.git) to see if I could get anywhere using free Cloud / local models. It supports quite a few sources and has become quite Gastown focussed now, via configuration though.
Within this project is my fork of Gastown which I have hacked heavily (sorry all with AI) to deliver something that can build Python, Node & Go projects working just from a SPEC.md file. I added a gt-agent framework to support Agents plus an Orchestrator to drive them with these all being configurable (external prompts) and workflow YAML files. I have just tested one workflow, which performs a simple software delivery flow with the workflow capable of splitting a project into separate delivery phases with the flow able to go back to fix issues so the overall flow is:
SPEC.md -> Architect -> Planner -> Polecat -> QA
The objective is SPEC to working code hands free without having to use expensive frontier models as not everyone can afford these or possibly will not have access to them the way things are going.
Different models are selected for the different Agents to avid having one model do everything i.e to avoid a model marking its own work.
The guards I added to gt-agent are I hope generic and do things like stop pytest web apps from hanging and stopping workflow progression. They also recognise LLM hallucinations etc.
I have only performed limited testing and as with all software each fix I make can result in a regression issue. I have kept the main Gastown unit tests suite updated as I go to try to minimise this, but this is complex stuff ;-)
I would rate the software as Alpha moving to Beta. I have removed OpenCode and tmux for the Orchestrator and introduced NATS so I had to add a new console app and added in my workflow to gt feed for some observabilty , although I use the typescript files to see what is going on and to aid debugging. I also added a code cache for verified software for a project to avoid too much wasted LLM calls and to speed things up.
The changes have been made compatible with the core Gastown architecture so Beads are still used and workflows are kicked off via the Mayor.
I would be interested if anyone thinks this is useful or I have just been wasting my time.
Best wishes
Steve
All reactions