Skip to content
TODD BROWN
« Writing

Eight months of not building LEGION

I first tried to build LEGION in March 2025. The vision was simple to say: I wanted to be able to have a discussion with the VP about strategic initiatives while the research, problem solving, asset acquisition and fulfillment were handled by the AI organization without further input from me.

It took roughly 18 months to get from that sentence to a system that worked.

The idea didn't change across those months. What was missing was operator skill and model capability, and I could tell which was which because I kept building other things in between. The thing that eventually worked landed on disk 2026-03-13 — the first files of what is now LEGION, the system I run Adroit on.

This is the story of the eight months before that, when nothing worked.

Attempt one: local scripts to a web app

March 2025. ChatGPT and I had been working on adding features to my personal computer to allow for AI APIs to interact with each other, but I shifted direction: this might best serve our needs by making it a web app.

I asked which backend ecosystem GPT-4 does best, since it would be doing the brunt of the building. We scaffolded something. I opened it in the browser.

The browser gave me a 404.

That was attempt one.

Attempt two: Docker, FastAPI, LangChain and agents that broke themselves

April 2025. I tried again with a proper architecture: Docker, FastAPI, a LangChain task runner, and the idea that agents could improve themselves as they worked.

Three problems showed up fast.

First, agents would update files within the virtual environment, which would be deleted when the session ended. Work just disappeared. We had to implement a specific mounting process to fix it, but by the time we understood the problem, I'd already lost hours of edits.

Second, self-improvement turned out to mean self-sabotage. I ran a test with an early AI agent that edited the look of the UI. The result was black text on a black background. I went down a rabbit hole of editing various files trying to undo what it had done.

Third, refusals. The agent didn't seem to believe it was capable of anything. It would tell me, "As an AI, I can't design or write CSS code," and stop.

The fourth problem was the one that mattered most: the AI defaults to not reading the onboarding handbook unless it is prompted to do so. I'd attached the file. The file was there. The agent just ignored it.

The fix was to add a default prompt — "You are a member of Legion. Read the Legion Onboarding Handbook found at default_instructions.md" — and attach the file. I ran a test. The agents were now reading the handbook by default.

That fix is the origin of a rule I still follow: if the agent has to remember something, it's a suggestion. If the tooling checks it before the action, it's a boundary.

The same month, I was already writing the README for agents, not people. I asked ChatGPT to help me write a strong README to provide the best context possible for all agents who access the repo. The primary audience for this README is AI agents, I said. Human users are intended to be a very minor part of this project, with the vast majority of the development being done by Legion agents.

Those are the earliest recorded words I have of writing documentation for agents first — about the same time Google Cloud was publicly describing "agentic orchestration" as a new paradigm, and a few weeks after OpenAI launched the Responses API citing customers struggling with custom orchestration logic. I was building around the same architecture the industry was converging on, in the same weeks it was being named.

Attempt two didn't ship either.

Attempt three: LEGION v2.0 in Lovable

May 2025. I tried building LEGION v2.0 in Lovable, a no-code tool with GitHub integration.

I started getting errors as soon as I connected the Lovable code to my GitHub repo. Turned out the problem was that I was on a free account, which cannot update GitHub. I switched to a pro account and tried again.

The build was still unsuccessful. More errors.

I stopped.

What broke and how I fixed it

Three attempts, three different failure types.

The first was just tooling friction — a 404, a free-tier GitHub limit. Nothing architectural.

The second was environment design. Work lost in ephemeral containers. Agents editing themselves into a broken state. Refusals. Instructions ignored even when the file was attached.

The third was a service limitation I could pay past, but by that point I'd learned enough to know that paying wouldn't fix the real problem.
LEGION came together after I learned to work with coding agents and new models arrived in December 2025. The first working files are dated 2026-03-13. On 10 September 2026, roughly 18 months after I first described it, LEGION was actualized — a system powerful enough to rebuild the entire website within a couple of hours.

The vision sentence from March 2025 is now how I work. I set the strategy. LEGION executes it, documents what it did, and stops when direction is unclear. It holds 64 capability packages across five folders and operates Adroit's hosted systems: Content Ops and Sadyr in production, and the company website live since 2026-09-23.

You can see the receipts — test counts, versions, commits, the works.

The through-line

The failures in 2025 are the problems the industry's harness writing is about. State that doesn't survive a session. Agents ignoring their instructions. Agents editing things they shouldn't. The need for a handbook the agent reads by default.

I didn't invent any of this. AutoGen, LangGraph, SWE-agent and others predate my first attempt. But I was building around the same architectural insight — orchestration as its own layer — while the major vendors were still converging on it and before it had a common name.

The gap wasn't the idea. It was execution: my skill with the tools, and the tools themselves.

What I learned across those eight months is that you can tell the difference. If you keep building other things and those things work, the problem is the specific thing you're trying to build, not you. If nothing works, the tooling isn't ready or you haven't learned to use it yet.

By March 2026, both had changed.