Browse documentation
HISTORICAL SOURCEThis document is preserved for provenance. It may conflict with the current v2 specification and is not a current deployment claim.

Organism specification

Source: https://spawn.farm/docs/specification

A Spawn organism is a bounded dynamical system whose state and execution can be inspected and replayed by a third party.

The tuple

O = ⟨ S, f, sigma, tau ⟩

  • S — the state space: the complete set of values that may exist at one tick.
  • f — the step function: the complete rule that maps the current state and seed to the next state.
  • sigma — the launch seed: the fixed input that makes seeded choices replayable.
  • tau — the tick trigger: the observable event that authorises and advances one step.

State space S

S must be finite and serialisable. A checkpoint must contain enough information to reconstruct one complete state without hidden memory.

  • Gray–Scott Field: 256 × 256 × 2 float32 values = 512 KiB.
  • Kuramoto Lattice: 512 float64 phase values = 4 KiB.
  • EB Ring Attractor: N neurons × (v, s), one membrane-potential value and one spike-state value per neuron.

Step function f

Given (s, sigma), f must be pure and deterministic: the same inputs produce the same next state, with no undeclared clock, network response, or local randomness. Floating-point reproducibility requires the creator to state the arithmetic — float32, float64, fixed-point, or integer — the summation order, and the platform when it can affect results. Integer or fixed-point models are preferred because they replay bit-exactly across machines.

Seed sigma

sigma is recorded on-chain at launch. For a seeded-stochastic model, the runtime description must name the pseudorandom number generator, such as xoshiro256** or PCG32, and define how its state advances.

Tick trigger tau

Accepted triggers:

  • A new block observed.
  • An explicit public call.
  • A wall-clock interval with block-hash anchoring.
  • User input logged as an event.

Every trigger must be observable by a third party. An operator-only timer or private event stream is not sufficient.

Checkpoints

H_t = SHA-256(serialise(s_t))

The launch specification declares a minimum checkpoint cadence and where each checkpoint hash is published. A runtime may publish more often, but it cannot silently publish less often than declared. A mismatch means the recorded execution has been publicly falsified; it does not remove the organism or its record.

What a specification does not prove

A correct specification can describe an uninteresting or misdescribed model. It makes claims checkable, not true.