
Over the next few months, I am conducting a toy experiment around recursive self improvement. The toy that I'm applying RSI to is called DeepMuse.
The goal is to decrease token cost, improve precision, and extend context out to infinity. Once the toy works, scale the model to larger projects.
The best fitting use cases are those where timing is critical and deeply contextual. This spans the gamut from robots, where latency is measured in milliseconds, to project management where every activity is on the critical path.
Here are the first few iterations:
Below is the output from Gemini, after feeding it the transcript from the MLST Podcast* and its links to Darwin Gödel Machine*, Hyperagents*, and EvoTune*.
TL;DR: train a private LLM to more efficiently talk to a Foundation LLM.
The shift from V3 to V4 introduces a hybrid execution pipeline to strictly minimize algorithmic complexity. A local model acts as an annex and orchestrator, isolating the proprietary ontology while delegating generalized logic to a Foundation Model. By combining Group Relative Policy Optimization (GRPO) with deterministic validation, the system trains the local model's adapters to optimize prompt translation and token efficiency over multiple turns.
A plan for utilizing a local model to supervise and translate mutations for a Foundation Model, optimizing the translation policy via speculative execution and deterministic compilation checks.
Establish an execution loop that continuously reduces the system's Minimum Description Length (MDL). The objective is to shrink the compiled graph size, the pre-fill token stream, and the local model's parameter footprint, without expanding the core MuFlo grammar.
xcodebuild compiler and predefined graph constraints.Research strategy synthesized 2026-09-15. Implementation of the deterministic GRPO loop and local adapter training pending.
Here's what I've learn so far. An ontology may solve a few problems running a model running on private hardware, like the Mac Studio M5 Ultra. First, it narrows down pre-fill; reducing the number of tokens needed to provide the best context for solving a problem. Second, the RSI part could in fact provide an infinite context, as additional sessions decompose legacy data into, what Seymour Papert called "mind sized chunks."*
So, there is an opportunity here for any organization that wants to host their own models on Premises:
Here is the V3 output from Claude after feeding it an analysis by Gemini:
A plan for using language models to improve DeepMuse, and a test of whether the same method carries over to an organization's project-management data.
Get an improvement that can be measured and checked, without relying on a model's own ranking of its work. Frontier models propose changes. A smaller model running on the premises checks and ranks them. A person gives the final verdict on every change.
1. Ingest the toy model and refactor it into an ontology.
DeepMuse is a small app whose behavior is written in a graph language: named nodes, values, and edges that state what flows where. Its shipped graph files are the toy model. Step one takes those files in, restates them as an explicit ontology (what things exist, what connects to what, which rules the connections obey), and refactors the files against it so that each unit can be described on its own, apart from the rest of the tree.
2. Measure the prefill gain on a model running on the premises.
Before a model produces anything, it processes the whole prompt. That stage is the prefill, and its cost grows with the size of the prompt. If the ontology lets a prompt carry only the unit in question plus the grammar, instead of the whole tree, the prefill shrinks. Step two runs the same tasks with and without the ontology on a model hosted on the development machine, such as DeepSeek Flash, and reports the difference as measured time and as pass or fail on fixed checks.
3. Scale the measured gain to enterprise project-management data.
If step two shows a gain on the toy model, the same treatment is applied to a project-management system. Tasks, owners, dependencies, budgets, and change requests become the nodes and edges. The rules that define scope, risk, and who may see what become the ontology's constraints. For any given question, the model then receives only the slice of the organization's data the ontology selects. The gain from step two is measured again on that data before anything is relied on.
Plan and product requirements written 2026-09-12. Nothing is approved, installed, or running.
Since scoping out V1, I've learned that my Macbook Pro has enough power to start experimenting sooner, rather than later. Here is the Claude output:
Segment our RSI goals from DeepMuse goals, here.
Create a business where RSI can be applied at the local level by ingesting source code into an Ontology which can be recompiled into deployment.
The degree of transparency around the post training.
Empower developers to both interpret and fine tune a hybrid of local models on premises and Foundation lab integration, where the on-prem weights and convex hulls remain private but are still accelerated by foundation models.
A proof of concept in a safe toy domain in which to explore this Hybrid approach.
Refine the process of ingesting a legacy codebase into an ontology and measure performance gains on a local open weight model
Devise a strategy where, on a MBP M4 Max 128 GB, a local model referees current Fable 5.1, Astra, Gemini, Grok, and their successors to compile DeepMuse into an executable ontology that evolves to user requests and engages with a Developer through an interactive ontology.
DeepMuse started out as a visual music synthesizer called Sky, which I would perform as a VJ 20+ years ago*.
Underneath was a data flow script, call Flo, which I kept rewriting. And rewriting. And rewriting. It was inspired by my days playing with an analog music synthesizer*. And then designing a project management system with Petri nets. Around that time, was a project at MIT around a Cellular Automata Machine*. And then there was Max*, a node based patcher for musical instruments. They all fostered a mindset, that information is flow.
A few years ago, I attended a workshop at NASA called: "The Virtual Iron Bird"*, which introduced the concept of using an Ontology to wrap the mission critical data flow around a space craft. So, I rewrote Flo again. But not for spacecraft; for visual music.
The goal was to make creating an ontology as fun as patching a modular synthesizer. Where you could plug, play, and experiment. The nice thing about an ontology for a toy is that, in contrast to a space craft, if you get it wrong, nobody dies. Instead, you get something interesting to iterate on. And because it is a toy, the ontology should be something a 12-year-old could understand.
I introduced this idea at a SuperHappyDevHouse* gathering, hosted ironically by Palantir. Ironically, in that I didn't know who Palantir was. It turns that Palantir was also working on ontologies. The kind where people could in fact die, when things go wrong.
What I hope to learn from making a toy RSI is how to create a dialog between a child and a machine. Of course, we are all becoming children in this new age of abundant intelligence.
Here is my first prompt to Claude, ChatGPT, Grok, and Gemini:
I want to implement recursive self improvement (RSI) on decomposing source code into a small flo ontology, called MuFlo. The tools I want to use are: Apple Studio M5 Ultra 512 GB, open weight models to decompose DeepMuse project, close source models from OpenAI, Anthropic, and Google, to debate best implementations. See https://github.com/musesum/DeepMuse for toy application and package references to MuFlo.
The output from each Foundation Lab was very different. Claude has the most history of code development, so was very specific. ChatGPT had only snippets of questions and was more philosophical. Grok was a monster that decided to just do it and started writing code for the harness. Gemini was the computer scientist of the bunch.
I was curious what the internal thesis for each reply, if there was one. So my next prompt was "Summarize Why". Here is the result:
Why, in short:
Do RSI on DeepMuse because it is a real, complex, evolving codebase that can serve as both training material and a hard test for MuFlo.
The purpose is to see whether repeated AI-driven decomposition can:
So DeepMuse is not the end product. It is the experimental substrate for discovering whether MuFlo can become a smaller, more general executable representation of software.
Why: a synth with thousands of parameters is useless if only the author can play it.
Digital audio copied analog patching and then broke it. MIDI is 0–127, a screen is 1920×1280, an accelerometer is ±3g. Without auto-remap, every cable is a unit conversion. Without a loop-break (Visitor / GABA), a live graph eats itself. Without twins, two devices are two programs.
MuFlo is the why of size. Nine primitives, not a tenth. If it cannot be said with Node, Tree, Graph, Plugin, Value, Wildcard, Twin, Closure, Visitor, it is not decomposed yet. A 12-year-old never sees that — they see things, pipes, knobs. “Connect my thumb to brush size.”
The Swift/Metal grew anyway. RSI is the why of keeping the ontology: rewrite source until the graph is smaller than the code and still plays. Open weights on the Studio own the tree so DeepMuse never leaves the box. Closed models only argue. The chair merges.
Playable, local, small. That is the whole why.
ARCHITECTURAL DRIVERS: DEEPMUSE TO MUFLO DECOMPOSITION