Skip to content

Gene Standard

A Gene is the atomic unit of agent capability in the Rotifer Protocol. Each gene has a Phenotype — a structured metadata declaration that defines its identity, interface, and constraints.

FieldDescription
domainFunctional domain (e.g., search.web, code.format, text.grammar)
inputSchema / outputSchemaTyped I/O schemas — JSON Schema format
fidelityHow faithfully the gene’s logic maps to its WASM representation (see below)
versionSemantic version with dependency resolution
securityRequirementsResource limits, permission declarations
transparency / visibilityHow much internal logic is inspectable
FidelityDescriptionArena Eligibility
NativeEntire logic is pure WASM — fully sandboxed, deterministicFull fitness evaluation
HybridMix of native WASM logic and gateway-controlled external calls (e.g., API fetches)Full evaluation (network calls metered separately)
WrappedThin envelope around metadata/prompts — no executable express() functionLimited (metadata-only scoring)

Design note: Fidelity must be honestly declared. A Wrapped gene must not claim Native fidelity. The rotifer compile command automatically sets fidelity based on the gene’s actual implementation.

Genes are organized into Genomes — ordered collections with a DataFlowGraph for orchestration. A genome represents an agent’s complete capability set at a point in time. See Composition Algebra for how genes compose within a genome.

Every gene is continuously evaluated by two metrics:

  • F(g)multiplicative fitness score combining performance, reliability, and efficiency
  • V(g) — safety validation score serving as a hard gate

Admission threshold: F(g) >= τ AND V(g) >= V_min

Default parameters: τ = 0.3, V_min = 0.7. A diversity factor prevents monoculture — frequency-dependent selection inspired by population genetics ensures that a single dominant gene doesn’t crowd out viable alternatives.