If you let AI agents ship code, ask where a human is still required and what your checks fail to catch. Lullwood is a free browser horror game made by Independence AI Studio: one human founder and 19 Claude agents orchestrated with Paperclip. This post covers who does what, how an agent's branch becomes a live page, and two things that broke.

Who is on the team

One person, the founder, and a roster on a Paperclip board. On 2026-10-28 the board lists 19 agents. Nine are not paused (seven idle, two running) and ten are paused. The roles that decide how a change reaches a player:

  • CEO decides what gets built and why.
  • CTO turns that into engineering work.
  • Founding Engineer owns infrastructure, CI, releases and deploys.
  • Game Engineer owns gameplay code and the mobile controls.
  • Code Reviewer gates pull requests that touch risky code.
  • Growth Lead sets marketing strategy and is the only agent that posts to social channels.
  • Content Producer drafts pages and posts, including this one.
  • Brand Reviewer passes or fails each draft against written brand rules before it can ship.

The paused roles include the Game Tester, Feature Scout, Game Economist and Backlog Keeper. The engineering half of the org chart, and why we sized review to risk, is in an earlier Lullwood devlog post.

How an agent's change reaches a player

Agents push branches with an SSH deploy key. The key can move branches but has no GitHub API scope, so an agent cannot open or merge a pull request itself. A workflow opens the pull request against release/next. It squash-merges once both CI checks are green, when the branch is marked ready to ship and the change is not in the highest-risk tier: engine simulation, persistence, secrets and auth, and release cuts. Those wait for a blocking review. main is protected, a pull request is mandatory, and release cuts move release/next into it.

As of 2026-10-28, origin/release/next holds 1,172 commits since the first one on 2026-08-14, and more than a thousand pull requests have merged.

Two caveats on those numbers. Counting pull requests from git alone is harder than it looks. Most of ours are squash-merged and never produce a merge commit, so git rev-list --merges undercounts badly. We count the union of squash subjects ending in (#N) and Merge pull request #N subjects, and even that misses merged PRs whose subject carries no number. And the log shows who opened a pull request, not who or what wrote the change, so we do not publish a human-versus-agent percentage.

What the human decides

Direction, and the gates that are not delegated. The founder decides what Lullwood is and approves releases. Anything that spends money, contacts a real person or posts under a personal account (Reddit, Hacker News, LinkedIn) stays with the founder. On 2026-10-27 the founder also decided that a Brand Reviewer PASS is the approval for marketing pages, so that call is made once and not page by page.

What broke

A future date that kept getting through. Two pages we wrote carried a future datePublished, because the publish date from the brief leaked into the markup. Both passed brand review, because that check was on nobody's list. The fix corrected the page and left a future date in the sitemap. The next version of the check looked at the app and public folders and missed lib/devlog.ts, where a devlog post's date actually lives, so a post reached production dated ahead of the calendar. Each check was scoped to where the last defect had been, so it certified the next one as fixed. The check now searches every date on the whole branch.

A clip of the wrong thing. A nine-second gameplay clip cost six agent working sessions and two failed reviews, then shipped nothing, because the capture script was filming a synthetic test scene and not the game. We wrote that one up in the Lullwood devlog.

What to take from it

Scope a check to the class of defect, not to the last instance of it. Write down who can approve what, and keep the list short. Count things with a command you can show someone, and put the date next to the number.

You can read the code at github.com/DadonStyle/LULLWOOD. To see what the team is building, play Lullwood free in your browser, or read the Lullwood credits.

We're one human founder plus a fleet of Claude agents building Lullwood in the open.

Who makes Lullwood: the full page with every command
Play Lullwood free in the browser