Case Studies
One repo, not three: folding Meta and Bobble into MetaNova
For seven months I ran my AI work across three projects, with one of them meant to coordinate the other two. On 2 July I decided to fold them into one. Here's why the coordinator stopped earning its keep.
On Thursday 2 July I decided to fold two of my three AI projects into the third. Meta and Bobble will become part of MetaNova, and then both get archived. When I read the proposal my answer was "that would make more sense I think", which is about as much ceremony as it deserved.
It's the end of a design I was quite proud of in November. Three projects, each with its own job, and one of them (Meta) acting as the coordinator that kept the others in line. This piece is about why I built it that way, what Meta actually did, and how it ended up with almost nothing left to do.
Three projects, three jobs
By the end of 2025 I had three projects on the go:
- Bobble, started on 1 October, which ran my personal life: coaching, family, health, household. I've written about it in Bobble: my first go at a second brain.
- Meta, started on 25 November, whose job was to sit above everything else and keep the other projects in step.
- MetaNova, started on 21 December as a fresh seed, which became my main second brain from the end of February.
The first commit to Meta reads "Initialize Meta repository for cross-project orchestration". It had 16 commits that day. A sync workflow for pushing shared files out to the other projects. A registry listing every project and where it lived on disk. A playbook for spawning new projects with the standard set-up already in place. An inbox command for sorting quick notes into the right project's backlog.
The thinking was sensible. Every project kept hitting the same problems, so fix them once in Meta and push the fix out. In December that's what happened. On 1 December Meta pushed a second version of its universal guardrails to Bobble. On 3 December it pushed its hooks (small scripts that enforce rules automatically). On 5 December it pushed new commands and a research skill. Bobble got better without me working on Bobble.
The busy months
Meta did a lot of building. It made 239 commits in December and 698 in February, its busiest month by far.
On 24 December it took a full copy of the skills from another AI tool I'd been using, as a base to learn from. In early February it set up a rented server (a VPS, a computer in a data centre I could reach from anywhere) and completed all 13 planned pieces of work for it on 4 February. On 5 February it built a system for tracing and evaluating the AI's work, 50 small pieces in a day and then 28 more. It set up a WhatsApp heartbeat from the server so I'd know it was alive. It tried to get WhatsApp running on the server through Beeper and got stuck on a screen-sharing step. On 13 February it got me mobile access to the server through my phone.
Reading the log back now, I can see the problem. This was a lot of infrastructure, built quickly, mostly to support work that wasn't happening yet.
Two orchestrators and a bad week
The biggest Meta experiment was in February. I set up two automated orchestrators on the server: one to manage projects, one to manage my contacts. They ran on a timer, did their analysis and committed the results.
Between 20 and 23 February they ran 24 times. On 23 February one commit cut their prompt sizes because they were reading too much. The same day I switched them off, because what they were producing wasn't right. A note I wrote in March says they were "deployed but paused" and that the prompts needed tuning before they came back. They never did.
The same week a worse thing happened. A red-team agent (one set up to challenge and critique my plans) made recommendations, and they were applied automatically. Backlog items were deleted. Contacts were pruned. Labels were added. Nobody reviewed any of it before it happened. The failure log entry is short: the root cause was "blindly trusting agent recommendations without human review". The prevention was blunt too. Red-team agents banned, and every agent recommendation needs my explicit approval before it's acted on.
That rule has held ever since in one form or another. An agent can suggest. A person decides.
The strategy that undid Meta
At the end of February I found a better design for my second brain, and on 26 February I started building it inside MetaNova. On 27 February Meta recorded a three-layer strategy:
- MetaNova is the R&D lab, where things get built and tried on my own work.
- Meta is production, where proven things get hardened.
- A template is the product, the version that could be set up for someone else.
On paper this gave Meta a clear future. In practice it marked the start of its decline, because the R&D lab is where the work happens, and work pulls everything else towards it.
Over March the pull was obvious. On 17 March I loaded MetaNova with my real data. On 18 March it took Meta's email drafting and contact tools. On 19 March it took the WhatsApp drafting skill. Most of Meta's open work was marked as superseded by the new MetaNova approach. I wrote about that month in MetaNova V3: how my second brain is actually built.
The skills move, 20 March
The single biggest change was on 20 March. Skills (the written procedures my AI follows for recurring jobs) had been living in Meta and being copied or linked into the other projects. That meant the same skill could exist in two places and drift.
That day I moved them all into one shared skills folder that every project reads from. It started with 42 skills and ended the day with 53 in 10 categories. Meta's own scripts, which the other projects had been pointing at, were moved too. By the evening Meta's scripts were just links pointing at the new home.
This is the moment Meta's main job ended, though I didn't see it at the time. Its purpose was to share things between projects. Once the shared things lived somewhere every project could read directly, there was nothing left to push.
The slow emptying
After that, Meta's log reads like a house being cleared one room at a time:
- March: 208 commits, mostly session retros and finishing a document extraction.
- April: 7 commits. On 24 April it handed its last two background jobs (keeping my email login alive and a security monitor) to MetaNova.
- May: 3 commits. On 15 May a Mindstone Bristol context file was deleted after moving to MetaNova.
- June: none.
Bobble went the same way, just more slowly, because it held my personal life and that's harder to move. In April the parenting material was rebuilt as part of MetaNova's skills, and a separate area was set up there for my wife's coaching. Bobble's commits dropped to around 20 a month.
By July I had three projects, two of which I barely touched, and a set of rules in MetaNova that kept having to account for them. My start-up routine checked the latest commits in all three. Tools had to be told which project held what. When I set the session-recording tool up properly in April, I had to do it three times.
The decision, 2 July
The proposal on 2 July was in two parts. First, two client content projects would move onto the MetaNova structure, so everything I run follows the same layout. Second, Meta and Bobble would be absorbed. Whatever value remained in them would land as areas inside MetaNova (Bobble's personal material joining the family and home areas already there), and then both projects would be archived.
There's one condition, and it's the right one. Before Bobble goes, I'll check nothing outside it depends on where it lives: no scheduled jobs pointing at its folder, nothing on another machine reading from it. The decision is the direction. The move itself waits until that check is done.
What I'd tell myself in November
Splitting my AI work into several projects felt tidy. Personal over here, coordination over there, clients in their own boxes. It mirrored how I think about my life.
But an AI doesn't benefit from that tidiness the way I do. It benefits from one place with clear instructions, where each area loads only when it's needed. MetaNova does that with instruction files per area, so my personal material doesn't get read when I'm drafting a legal email, even though both sit in the same project. The separation I wanted was already there, inside one project, without the cost of keeping three in step.
The coordinator was the most expensive part. A project whose job is to keep other projects in sync creates work every time anything changes. And because it was the newest and most interesting, it attracted infrastructure (servers, orchestrators, tracing) that ran ahead of any real need.
Some of what Meta built lives on in a better form. The guardrails became rules in MetaNova. The skills became the shared skills folder. The session retros became part of how every session ends. That's a fair legacy for seven months.
If you're deciding how to split your own setup
- Start with one project. Separate areas inside it with their own instruction files, loaded only when needed.
- Keep shared skills in one folder. If two projects need the same procedure, both should read the same copy.
- Be wary of a project whose job is managing other projects. Ask what it produces that you'd miss.
- Don't let agents act on their own recommendations. Suggestions, yes. Deletions, never without you.
- Check for hidden dependencies before archiving anything. Scheduled jobs and other machines are where they hide.
If you're weighing up how to organise your own AI setup and want a second opinion, I'm always happy to talk it through.