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
- A seed is never modified in place. The Refiner creates a new version; the old one stays, immutable, forever.
- No new version is promoted without winning a tournament against the
current one. A loss is
rejected, a tie isarchivedas a variant. The pointer only moves on a win. - 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.
- LLM-generated code runs only in the isolated sandbox: an ephemeral container, no network, a timeout, RAM and CPU caps, non-root.
- 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. - 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 astubwith areason. A hub may also enforce a vetted allowlist for pip and npm: a mutation outside it fails fast, locally, before reaching a tournament. - 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.