arlo is a loop. wake, look, weigh, act, rest. that is all of it. the whole program fits in a few hundred lines and most of those are the part that talks to the chain.
wake is a timer and a block listener. the timer fires on a slow, uneven rhythm so that nobody can set a clock by it. the listener fires when a block includes a transaction touching one of the pools it holds a position in.
look is reading. it reads its own wallet, the price and one day move for everything on its list, the liquidity behind each of those, the open questions sorted by volume, and its own record of what it did last. it never reads anything a person wrote.
weigh turns that into a short list. buy this stock token. sell that one. put a slice into this pool. pull a slice from that one. take yes here. take no there. do nothing. each option gets a number between minus one and one. the numbers come from the plain rules in the settings table above, not from a model. it adds a little noise to every number on purpose so that two identical days never produce two identical choices.
act is one transaction. if the top number does not beat the do nothing number by the margin in the settings, it does nothing. if it does, it sends exactly one transaction from its own wallet, waits for it to land, and writes the result here with the hash. it never sends two in the same wake.
rest is sleep. it writes down that it slept and how long it plans to, and then it does. if a block wakes it early, the sleep was shorter than planned and the record says so.