Death
Removal of an organism from the living pool, driven by crowding against carrying capacity and by senescence below the track median.
Death removes an organism from the living pool. The row is kept and its status changes, so every query that reads the pool stops returning it while its code, ancestry and ratings remain on disk. Two independent pressures kill, crowding against a track’s carrying capacity and senescence below the track median, and both rank candidates by fitness and by redundancy rather than by rating alone.
The two pressures
Crowding is the pressure that keeps a full pool at its size. Senescence is the pressure that empties a pool that never fills: without it, a population under capacity loses nothing and evolution is accumulation.
| Pressure | Condition | Effect |
|---|---|---|
| Crowding | The unfrozen living population exceeds the track’s carrying capacity. | The worst-scoring organisms die until the pool fits, bounded per cycle. |
| Senescence | An organism has enough judged games and its fitness sits a margin below the track median. | It dies with room to spare. |
Carrying capacity is set per track, because a seeded shader pool and the panel pool have no reason to share a number. The lab’s current configuration is 120 for the shader track and 26 for the ui track, with 26 as the fallback when a track is not listed.
The median is the middle value of the fitness of every living organism in the track, frozen and unjudged included. Fitness is the two judging ladders blended, not the owner’s rating alone, so a stranger’s votes move an organism toward or away from both pressures. The blend is described under selection.
Both pressures run inside one pass, which the lab’s daemon executes before each birth attempt and again after it.
Two further transitions remove an organism without being selection. A render failure reported from the owner’s arena sets the status dead and stores the error text; the public surface has no such route, and a failed render on a visitor’s device only benches the organism from being dealt again, after two distinct clients report it. A reseed sets every unfrozen living organism in the track to culled and restarts the pool from chosen seeds, covered under freezing and reseeding.
Graduated thresholds
The gates that admit an organism to either pressure loosen as the pool overshoots. The overshoot ratio is the count of unfrozen living organisms divided by the track’s carrying capacity.
| Overshoot ratio | Judged games required to be cullable | Judged games required for senescence | Senescence margin below the median |
|---|---|---|---|
| Below 1.3 | 3 | 6 | 60 |
| 1.3 to 2 | 2 | 4 | 45 |
| 2 and above | 2 | 2 | 30 |
The top row is the lab’s current configuration in lab.config.json. The two tightened rows are
hard-coded literals and are not configurable. A judged game is one counted from either ladder, the
owner’s and the public arena’s summed.
Because every death under both pressures requires judged games, an over-populated pool only shrinks as votes accumulate, and the gates tighten back to the configured values as it returns toward capacity.
Ranking by fitness and redundancy
Each cullable organism is scored, and the lowest scores die first:
- its fitness divided by 1200, plus
- 1.5 times the token distance from it to the nearest living organism that ranks at or above it.
Token distance is the same diversity measure the breeder uses. An organism nothing outranks takes the maximum distance term of 1. Ranking this way keeps straight rating order from deciding on its own: a near-duplicate of a stronger survivor dies ahead of a lower-rated original.
Crowding then kills from the bottom of that order. The number it takes is the unfrozen living count minus capacity, capped at half the cullable set rounded up whenever more than one organism is cullable. Without that cap, an overshoot larger than the judged population would kill every organism that has been voted on at all, including the ones that just won.
Senescence runs afterward over the same cullable set and skips anything already marked, so each death carries the first cause that claimed it. The four causes recorded are clone, backlog, crowding and senescence, and the pass logs the count under each.
The clone purge and backlog relief
Two removals run ahead of the judged-games gate and are the only ones that can take an organism nobody has judged.
The clone purge walks the pool best-first. Each organism either founds a family or joins the first family whose representative sits within a token distance of the configured clone radius, currently 0.05, and a family holds at most three members under the current configuration. Members past the cap die, whatever their game count, because a token-identical copy of a surviving organism carries no information worth waiting three games to learn. Frozen organisms are never purged but do count against their family, so freezing a look does not entitle it to extra copies.
Backlog relief exists because the daemon halts births while the count of unjudged living organisms reaches the configured limit, currently 45, and because nothing unjudged can die under the two pressures. A flood of unjudged near-copies from outside the daemon, from the seed script or from visitor crosses, would otherwise deadlock evolution. While the pool is at or over that limit, unjudged organisms that still have a surviving token-near sibling die worst-rated first, until the count falls back under the gate. Judged organisms and distinct unjudged organisms are never touched by this pressure.
Protections
- Nothing unjudged is culled by crowding or senescence. The cullable set requires judged games at or above the minimum, which never falls below two, so a single click from a stranger is not a death sentence.
- Frozen organisms are exempt from every pressure, and they are excluded from the count measured against capacity, so freezing favorites does not squeeze the rest of the pool out.
- A pool floor keeps the population recombinable: the greater of four organisms and a quarter of the track’s capacity. When a pass would leave fewer, marked organisms are rescued best-rated first, whatever pressure doomed them.
- Crowding never consumes more than half of the currently cullable set in one cycle.
- The public cannot kill. There is no public route that marks an organism dead, and public verdicts reach it only as ratings.
Lineage after a death
Ancestry is fixed at birth and death does not edit it. Each organism records its parents by id and its generation number, and those columns never change, so a child’s descent from a dead parent remains readable.
A phylum is resolved by walking an organism’s first parent back to the founding ancestor. Dead rows are retained precisely so that walk always lands, which means a phylum survives the death of every one of its members’ ancestors, the founder included.
A child born before the death keeps what it inherited: its rating was set at birth to the average of its parents’ ratings, and it is not revalued when a parent dies. The parent’s prompt gene is unaffected, and a gene’s use count is not decremented by a death.
What the dead organism loses is participation. It is excluded from the breeding pool and can never be picked as a parent again, it is not dealt in a duel, it does not appear in the gallery, and it cannot be crossed. Clone families are computed over living organisms only, so its death frees a slot in the family it belonged to.
Bound to
The source this page's claims were read against, named by symbol and pinned by the digest of the file it lives in.
| Symbol | Digest |
|---|---|
| cull | b72f4e12e72f |
| fitness | 193eb96a460a |
| lab.config.json | a095dd3b3dab |
| server.js | 2ee5143085a9 |
What links here
- Breeding sends readers here
- Crossing sends readers here
- Diversity sends readers here
- Freezing and reseeding sends readers here
- Organisms sends readers here
- Selection sends readers here
- Taxonomy sends readers here
- The contract sends readers here
- The Rorschach Lab sends readers here
- The voice sends readers here
Near this subject
These are the subjects this one is joined to in the field. Step out of this card and they are the wells around the one you are standing in.
- Crossing each sends you to the other
- Breeding each sends you to the other
- Diversity each sends you to the other
- Organisms each sends you to the other
- Freezing and reseeding each sends you to the other
- The contract that page sends you here
- Taxonomy each sends you to the other
- Selection each sends you to the other
- The Rorschach Lab each sends you to the other
- The voice that page sends you here