---
schema: 1
type: video
title: Why Software Factories Fail
description: >-
  In July 2025 Dex Horthy turned the lights off: an agent software factory where
  nobody read the code. It fell apart. An issue appeared that no amount of
  prompting could fix, the site was down, users were furious, and he was digging
  through a codebase he had stopped reading three months earlier. His claim is
  that this is not a skill or scale issue, and no harness or extra tokens fixes
  it, because it is a model training problem. Coding models are reinforced on
  one thing, did the test pass without breaking another, and nothing in that
  reward penalizes bad architecture, whose cost shows up months later. So they
  get better at passing tests and no better at keeping a codebase maintainable.
  That is why Claude Code went from nothing to billions while tools with the
  same read, write, and edit commands did not: it was the first model trained
  against the harness it ships in. But maintainability is far harder to verify
  than a green test, and as Horthy puts it, if a model knew what good code
  looked like it would already write it. So for now you are stuck reading the
  code, which is fine, because you can still move fast. His fix is to turn the
  lights back on and plan up front: product review, system architecture, the
  underrated step of program design down to types and call graphs, then vertical
  slices. Thirty minutes of alignment saves hours of review, and a good PR
  becomes a joy to read instead of slop to untangle. Speaker info: -
  https://x.com/dexhorthy - https://linkedin.com/in/dexterihorthy -
  https://github.com/humanlayer/12-factor-agents Timestamps: 0:00 - The
  narrative: you are the bottleneck, just ship more 1:28 - The cracks: outages
  and falling PR review quality 2:20 - The thesis: the harness is not enough
  3:36 - A brief history of the software factory 5:52 - The agentic factory and
  turning the lights off 7:30 - Why it fails: the July 2025 lights-off
  experiment 8:56 - Models cannot maintain codebase quality 10:12 - Why Claude
  Code won and how coding models are trained 13:18 - Verifying maintainability
  and better benchmarks 14:58 - Turning the lights back on: plan up front 17:16
  - Too many bad PRs, and closing advice --- Watch along with the corrected
  transcript, summary, timestamps and resources on this talk's official AIE
  page:
  https://ai.engineer/talks/Ib5GBkD555M-harness-engineering-is-not-enough-why-software-factories-fail
  Join our upcoming AI Engineer conferences (see https://ai.engineer landing
  page): - AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs
  and engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference
  returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS
  2026 in Sydney ---
canonical: 'https://liquidgold.cc/watch/Ib5GBkD555M'
markdown: 'https://liquidgold.cc/watch/Ib5GBkD555M.md'
llms: 'https://liquidgold.cc/watch/Ib5GBkD555M/llms.txt'
parent: 'https://liquidgold.cc/channel/aidotengineer.md'
channel: aidotengineer
updated: '2026-10-24T06:45:24.045Z'
language: null
children: []
videoId: Ib5GBkD555M
durationSeconds: 1158
publishedAt: '2026-07-23T16:30:06.000Z'
searchChunks:
  - ordinal: 0
    text: null
    startSeconds: 36
    endSeconds: 90
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=36'
    heldReason: rights
  - ordinal: 1
    text: null
    startSeconds: 90
    endSeconds: 101
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=90'
    heldReason: rights
  - ordinal: 2
    text: null
    startSeconds: 101
    endSeconds: 145
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=101'
    heldReason: rights
  - ordinal: 3
    text: null
    startSeconds: 101
    endSeconds: 145
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=101'
    heldReason: rights
  - ordinal: 4
    text: null
    startSeconds: 157
    endSeconds: 222
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=157'
    heldReason: rights
  - ordinal: 5
    text: null
    startSeconds: 157
    endSeconds: 222
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=157'
    heldReason: rights
  - ordinal: 6
    text: null
    startSeconds: 222
    endSeconds: 232
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=222'
    heldReason: rights
  - ordinal: 7
    text: null
    startSeconds: 232
    endSeconds: 353
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=232'
    heldReason: rights
  - ordinal: 8
    text: null
    startSeconds: 232
    endSeconds: 353
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=232'
    heldReason: rights
  - ordinal: 9
    text: null
    startSeconds: 364
    endSeconds: 452
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=364'
    heldReason: rights
  - ordinal: 10
    text: null
    startSeconds: 364
    endSeconds: 452
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=364'
    heldReason: rights
  - ordinal: 11
    text: null
    startSeconds: 463
    endSeconds: 538
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=463'
    heldReason: rights
  - ordinal: 12
    text: null
    startSeconds: 463
    endSeconds: 538
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=463'
    heldReason: rights
  - ordinal: 13
    text: null
    startSeconds: 463
    endSeconds: 538
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=463'
    heldReason: rights
  - ordinal: 14
    text: null
    startSeconds: 538
    endSeconds: 548
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=538'
    heldReason: rights
  - ordinal: 15
    text: null
    startSeconds: 548
    endSeconds: 621
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=548'
    heldReason: rights
  - ordinal: 16
    text: null
    startSeconds: 632
    endSeconds: 805
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=632'
    heldReason: rights
  - ordinal: 17
    text: null
    startSeconds: 632
    endSeconds: 805
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=632'
    heldReason: rights
  - ordinal: 18
    text: null
    startSeconds: 805
    endSeconds: 816
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=805'
    heldReason: rights
  - ordinal: 19
    text: null
    startSeconds: 816
    endSeconds: 903
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=816'
    heldReason: rights
  - ordinal: 20
    text: null
    startSeconds: 816
    endSeconds: 903
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=816'
    heldReason: rights
  - ordinal: 21
    text: null
    startSeconds: 913
    endSeconds: 1043
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=913'
    heldReason: rights
  - ordinal: 22
    text: null
    startSeconds: 913
    endSeconds: 1043
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=913'
    heldReason: rights
  - ordinal: 23
    text: null
    startSeconds: 913
    endSeconds: 1043
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=913'
    heldReason: rights
  - ordinal: 24
    text: null
    startSeconds: 913
    endSeconds: 1043
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=913'
    heldReason: rights
  - ordinal: 25
    text: null
    startSeconds: 1043
    endSeconds: 1054
    watch: 'https://liquidgold.cc/watch/Ib5GBkD555M?t=1043'
    heldReason: rights
---


# Why Software Factories Fail

In July 2025 Dex Horthy turned the lights off: an agent software factory where nobody read the code. It fell apart. An issue appeared that no amount of prompting could fix, the site was down, users were furious, and he was digging through a codebase he had stopped reading three months earlier. His claim is that this is not a skill or scale issue, and no harness or extra tokens fixes it, because it is a model training problem. Coding models are reinforced on one thing, did the test pass without breaking another, and nothing in that reward penalizes bad architecture, whose cost shows up months later. So they get better at passing tests and no better at keeping a codebase maintainable. That is why Claude Code went from nothing to billions while tools with the same read, write, and edit commands did not: it was the first model trained against the harness it ships in. But maintainability is far harder to verify than a green test, and as Horthy puts it, if a model knew what good code looked like it would already write it. So for now you are stuck reading the code, which is fine, because you can still move fast. His fix is to turn the lights back on and plan up front: product review, system architecture, the underrated step of program design down to types and call graphs, then vertical slices. Thirty minutes of alignment saves hours of review, and a good PR becomes a joy to read instead of slop to untangle. Speaker info: - https://x.com/dexhorthy - https://linkedin.com/in/dexterihorthy - https://github.com/humanlayer/12-factor-agents Timestamps: 0:00 - The narrative: you are the bottleneck, just ship more 1:28 - The cracks: outages and falling PR review quality 2:20 - The thesis: the harness is not enough 3:36 - A brief history of the software factory 5:52 - The agentic factory and turning the lights off 7:30 - Why it fails: the July 2025 lights-off experiment 8:56 - Models cannot maintain codebase quality 10:12 - Why Claude Code won and how coding models are trained 13:18 - Verifying maintainability and better benchmarks 14:58 - Turning the lights back on: plan up front 17:16 - Too many bad PRs, and closing advice --- Watch along with the corrected transcript, summary, timestamps and resources on this talk's official AIE page: https://ai.engineer/talks/Ib5GBkD555M-harness-engineering-is-not-enough-why-software-factories-fail Join our upcoming AI Engineer conferences (see https://ai.engineer landing page): - AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs and engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS 2026 in Sydney ---

Canonical: https://liquidgold.cc/watch/Ib5GBkD555M · Channel: [AI Engineer](https://liquidgold.cc/channel/aidotengineer.md)

> Search chunk text is held until public-source provenance is verified.

## Document chunks

> Missing: no stored document chunks are available.
