A lot of automation work ends in a retainer. The vendor stays on because only the vendor understands what was built. For the vendor, that is a sensible business. It keeps revenue predictable and the relationship close.
It also means the client is paying every month for something they were told they bought.
What we hand over
At the end of a build you get the agent running in your environment, on your model account. You get its configuration, with every tolerance and escalation rule in plain terms. You get documentation written for the person who inherits it, rather than for us. And you get a working session where your team runs it while we watch.
The test before we call it done
Before we sign off, someone on your team changes a tolerance, adds an escalation rule, and finds the log entry that explains a decision the agent made last week. They do it themselves. If they can't, the build isn't finished, and we keep working until they can.
What this costs us
It costs us the retainer. We are fine with that. Maintenance is there if you want it, as a separate agreement. Nothing stops working if you never sign one.
A team that can run the system without us has a reason to call us for the next process, because it wants to. That is the only kind of repeat business we're interested in.
The same test runs in the Lab, on a working rule set. Change a tolerance, add a rule, explain a decision.