All projects

Metamorph

0 comments

What it does

Framework migrations are slow because they mix routing, dependencies, and folder conventions that a regex or one-shot LLM pass usually gets wrong. Metamorph is a CLI that runs that work as a Mozaik swarm: it copies the project into a .metamorph/shadow workspace, rewrites files toward a catalogued source→target pair, then runs a real npm install / npm run build in that shadow. The original tree is left alone until you Apply (git branch). A local dashboard (metamorph ui) is how you watch the run. The catalog is broader than any one pair; the demo happens to show React → Next.

How the agents run concurrently

They never call each other. Each one is subscribed to the bus and wakes up when an event matches what it cares about. What they share is the migration plan — which files exist, their status, which phase the run is in — and a bit of in-memory state: retry counts, notes for the report, and a lock around Integration. The run starts with Mapper listing files onto the bus. PackageManager starts at the same time; it only adjusts dependencies and does not call the model. Workers rewrite files, Reviewers check them, and we keep at most three of each in flight so we do not open a model loop per file (that would be expensive). Extra files wait. If a Reviewer rejects, the file goes back to a Worker, but only up to a retry cap. Coordinator never uses the model. It watches those events and, on a timer, re-reads the plan in case something was missed, then starts Integration when file work and packages have settled. Integration’s lock means a second start is ignored if a build is already running. Reporter makes a single model call when Integration begins, so the summary is written while install and build run, not after they finish.

Comments

No comments yet.

Sign in to like and comment

Newsletter

For developers who want to learn how to build self-organizing agents.

Join our online hackathon