Overview
The factory builds issues for the House Style plugin, a MadCap Flare add-in written in C#. You write a specced issue in the plugin repository and mark it ready. You run pwsh scripts/factory.ps1 -Issue N and the factory does the rest on your machine, with your own Claude and gh logins.
It plans the issue once, implements it with Sonnet, runs only the unit tests and integration tests the change can reach, and has an agent use the change in real Flare inside a Hyper-V VM. It pushes a pull request, waits for the plugin’s required checks and merges it. It keeps going after every failure until all of it is green, and it stops only when something it depends on cannot work.
What you will find here
Section titled “What you will find here”| Page | What it covers |
|---|---|
| The pipeline | Every stage of one run, in order, with the code that does each stage. |
| Testing design | Which tests exist, how a change picks its tests from the code graph, and what only the release gate runs. |
| Concurrency | The VM ticket queue, per-run work folders, file claims, replay on main and cleanup after a stopped run. |
| Failure handling | Diagnosis, stall detection, replanning and the short list of things that stop a run. |
| The VM layer | The Hyper-V VMs, the E2E runner, the interactive session, the acceptance script and the guest REPL. |
| Observability | Per-process event files, the run report script, agent stream capture and the catch log. |
| Agents and prompts | The roles, the tools each one gets and what each prompt asks for. |
| Script reference | One page per script, generated from the help comment in each file. |
| Planned Python move | A planned change of language for the orchestrator. Nothing of it is built yet. |
The ideas behind it
Section titled “The ideas behind it”- The owner is the only user. There is no security gate, no token and no label other than
ready. The factory uses your own Claude andghlogins. - No caps. There is no limit on cycles, turns, time or cost for the plan and implement agents. A failure that keeps coming back goes back to planning instead of counting down.
- Test what the change can reach. The code graph says which tests a change touches, and nothing broader is added. The full suites run once a night in the release gate.
- Acceptance replaces per-change E2E test scripts. An agent uses the change in real Flare the way a technical writer would, and reports what it saw.
- Stop only on infrastructure. A broken Claude login, an unusable VM or a failing
ghcall stop a run. A failing test never does.
Where the code lives
Section titled “Where the code lives”The factory is the repository abmorrill4/house-style-factory. The orchestrator is scripts/factory.ps1 with modules under factory2/lib/. The prompts are under factory2/prompts/. The scripts that drive the VMs are under scripts/. Those files are the source of truth, and every page here was written from them.