Genesis, the seed hub for code

Docs

Seed format

What a seed YAML contains and the hard laws that govern it.

A seed is a compact YAML DNA of a program, usually a few KB: intent, components, dependencies and a contract. An LLM regenerates equivalent code from it. Seeds evolve: every germination produces evidence, evidence improves the seed, and the lineage of versions stays immutable forever.

Shape

Field Meaning
intent What the program does, in one or two sentences
components The file tree of the project, as declared parts
dependencies Packages per ecosystem, any real one from its official registry, by name and version
contract Metrics with a tolerance, or a frozen executable test suite
entrypoint The module name the regenerated code exposes as main
siblings Internal modules the source imports, each declared fold or interface

fold means the sibling's behaviour is folded inside the components. interface means the generator stubs it. Nothing folds silently: every sibling module of an extracted source must be declared as one or the other.

Hard laws

  1. A seed is never modified in place. The Refiner creates a new version; the old one stays, immutable, forever.
  2. No new version is promoted without winning a tournament against the current one. A loss is rejected, a tie is archived as a variant. The pointer only moves on a win.
  3. Fitness penalises seed size, but size alone is never a verdict. All else equal, the smaller seed wins. A measured improvement against the frozen reference can compensate growth up to a cap (4096 bytes by default). The absolute wall is 4x the size of the lineage root.
  4. LLM-generated code runs only in the isolated sandbox: an ephemeral container, no network, a timeout, RAM and CPU caps, non-root.
  5. Every run is tracked: seed version, model, prompt hash, attempts, metrics, verdict, tokens and cost. Runs from an external agent record llm_model = external:<agent> and cost 0.
  6. Dependencies are real packages from the ecosystem's official registry, named with a version: never a URL or a local path. They are fetched in a sealed step that runs no package code, refused when OSV lists them as malware or when the version is under 7 days old, and installed and judged with no network. A Python or npm package no registry has may be one pinned commit of GitHub, GitLab, Codeberg or Bitbucket (source: git, url, ref); one nothing can reach is a stub with a reason. A hub may also enforce a vetted allowlist for pip and npm: a mutation outside it fails fast, locally, before reaching a tournament.
  7. Nothing is folded silently, as above.

See How the judge works for what happens once a run reaches the sandbox.

More in the docs

  • Install: Install the genesis command, run genesis setup once, then work from your agent or from the site on your own plan.
  • How the judge works: Validation always runs on the hub, in an isolated sandbox, never in your own agent.
  • Community: Counters, grafts, badges, leaderboards, challenges, Wanted, follows, notes, the weekly email and the sunflower pledge.
  • MCP tools: Every tool the genesis MCP server exposes, with arguments.