I own two glamping units near Kempner, Texas, the Satao safari tent and the Hideout tiny home, and their prices used to come from three systems at once. PriceLabs had its discounts, the property-management system had yield rules of its own, and Airbnb ran its own discounts on top of both without any of them showing up in the others. When I handed pricing to an agent I gave it one standing instruction: “i want the agent ai to seek ever higher income from this. it should seek to constantly improve if it can.” The rest of the setup is rules about how it’s allowed to do that.
What it’s trying to raise
The number is total net dollars, meaning revenue minus the cleaning I pay for on every stay minus the channel fees. I told it plainly that a better nightly rate means nothing if I take home less over the year, and the file it works from shows how a rate rise that costs a few nights can look good on every per-night metric and still earn almost nothing. Its win test has four conditions, and the two that matter most are that total net beat the same period last year at the same lead time, and that the gain cleared the break-even written down when the test began.
One change at a time, with the way back written down
A scheduled agent runs every morning. It changes one reversible thing at a time, and two experiments may run together only if what they move and what judges them don’t overlap, which a confound map in the file settles before anything starts. Every experiment carries a hypothesis, a break-even worked out before the change, and a decision date, and nothing is judged before thirty days because the business books too few stays for a week of data to mean anything. The rollback goes into the experiment log at the moment of the change, written as the exact steps to put the old setting back.
Saving a setting doesn’t count as changing a price, either. After every change the agent re-reads the setting, pushes the sync and quotes real dates on the booking engine and on Airbnb, because PriceLabs and the property-management system have both dropped edits silently before.
STATE.md is the only memory
No session remembers the one before it, so a file called STATE.md carries the whole program, from what’s running and when each test gets decided to a closed list of things nobody may quietly retry. Every run reads it before touching anything and rewrites it before finishing, and every run has to declare how it ended. It either started or advanced a test, judged and closed one and queued the next, or wrote down why waiting is worth more than acting, and “nothing to report” doesn’t qualify. When the scheduler failed to fire for a stretch, the file says so in a banner at the top, along with the fact that those missing days can’t be reconstructed.
I make the calls
The agent does reversible, in-scope work on its own once I’ve said go, and anything material comes to me first. When it audited every booking channel, it found that every Expedia booking in the past year had carried an Expedia-side discount, laid out my options and waited, and I chose to raise the Expedia markup. Nine days later it flagged what looked like a new public discount on Expedia, then compared the same dates in a fresh browser with no Expedia history against my own browser. The discount only showed up in mine, so it withdrew the alarm and wrote down which browser to trust for the public price.
Some of my rules are absolute, starting with “don’t email anyone,” and the Gmail send tools are now denied in my settings so it can’t happen by accident. The Satao freezes in winter, so it’s blocked from December through the first of March, and the agent may unblock a night only when two separate forecasts both show a low of at least 40°F for that night and the nights on either side.
It also has to say when it’s wrong. During one test the Satao’s average rate rose 27 percent while its total net fell 8 percent, and the agent’s first lean was to keep the change on attribution grounds. An adversarial review agent called that a rationalisation of a failed metric, so the agent reverted it and wrote “This cost money” into the experiment log.
Today
It runs each morning against the live calendars, with several tests open and the next ones queued in the order the evidence points. If you price anything that lives on a calendar, I’ll gladly show you the state file.