lullabeast Guided walkthrough · replaying the MultiLife build · nothing here is live step 3 / 4
projects/MultiLife
Stop Pipeline Running Reviewer Queue: 0 waiting

Current Phase

CORE-E4 reviewer 3m 02s active 14s ago

Per-team statistics tracking, running peak territory and generations survived for each team, reset on reseed.

Agent attempts

Planner 23 1 / 3
Executor 23 1 / 3
Reviewer 123 1 / 3

Roadmap

Activity Feed
TimeProject / PhaseEventWhat happened
MultiLife · idea to PRD with prd-creator
Type a message…
AttachSend
PRDRoadmapVerification

MultiLife

Problem StatementChangedNoteEditShow diff

Conway's Game of Life is normally single-color, with no notion of competing factions. Naïvely adding color by parent-inheritance (the classic Immigration / QuadLife variants) gives dynamics bit-for-bit identical to monochrome Life, the color is cosmetic and nothing actually competes. MultiLife simulates genuinely competitive multi-team automata where territory is contested and flips, lets you compare it against plain single-color Conway, and reports a quantitative endgame verdict. It runs fully offline, no dependencies, no network, no persistence.

Goals & Success MetricsChangedNoteEditShow diff
  • Faithfully simulate two rule modes: single-color Conway (Classic) and a competitive multi-team variant (Conquest), on a toroidal grid.
  • Next-state is deterministic and order-independent via double-buffering; Classic is exactly standard Conway; in Conquest contested cells visibly flip allegiance along fronts.
  • On stabilization, auto-halt and present a correct verdict: still lifes, oscillators, and extinction detected and labeled, with cycle-start generation, cycle length, winner, and per-team ranking.
User StoriesChangedNoteEditShow diff
  • As a user studying competitive automata, I want to watch 2-4 colored teams contest a grid where cells defect to stronger neighbors, so I can see fronts form, advance, and collapse.
  • I want a live per-team readout (count, % territory, peak) and a territory-over-time graph, so I can track the battle and watch a team get wiped out.
  • I want an automatic endgame summary when the board stabilizes, so I learn the winner, stabilization generation, cycle length, and full ranking.
  • I want a Classic single-color mode, so I can study plain Conway with the same analytics.
Functional RequirementsChangedNoteEditShow diff
  • Single self-contained index.html: no dependencies, no network, no build step, no persistence; vanilla JS + Canvas 2D.
  • 120×80 toroidal grid; cell holds a team id (0=dead, 1-4=team); 8 Moore neighbors; double-buffered step() reads a snapshot then swaps.
  • Shared rules: survival at 2-3 neighbors; birth at exactly 3 (plurality team); QuadLife missing-color fallback for a 1/1/1 tie at teams=4.
  • Conquest: a surviving cell defects to a single enemy team that strictly outnumbers its own; ties never convert. Classic forces teams=1.
  • Render to a 480×320 pixelated canvas; fresh (born/converted) cells at alpha 1.0, survivors at ≈0.72.
  • Controls: Run/Pause (spacebar mirrors), Reset, Mode, Teams 2/3/4, Speed 1-60 (default 18); reseed ~16% live, uniform random team.
  • Per-team readout bars + generation counter; territory line graph (~940-gen ring buffer, extinct teams as flat-zero lines).
  • Stability via full-board double-hash; extinction a distinct stable state; endgame card with verdict, winner, summary, ranked table, Run-again.
  • Ranking: generations survived (desc), then final territory (desc), then peak (desc).
Edge CasesChangedNoteEditShow diff
  • All teams reach 0, treated as extinction (stable); rank by generations survived, top team "lasted longest".
  • 3 distinct-team parents at teams=4 apply the QuadLife missing-color rule.
  • Chaotic / long-period runs never stabilize: keep running, hash history bounded (~20,000 states) to cap memory.
  • Mode or team-count changed mid-run reseeds and resets all stats.
Non-Functional RequirementsChangedNoteEditShow diff
  • Performance: sustain up to 60 generations/second on 120×80 using typed arrays, capping ≤4 sub-steps per animation frame.
  • Reliability: hash history cleared past ~20,000 states, detection restarts; non-stabilizing runs never error.
  • Offline / privacy: no network request, no external resource, no logging or persistence.
  • Aesthetic: tactical-console palette; fixed team colors (1 Amber, 2 Teal, 3 Rose, 4 Violet).

Roadmap

11 ordered phases, each verification-gated.

Verification

Project type

web-app

Entry point

Open index.html directly (file:// works), or serve it with python3 -m http.server 8000.

Public surface

  1. Open the page and immediately see a grid of colored teams on a dark canvas with controls below.
  2. Click Run and watch teams contest territory in Conquest; switch to Classic for single-color Conway.
  3. Let a run stabilize and see the endgame verdict card with the winner and a ranked table.

Verification stack

Acceptance tool: playwright. The reviewer launches a real browser, exercises the controls and canvas, and confirms the endgame verdict rather than relying on jsdom.

PRD readiness 10 / 10 Roadmap confidence: high Continue to Setup →

Project Queue

0 running 0 attention 0 queued 6 complete

Six real builds from the pipeline. Click MultiLife to open its full cost & token controls.

Setup & Preflight

Step 1 · Repository path

Confirm the repository path Lullabeast will build in.

Edit
/home/x/projects/MultiLife

Step 2 · Project Idea

The roadmap and verification doc come from Project Ideas, authoring lives there.

From Project Ideas MultiLife 11 phases Open in Project Ideas →
PRD readyRoadmap readyVerification ready

▶ Show carried-in content (read-only)

Step 3 · Completion Report

Automatically generate documentation and next steps when the pipeline completes.

Step 4 · Preflight

Checks symlink, .gitignore, workspace files, and roadmap. Launch adds scaffolding and sets the active project.

Last run: just now
fixed

roadmap write: Wrote roadmap.md from the MultiLife idea

fixed

prd write: Wrote prd.md

fixed

verification write: Wrote verification.md

pass

pipeline artifacts dir: Pipeline artifacts directory ready (/home/x/projects/MultiLife/.autodev/pipeline)

fixed

.gitignore: Created .gitignore with pipeline entries

pass

.gitignore entries: All required entries present

pass

workspace symlink: pipeline_state.json points at /home/x/projects/MultiLife

Preflight passed, ready to launch.

Current Phase

Pipeline Complete

11 of 11 phases completed

Per-phase

PhaseDurExecsCostTokensResult
Completion Report

MultiLife

Generated 2026-06-27 · pipeline run CORE-E1 through UI-E2

What was built

MultiLife is now a fully self-contained browser simulation of competitive multi-team cellular automata. It ships as a single index.html with no external dependencies, no network calls, and no build step. The simulation runs a 120×80 toroidal grid with double-buffered Conway rules, supports Classic single-color mode and a 2-4 team Conquest mode with territory conversion, and presents live analytics plus an automatic endgame verdict when the pattern stabilizes.

Entry points

Open in browser: index.html (open directly, file:// is fine).
Run tests: npm test (Playwright against index.html).

How to run

cd projects/MultiLife
npm install
open index.html

Suggested next steps

  • Add a step-forward control for frame-by-frame inspection during debugging.
  • Expose grid state via a query-string API for shareable starting configurations.
  • Add an in-page legend explaining Conquest mode and the ranking rules.
  • Package the simulation loop as a reusable module so the engine can be driven from Node.js.
Activity Feed
TimeProject / PhaseEventWhat happened
21:21MultiLifePipelinePipeline complete, 11 of 11 phases shipped
21:21MultiLifeReportCompletion report generated and written to .autodev
21:21MultiLife / UI-E2Phase EndPhase complete, reviewer approved (CLEAN)
21:02MultiLife / UI-E2AttemptExecutor attempt 2 succeeded after a self-failure retry

step 3 / 4Pipeline Monitor

The live loop. Each phase runs planner → executor → reviewer, with deterministic gates between them. Watch the attempts, the running cost, and the activity feed.

Best on a desktop

The walkthrough recreates the full Lullabeast dashboard, a wide, multi-panel desktop UI that doesn't fit a phone. Open it on a desktop or laptop for the real thing.