You're viewing v1 — the original design (early 2026). Switch back to v2 top-right for what Emi is today.
Coding Factory · v3

Same pipeline. Now it watches itself.

The spec-to-ship loop didn't change in v3 — skills encode how, three contracts per repo define what, four gates block every commit. What changed is what happens after a commit lands: escapes are detected, doctrine is audited, and every closed goal carries its cost.

What changed in v3: in v2 the factory shipped work and reported completion. In v3 three instruments close the feedback gap — an escape detector, a weekly doctrine audit, and cost-per-outcome accounting.

hours, not weeks
The escape detector
When a fix-class commit lands within 24 hours of a sprint, the supervisor records one dated escape plus a graded event. Before this, the escape log sat unwritten for 71 days while dashboards showed a clean zero.
18 checks, weekly
Doctrine must match runtime
A sealed detector asserts charters match what is actually scheduled, every closed loop has a kill switch, and no goal reads finished while unstarted. It cannot soften its own findings.
cost per outcome
Accounting that remembers
Every banked goal emits an event carrying the track, the week, and the cost of the dispatches that closed it — a truer unit than cost-per-commit, and next week's plan is costed against it.
next step
Template backport — next up
Baking the v3 patterns — Agent Cards, loop graph + kill-switch registry, run harness, change-log discipline — into the new-project scaffold is the factory's committed next objective, so every future product is born v3-native.
SKILLS
reusable agent capabilities

Skills are short markdown procedures the agents load when needed — "how Michael wants this done", encoded once, reused across products. Small, composable, version-controlled. A few in active use:

brainstorming writing-plans executing-plans subagent-driven-development finishing-a-development-branch debugging clipping-processor document-skills (docx, pdf) session-routines fleet-standards

Skills follow the open agentskills.io standard, so the same skill is portable across agent tools. A skill loads only when its trigger fires — it doesn't clutter the agent's context the rest of the time.

EVERY PROJECT
three contracts at the repo root

Where skills are cross-project capabilities, these three contracts ship inside each repo — what THIS product is, what its rules are, what it should look like. Without them, a worker has nowhere to anchor.

CLAUDE.md
Project context
What it is, how it's built, how it deploys. The agent reads this before any work.
AGENTS.md
In-scope vs hands-off
What the autonomous fleet may change, what needs Michael's call. Explicit guard-rails.
DESIGN.md
Visual contract
Colour tokens, typography, layout rules, anti-patterns. Enforced down to the pixel on UI changes.
THE LOOP
five stages — where skills and contracts meet

Skills define how, contracts define what, the loop is when they meet — five stages that turn an idea into a shipped commit.

01 — BRAINSTORM
Ideas, not yet code
Open-ended exploration. Surface 2-3 approaches with trade-offs. Pick a direction with Michael.
02 — SPEC
Write it down
A design doc captures the problem, the chosen approach, the architecture. Reviewed before code starts.
03 — PLAN
Bite-sized tasks
Spec → plan. Each step is testable, committable, and test-first. No placeholders.
04 — IMPLEMENT
A worker builds it
A worker becomes the code-builder role, picks one task, writes the failing test, implements the minimum code, commits.
05 — REVIEW + SHIP
Independent review
A fresh reviewer reads the real change against the acceptance criteria. Pass merges; concerns hold the commit and ping Slack.
QUALITY GATES
four checks on every commit

Nothing ships without passing four checks. The rule that drives them: a test passing isn't the same as a feature working.

GATE 1
Typecheck
Strict TypeScript / mypy. Every type error blocks the merge.
GATE 2
Unit tests
Vitest / pytest, depending on stack. Fail-loud, no skips.
GATE 3
Live smoke
Automated browser tests against the actual deployed app. If a real user would hit a broken page, it fails here first.
GATE 4
Screenshot proof
Every affected screen gets a screenshot attached to the commit. Evidence the feature works, not just that the tests say so.
TECH STACK
shared across products
Frontend
React · Next.js · Vite · Tailwind · shadcn/ui
Backend
FastAPI (Python) · Express (Node 24, TypeScript)
Database
Postgres + Drizzle · in-memory + JSON for early builds
Hosting (frontend)
Vercel — preview per PR, prod on merge
Hosting (backend)
Hetzner + Coolify (self-hosted Docker orchestrator)
DNS / Edge
Cloudflare
CI/CD
GitHub Actions — typecheck + build + Docker smoke + audit on every PR
Observability
Sentry · structured logs · Vercel Analytics
AI layer
Claude API — the cheapest capable model picked per task
← Home
03 · The Coding Factory

An idea in.
A deployed product out.

The pipeline that turns specs into shipped software. Skills encode how. The loop runs on every job the resident fleet picks up. Four quality gates on every commit, then an independent review before anything merges. Three contracts at every project root. Same factory, every product.

What v2 changed: same loop, same gates — but it now runs on the resident fleet instead of a per-task scheduled job, and every product ships with three short contract files so a worker always knows the rules before it touches the code.

SKILLS
reusable agent capabilities

Skills are short markdown procedures the agents load when needed. They encode "how Michael wants this done" into something the fleet can reuse across products. A skill is small (a few KB), composable, and version-controlled. A few in active use:

brainstorming writing-plans executing-plans subagent-driven-development finishing-a-development-branch debugging clipping-processor document-skills (docx, pdf) session-routines replit-export-playbook

Skills follow the open agentskills.io standard, so the same skill is portable across different agent tools. A skill loads only when its trigger fires — it doesn't clutter the agent's context the rest of the time.

EVERY PROJECT
three contracts at the repo root v2

Where Skills are cross-project capabilities the fleet brings to any codebase, the three contracts below are the per-project files that ship inside each repo. They tell the factory what THIS product is, what its rules are, what it should look like. Without them, a worker has nowhere to anchor.

CLAUDE.md
Project context
What it is, how it's built, how it deploys. The agent reads this before any work.
AGENTS.md
In-scope vs hands-off
What the autonomous fleet may change, what needs Michael's call. Explicit guard-rails.
DESIGN.md
Visual contract
Colour tokens, typography, layout rules, anti-patterns. Enforced down to the pixel on UI changes.
THE LOOP
five stages — where skills and contracts meet

Skills define how the agents work. The three contracts define what the product is. The Loop is when they meet — five stages that turn an idea into a shipped commit. Every job the resident fleet picks up runs through this loop end-to-end.

01 — BRAINSTORM
Ideas, not yet code
Open-ended exploration. Surface 2-3 approaches with trade-offs. Pick a direction with Michael.
02 — SPEC
Write it down
A design doc captures the problem, the chosen approach, the architecture. Reviewed before code starts.
03 — PLAN
Bite-sized tasks
Spec → plan. Each step is testable, committable, and test-first. No placeholders.
04 — IMPLEMENT
A worker builds it
A worker becomes the Code Builder role, picks one task, writes the failing test, implements the minimum code, commits.
05 — REVIEW + SHIP
Independent review
A fresh reviewer reads the real change against the acceptance criteria. Pass merges to the main branch; concerns hold the commit and ping Slack.
QUALITY GATES
four checks on every commit

Nothing ships without passing four checks. The rule that drives them: a test passing isn't the same as a feature working.

GATE 1
Typecheck
Strict TypeScript / mypy. Every type error blocks the merge. No escapes.
GATE 2
Unit tests
Vitest / pytest, depending on stack. Fail-loud, no skips.
GATE 3
Live smoke
Automated browser tests run against the actual deployed app after every commit. If a real user would hit a broken page, it fails here first.
GATE 4
Screenshot proof
Every affected screen gets a screenshot attached to the commit. Evidence the feature works, not just that the tests say so.
TECH STACK
shared across products
Frontend
React · Next.js · Vite · Tailwind · shadcn/ui
Backend
FastAPI (Python) · Express (Node 24, TypeScript)
Database
Postgres + Drizzle · in-memory + JSON for early builds
Hosting (frontend)
Vercel — preview per PR, prod on merge
Hosting (backend)
Hetzner + Coolify (self-hosted Docker orchestrator)
DNS / Edge
Cloudflare
CI/CD
GitHub Actions — typecheck + build + Docker smoke + audit on every PR
Observability
Sentry · structured logs · Vercel Analytics
AI layer
Claude API — the cheapest capable model picked per task v2
← Home
03 · The Coding Factory

An idea in.
A deployed product out.

The agentic engineering pipeline that turns specs into shipped software. Skills encode how. The loop runs on every resident-fleet dispatch. Four blocking quality gates on every commit, then a fresh-context review before anything reaches master. Three contracts at every project root. Same factory, every product.

SKILLS
reusable agent capabilities

Skills are markdown procedures the agents auto-load when needed. They encode "how Michael wants this done" into something the fleet can reuse across products. A skill is small (a few KB), composable, and version-controlled. A few examples in active use:

brainstorming writing-plans executing-plans subagent-driven-development finishing-a-development-branch debugging clipping-processor document-skills (docx, pdf) session-routines replit-export-playbook

Skills follow the open agentskills.io standard, so the same skill works across Claude Code, Codex, Cursor, OpenCode and other agent harnesses. Skills are loaded only when their trigger fires — they don't pollute the agent's context the rest of the time.

EVERY PROJECT
three contracts at the repo root

Where Skills are cross-project capabilities the fleet brings to any codebase, the three contracts below are the per-project artifacts that ship inside each repo. They tell the factory what THIS product is, what its rules are, what it should look like. Without them a dispatched worker has nowhere to anchor.

CLAUDE.md
Project context
What it is, how it's built, how it deploys. The agent reads this before any work.
AGENTS.md
In-scope vs hands-off
What the autonomous fleet may change, what needs Michael's call. Explicit guard-rails.
DESIGN.md
Visual contract
Color tokens, typography, layout rules, anti-patterns. Pixel-level enforcement on UI PRs.
THE LOOP
five stages — the workflow that consumes both

Skills define how the agents work. The three contracts define what the product is. The Loop is when they meet — five stages that turn an idea into a shipped commit. Every resident-fleet dispatch runs one work-item through this loop end-to-end.

01 — BRAINSTORM
Ideas, not yet code
Open-ended exploration. Surface 2-3 approaches with trade-offs. Pick a direction with Michael.
02 — SPEC
Write it down
A design doc captures the problem, the chosen approach, the architecture. Reviewed before code starts.
03 — PLAN
Bite-sized tasks
Spec → implementation plan. Each step is testable, committable, in TDD shape. No placeholders.
04 — IMPLEMENT
Resident dispatch
A warm-pool worker becomes the code-sprint role, picks one task, writes the failing test, implements minimum code, commits.
05 — REVIEW + SHIP
Soft-gate review
A fresh-context Sonnet reviewer reads the actual diff vs the acceptance criteria. Pass fast-forwards to master; concerns park the commit and ping Slack.
QUALITY GATES
blocking on every commit
GATE 1
Typecheck
Strict TypeScript / mypy. Every type error blocks the merge. No any, no implicit, no escapes.
GATE 2
Unit tests
Vitest / pytest, depending on stack. Fail-loud, no skips.
GATE 3
Live smoke
Automated browser tests run against the actual deployed app after every commit. If a user-facing route breaks in production, it fails here — before any user sees it.
GATE 4
Screenshot proof
Every affected route gets a screenshot attached to the commit. Code-passes ≠ feature-works.
TECH STACK
shared across products
Frontend
React · Next.js · Vite · Tailwind · shadcn/ui
Backend
FastAPI (Python) · Express (Node 24, TypeScript)
Database
Postgres + Drizzle · in-memory + JSON for v1
Hosting (frontend)
Vercel — preview per PR, prod on merge
Hosting (backend)
Hetzner CX23 + Coolify (self-hosted Docker orchestrator)
DNS / Edge
Cloudflare
CI/CD
GitHub Actions — typecheck + build + Docker smoke + audit on every PR
Observability
Sentry · structured logs · Vercel Analytics
AI layer
Anthropic Claude API (Haiku/Sonnet/Opus per task)