Self-hosting a Software Factory: Part 1

#project #selfhosting #llms #agents

One of the ways that folks are leveraging LLM-powered agents to do software development is the “software factory” (or “software dark factory”) pattern, where the LLMs write all the code and the humans aren't allowed to even review it.

Apparently this works, though you need a good way to verify your product. I'm a little skeptical that it's the best way to use these tools, but it's an interesting idea, so I'm going to try to build one for myself.

The Project

I'm cheating a little bit by picking a project that's embarrassingly easy to verify: a new interpreter for an extant programming language.

The programming language is called EYG and has many interesting and desirable properties:

Its only annoying drawback is that its interpreter is in JavaScript (compiled from Gleam, but running on Node). I'd really prefer a native interpreter, or better still, a Rust library that can execute EYG code.

Lucky for me, I have:

So that's the project: a Rust library + easily deployable binary that can interpret EYG code.

The Rules

The project will be split into two repos, each with different rules:

eyg-rs is the actual interpreter/library:

I'm trying to learn about the factory pattern, so I actually have to build one. I could almost certainly just point Claude Code at the EYG spec and have it converge on a working interpreter, but that wouldn't teach me anything about the system that's managing the work.

Keeping it sandboxed is a precaution against an agent hosing my home lab.

Figuring out how to get it clean and efficient is, of course, part of the challenge.

eyg-rs-factory is the system that tracks work, manages the agent, and validates the final product:

This is where the learning happens, so it gets to be hands-on and sloppy if that's what it takes.

I've started building it, but it's not working yet. I'll let you know how it goes once it's closing tickets!