Back to Built

Software Factory

Turns a labelled GitHub issue into a stack of reviewable pull requests, with a human at every gate.

Table of Contents

Context

A personal Python control plane. You label a GitHub issue; the factory produces architecture, a plan, an implementation, verification and repairs as a stack of pull requests. State lives in SQLite. Built solo in two weekends.

Problem

A coding agent left alone either stops at the first failing check or β€œfixes” it by silencing the check. Neither is acceptable for work that a human has to merge. The process needs bounded autonomy and a second opinion on every repair.

Approach

  • Stages: architecture, plan, implementation, verification, repair. Each stage is a separate agent run with its own PR, so each step is reviewable on its own.
  • Human approval gates: a person approves the architecture and the plan before implementation starts, and a person merges the final PR. Between gates the factory runs on its own.
  • Bounded repair: at most 10 repair attempts per issue.
  • An independent review agent judges every repair: did it fix the root cause, or did it only make the check pass? A repair that only silences a check is rejected.
flowchart TD
  I[Labelled issue] --> A[Architecture] --> H1{{human approves}} --> P[Plan] --> H2{{human approves}}
  H2 --> C[Implement] --> V[Verify]
  V -->|fails| R[Repair, max 10 attempts] --> J[Review agent: root cause fixed?] --> V
  V -->|passes| M{{human merges}}

Outcome

Issues go from label to mergeable PR stack without me in the loop between the gates, and repairs that just hide a failure never reach the merge step. It is never fully autonomous by design.

The repository is private. A walkthrough is available on request.