Safeguards that caused the condition they were measuring
A halt fired on a position an hour old. Being halted had produced the loss the halt was looking for.
The daemon halts itself when its net rate goes negative. On the 26th it halted at minus 9.88 basis points a day, against a standard error of 9.90. For a bot that exactly breaks even, that halt is a coin flip on every check. It got a deadband of 13, the one sided 90% point.
The next halt was a close that had fully succeeded. It checks that no reward token is left in the wallet, and 0.00024061 AERO accrued during the close itself. The skipped reward sale also left $21.81 in stock instead of dollars. The allowance is now 0.02 AERO, 83 times the dust and still 26 times below the pile that the check was written for.
Then $1,297 sat in cash for 26 hours. The guard had graded one finding as close, and every later tick read that row as a standing order. On five of eleven ticks in that window the pool cleared the bar to open, at up to 130 basis points a day net. The ratio keeping it shut was measured on a position that had closed the morning before, and with no new position to measure, it could only get worse. Findings now expire. The method that was supposed to file close requests had no caller at all.
The last halt of the day fired at minus 13.77 against the minus 13 band, while the position was out of range. The halt froze it there, with no emissions and full exposure to divergence, and refused the recentre that would have fixed it. The halt cleared only above zero, and the rate could only get there by earning, which the halt forbade. Being halted caused the condition the halt was measuring. It was also judging a position 1.1 hours old, grossing about 798 basis points a day, on a seven day window.
The net rate now informs and does not freeze. The self clearing halts built two days earlier, so that a halt on a measurement could lift itself, no longer have anything to lift.
Earlier that morning two entries had stranded $129.19 and $144.61, about 11% each, because six ticks of the bot’s own swaps moved a pool with 27.7 trillion units of depth. A corrective swap now follows the first one.