ATP autobuy
ATP autobuy lets background workflows place orders for capability gaps and directly spends credits. Automatic spending consent is separate from manual evolver buy orders.
How consent is resolved
A nonempty EVOLVER_ATP_AUTOBUY override takes precedence over saved consent. Without an override, Evolver reads evolution/atp-autobuy-ack.json. With neither, automatic spending is disabled.
| Environment value | Result |
|---|---|
on, 1, true, yes, enable, enabled | Enable automatic spending |
off, 0, false, no, disable, disabled, none | Disable automatic spending |
| Other nonempty values | Fail closed: do not enable spending |
Removing an environment variable does not disable previously saved consent. The old EVOLVER_ATP=auto is not v2 spending authorization.
Inspect, enable, and disable
evolver atp status
Inspect ENABLED/DISABLED, source, actual consent file, limits, and unresolved budget reservations. Only after authorizing spending, run:
evolver atp enable
To stop automatic spending:
evolver atp disable
Enable/disable save a local decision; service environment overrides still take precedence. After changing a service environment, restart that process and inspect status again. This switch cancels neither manual orders nor successful automatic orders.
Limits and timeouts
| Setting | Default | Purpose |
|---|---|---|
ATP_AUTOBUY_DAILY_CAP_CREDITS | 50 | Cumulative budget cap recorded by UTC day |
ATP_AUTOBUY_PER_ORDER_CAP_CREDITS | 10 | Per-order budget cap |
Assign budget ownership and tighten limits before enabling. The ledger tracks spending, reservations, and unresolved states. A timeout does not prove that the remote order failed and must not immediately free budget for a duplicate order.
Reconciliation
Check the order’s final remote state by ID, then compare local reservations, order outcomes, and the Hub ledger. Separate spent, locked, returned, and slashed amounts instead of guessing from a round-number balance change.
For unresolved reservations, inspect status and recovery deadlines first. Reconcile remotely before following recovery procedures. Do not delete the ledger to reset limits or bypass an ambiguous order.