Survival instinct — never place a disc where it can't clear vertically
preregisteredevidence: nonepublic informationAdds one human rule to the depth-4 search by refusing risky drops above a disc's vertical safe zone, then tests whether the rule extends life.
Give the depth-4 search one human rule at the root — refuse to drop a 3 or higher above the row where it could still clear vertically, and measure on fresh paired games whether refusing extends life, and how often the rule actually has to override the search's own choice.
The intuition
The owner's observation, from watching play: the search lets a 3 or a 4 land as the fifth or sixth disc of a column, where it can never clear downward, and a few rises later the game ends under it. A human treats that placement as a danger — "it must be cracked horizontally now", and simply does not make it when there is a choice. The entombed-disc analysis showed the observation is real (three quarters of the search's deaths end with such a disc on the board, with about two rises of warning) but that the search's board scorer already values those positions correctly. What it left open is the action: was the entombing move avoidable at acceptable cost?
This experiment asks exactly that, in the smallest form an "emergency mode" can take: a trigger computed from the public board and a constraint that overrides the search's preferred column.
How it works, step by step
- The trigger. Before each move the policy looks at the next disc's value n and each legal column's height. A column is packed by gravity, so a disc landing as the (n+1)-th disc or higher can never clear vertically. The landing row run is also known before any chance event.
- Two strengths of the rule. Strict refuses a column only when the disc would be vertically dead and already entombed by its row (run longer than n). Literal (the owner's wording) refuses every vertically dead landing unless the disc clears on arrival. Values 1 and 2 are exempt; the scorer already prices them.
- The same search chooses among what remains. The filtered search is the bit-exact fast fair-D4 search with a root mask (generated from the gated source by a checked substitution); with every column allowed it is the reference move for move. If the rule refuses every column, the unfiltered search decides.
- Coverage is measured, not assumed. At every root where the rule refuses something, the unfiltered search is also run, so the artifact records how often the rule actually changed the decision.
- One paired screen. Three arms (unchanged, strict, literal) play the same 128 never-read seeds at depth 4 with five chance samples. The gate, fixed before the seeds are opened: strict beats unchanged with a positive 95% lower bound, no lower-quartile regression, both halves positive, and an override rate of at least 2% (otherwise the rule barely applied and the run is inconclusive).
The record
Theory TH-20260822-survival-instinct-vertical-clear-26f173b5; experiment
EX-20260822-survival-instinct-root-filter-8531cbd9 (frozen, SCREEN); lease
SL-20260822T060000Z-a52c0000 (seeds 0xa52c0000–0xa52c007f for the screen,
the remainder reserved for replication). CHECK gates in
runs/RUN-20260822T063817Z-a5d4c143/gates.log: mask unit cases, parity of the
all-allowed filtered search with FastSearch, mirrored masks and actions,
thread-count determinism. The screen (RUN-20260822T063900Z-a4baa04e) is
queued behind the leaf-evolution screen so the two never share the machine.
Sources
filter.hpp: the trigger (vertically dead landing; strict and literal rules)build.sh— generatesFilteredFastSearchfromfast-search.hppwith a diff guardgate.cpp,run.cpp— CHECK gates and the three-arm paired cohort runner