Repos in 29 days with an AI pipeline – what broke wasn't code

lucianBKR1 pts0 comments

26 Repos in 29 Days With an AI Pipeline: What Actually Broke | LK Forge<br>Build Retrospective

26 Repos in 29 Days With an AI Pipeline: What Actually Broke

Between June 5 and July 3, 2026, this site went from an empty domain to 26 repositories, 1,549 commits, and 335 live pages — built by one developer working with Claude Code. The interesting part is not the volume. It is which failure modes showed up, because none of them were the ones the AI-coding debate argues about.

July 12, 2026 · 10 min read · all numbers from git logs, session transcripts, and Search Console

The Numbers<br>26<br>repositories

29<br>days

1,549<br>commits

335<br>pages shipped

Commits per day, all repositories<br>Jun 5 Jun 9 Jun 13 Jun 17 0 122 Jun 21 Jun 25 Jun 29 114 114Jul 3<br>Average ~53 commits/day. Peak: 122 on June 20. The single empty bar is June 18 — the only zero-commit day in the sprint. The two 114-commit days at the end are a site-wide URL-structure migration (more on that below).

The Setup

The pipeline is deliberately boring: one developer, Claude Code in the terminal, git for everything, and a static-first architecture. Games and tools are self-contained repos of vanilla HTML/CSS/JS; the hub site is Astro. Everything deploys to Cloudflare Workers with static assets at the edge — no backend, no database, nothing to babysit at 3am.

Each session followed the same loop: describe the goal, let the model plan and build, review the diff, make it verify its own work against the live site, commit. The verification step is the part that earns its keep — every failure story below was caught by a check, not by luck.

What the Pipeline Was Genuinely Good At<br>Working classical-AI engines, first try or close to it. The 2048 solver is a real expectimax search with a corner-snake heuristic and adaptive depth. Before publishing any performance number for it, we ran the exact production code through 250 headless self-play games: it reaches the 2048 tile in 69.6% of games at ~0.5 ms per move. The tic-tac-toe opponent is minimax with alpha-beta pruning; the pathfinding in Color Lines is BFS. These are textbook algorithms, correctly implemented, shipped in days — that part of the hype is real. The full solver internals are written up in How the 2048 AI Solver Works.

Volume with consistency. 335 pages sharing one brand system, one URL convention, one schema pattern. Once a convention was written down in a project memory file, the model applied it across dozens of pages without drift. The memory files turned out to be the highest-leverage artifact in the whole pipeline.

Audits at a depth a human would not sustain. Full link-graph crawls, redirect-chain verification across hundreds of URLs, per-page canonical checks against live HTTP responses. The model does the 400-URL tedium without getting bored — which matters, because tedium is where site-wide bugs hide.

What Actually Broke

Not one failure was a syntax error, a broken build, or code that did not run. Every real problem was structural — the kind that is invisible in any single diff and only shows up when you look at the system as a whole.

1. The pipeline competed with itself<br>Asked for a word-tools hub, the pipeline happily built one — at /word-tools/, while the existing tools lived under /tools/. Two pages on the same domain targeting the same queries: classic SEO cannibalization, self-inflicted. Search Console showed both URLs impressing for the same terms before we consolidated with a 301 and a sitemap exclusion. Each page was locally correct; nobody was watching the query-level picture. Lesson: the model optimizes the page you asked for, not the site you already have.

2. Twenty-six repos, two URL conventions, weeks of cleanup<br>Some tools were built as flat files (page.html), others as directories (page/index.html). On Cloudflare's asset serving those get opposite trailing-slash behavior — so the site accumulated canonical mismatches, two-hop redirect chains, and a batch of Search Console redirect errors. The fix consumed the two biggest commit days of the sprint (114 each) and produced a written URL convention plus a pre-deploy crawl checker that now gates every release. Lesson: conventions the model must follow have to be written before repo #2, not after repo #20.

3. Source and production drifted apart silently<br>Game repos are mirrored into the hub site for deployment. Over weeks, SEO improvements were applied to the production mirror and never back-ported to the source repos. The trap armed itself: the obvious "sync" operation — copy source over mirror — would have silently destroyed live metadata. It was caught only because a diff-before-copy check is now mandatory; the fix was to back-port until source and mirror were byte-identical. Lesson: any two copies of the same file will diverge, and the AI will not notice unless a check forces the comparison.

4. The verification tools lied too<br>The first link-graph audit reported a wave of orphaned pages. False alarm: the crawler compared absolute...

pipeline site repos days tools pages

Related Articles