A pilot result is not a production result, and never has been
The pilot ran on a curated sample, in a quiet week, watched by the person who built it, with somebody quietly fixing anything odd before anyone else saw it. Production runs on everything, in the busiest week, unwatched, at two in the morning. Expect the accuracy you measured in the pilot to drop once it meets the full mix of real work. That is not failure, it is the normal gap, and the entire point of testing on real edge cases before you commit is that you know the size of the gap in advance rather than discovering it in front of a customer.
AI should not be the last word on anything hard to reverse
We do not put an automated system in sole charge of a step you would struggle to undo: paying money out, issuing a credit, changing somebody's pay, cancelling a booking, sending a legal or clinical communication, or lodging anything with the ATO. The pattern that works is that it drafts, prepares and routes, and a person approves the irreversible step, with that approval logged. Over time you can widen what runs unattended by tracking how often the human changed the answer, but you widen it on evidence, not on optimism.
The copy-of-the-data demo hides most of the real work
Most of the stalled pilots handed to us were built against an export, and exports are clean. The live system has half-entered records, duplicate customers, jobs edited by two people at once, fields your team repurposed years ago for something else entirely, and rows the automation must not touch. Rebuilding against the live system, with sane handling for a write that fails partway through, is often more work than the original pilot. Budget for it honestly at the start and it is a task. Discover it at go-live and it is the reason the project dies.
Run cost is a monthly commitment and it moves with volume
A build price is a one-off, a run cost is forever, and usage-based pricing rises with your busiest month, not your average one. Before the go decision we cost it per month in AUD across usage, licences, hosting, monitoring and the human review time still required, model it at peak volume, and put a spend cap and an alert in place. Well-built automations get switched off not because they failed but because nobody could tell the board what they cost to keep running.
A rollback nobody has rehearsed is not a rollback
Every production system needs a documented way back to the manual process and a kill switch a non-technical manager can throw without a phone call. Write down who is allowed to stop it, how they do it, what happens to work already in flight, and who has to be told. Then run the drill before go-live, at a quiet time, and time how long it takes. The drill usually exposes something awkward, commonly that half-processed items have nowhere sensible to go. Far better to find that in a rehearsal than in the middle of a real incident.
Sometimes the honest answer is no-go, and that is a good outcome
Not every pilot should ship. If accuracy on real edge cases is not good enough for the consequence of an error, if the run cost is higher than the work it replaces, if the only way in is a fragile screen-scrape of a system the vendor is retiring, or if the volume is simply too low to justify the support burden, then no-go is the right call. Write down the reason, the number that would have to change, and the date to look again. A documented no-go is a decision the business can learn from. A pilot left drifting for a year is the same no-go taken slowly, with none of the learning and all of the cost.