A config-driven engine for nightly, cloud-scheduled, evidence-gated repository evolution. Freeze the model. Evolve the harness. Evaluation is not promotion — the machine never merges; a human does.
- npm: https://www.npmjs.com/package/dream-machine →
npx dream-machine init - Docs & live 4D site: https://ruvnet.github.io/dream-machine/
- Source: https://github.com/ruvnet/dream-machine
Every night, in an isolated cloud session, the Dream Machine runs one 26-step cycle against a repository:
ledger → research → frozen hypothesis → concrete candidate → baseline
→ evaluation → adversarial critique → bounded Darwin evolution
→ flywheel evidence → witness → issue → draft PR → durable ledger row
Every run ends in exactly one verdict — ACCEPT, REJECT, or INCONCLUSIVE. A rejected hypothesis with a clean measurement is a successful night. It optimizes for shrinking tomorrow's search space, not for producing PRs.
| Package | Role |
|---|---|
dream-machine |
the CLI (init/compile/schedule/ledger/witness/tui) + TUI — bundled, zero deps |
@dream-machine/compile |
dream.config → the full routine prompt (deterministic) |
@dream-machine/ledger |
the 10-column LEDGER.md toolkit + learning signals |
@dream-machine/witness |
sha256(sha256(report)+commit) provenance stamp/verify |
@dream-machine/schedule |
the cloud /schedule routine body emitter |
@dream-machine/memory |
optional ruvector/RVF semantic memory, flat-file fallback |
- 6 packages · 85 tests · CI green on Node 18/20/22 · CodeQL · guarded auto-merge
- Composes
@metaharness/flywheel·@metaharness/darwin·@metaharness/redblueas optional evaluation backends - Runs the nightly loop on itself (cron
0 9 * * *) — self-hosting, compiling its own prompt from its committed config
npx dream-machine schedule dream.config.json --env <cloud-env> --out routine.json
# then: /schedule → create a routine on cron "0 9 * * *" with routine.json
Prior art it answers: Sakana AI's "The AI Scientist" reward-hacking incident, and AutoGPT/BabyAGI-era loops with ~5% follow-through. The promotion gate, adversarial critic, reward-hack check, and human-only merge boundary exist precisely because of them.
MIT © rUv