Freezing and reseeding
The owner's flag that exempts an organism from culling and from carrying capacity, and the restart that founds a new pool from the frozen shelf.
Freezing marks an organism as one the owner keeps: a frozen organism is exempt from every culling pressure and is not counted against the pool’s carrying capacity. It is otherwise an ordinary member of the population, breeding and being judged like the rest. Reseeding restarts one track’s pool from a named set of organisms, culling everything else alive and unfrozen in that track.
The frozen flag
frozen is a column on the organism row, an integer defaulting to 0,
added to the table at startup alongside the public-judging columns.
POST /api/freeze takes an id and a frozen value. Any truthy value stores 1 and anything else
stores 0, so one route both freezes and thaws. The route requires only that the row exist: it does
not check the track and it does not check status, and setting the flag on a culled row does not
return that row to the pool. Each call writes a freeze event to the lab’s log.
Exemptions
| Pressure | Effect on a frozen organism |
|---|---|
| Clone purge | Never marked, though it still counts toward its clone family’s total. |
| Backlog relief | Never retired, judged or not. |
| Crowding | Excluded from the cullable set. |
| Senescence | Excluded from the cullable set. |
| Carrying capacity | Not counted. |
| Reseeding | Survives untouched unless named as a seed. |
Carrying capacity is measured over the unfrozen population alone, and so is the ratio that decides how thin the evidence for a death may be. Freezing therefore adds members to the pool rather than displacing them: the number the crowding pressure trims down to is the same whether the shelf holds nothing or holds twenty.
Behaviour freezing does not suspend
- It breeds. The parent pool is every alive organism of the track, frozen included, so a frozen organism is drawn for breeding on the same terms as any other.
- It is judged. Neither the owner’s pair scheduler nor the public one reads the flag, so a frozen organism keeps appearing in duels and keeps moving on both of judging’s ladders.
- It fills a slot in its clone family. A family holds a fixed number of token-near members and a frozen one occupies a place in that count, so freezing a look does not entitle the pool to extra copies of it. See diversity.
- It counts toward the unjudged backlog. Births halt for a track once too many alive organisms have no game from any judge, and a frozen organism in that state both counts toward the backlog and is exempt from the relief that would otherwise retire a redundant member of it.
- It can still be marked dead. The owner’s arena reports a shader that fails to compile or draw to
POST /api/invalid, which sets the row’s status to dead without reading the flag.
Reseeding a pool
POST /api/reseed takes a track and an array of ids.
- The track must be one the lab defines, and
idsmust be a non-empty array. - At most the first 500 entries are read. Each must be a positive safe integer naming a row in that track; every other entry is discarded.
- If no entry survives that filter the request is rejected and nothing is written.
The request then runs two statements. First, every organism in the named track whose status is
alive, whose frozen is 0, and whose id is not among the seeds is set to culled. Second, each seed
is reset. Other tracks are untouched, and so is any frozen organism that was not named as a seed.
The response carries the number seeded and the number culled, and a reseed event records both.
The route accepts any organism id belonging to the track. Confining the seeds to the frozen shelf is the behaviour of the owner’s page, not a constraint of the route.
Fields a reseed resets
| Field | After the reset |
|---|---|
status | alive, for every seed, including one that was culled or dead |
rating | the lab’s configured starting rating, currently 1200 |
games, wins | 0 |
error | cleared |
pub_rating, pub_games, pub_wins | unchanged |
frozen | unchanged |
render_ok | unchanged |
code, title, op, parents, gen, prompt_id | unchanged |
The owner’s ladder is what a reseed clears; the crowd’s is not. A seed carrying public games re-enters ranked on its public rating alone, because the blended figure selection reads falls back to the public column while owner games sit at zero.
The flag survives the reset as well. A pool seeded from the frozen shelf is therefore founded by organisms that are still frozen: the founding population sits outside carrying capacity and outside every culling pressure until it is thawed one row at a time.
The owner’s page
GET /api/leaders returns two lists for a track: the highest-rated alive organisms that have at
least one owner game, and every alive frozen organism, ranked by rating. The second list drives a
Frozen section above the leaders, which is hidden when it is empty. A frozen organism appears there
whether or not any judge has seen it.
Every card in either section carries a button reading freeze or thaw, which posts the opposite
of the organism’s current state and reloads the page. The Frozen heading carries a second button,
seed new pool from frozen, which asks for confirmation naming the track and the number of seeds,
then posts a reseed with exactly the ids of that track’s frozen list.
Both routes are owner-only. They sit behind the lab’s shared-secret check and, being writes, behind a further check that the request came from one of the lab’s own origins; a request failing either gets a 404 with no body. The public API is a separate, narrower route table handled before that check, and it contains no freeze and no reseed. Nothing it returns exposes the flag either: a public pair carries an id and a shader body, and a gallery item carries a body, its prompt gene and its taxonomy.
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 |
| db.js | 193eb96a460a |
| gallery.html | 610658446f1e |
| lab.config.json | a095dd3b3dab |
| public-api.js | f14fffef049d |
| server.js | 2ee5143085a9 |
What links here
- Death sends readers here
- Diversity sends readers here
- Organisms sends readers here
- The Rorschach Lab 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.
- Diversity each sends you to the other
- Death each sends you to the other
- Organisms each sends you to the other
- The Rorschach Lab each sends you to the other
- Breeding this page sends you there
- Judging this page sends you there
- Selection this page sends you there
- The gallery this page sends you there