Decision::edit() exists in laravel/ai 1.2.0 and ran a gated tool with 1,800 instead of 5,000, even though the announcement examples show only approve and reject.
Agent::fake() never runs tools when you resume with decisions, so a faked test can pass while proving nothing; use a stubbed provider endpoint instead.
A different user resumed someone else's paused conversation in my test, so authorize the approver in your controller and log both original and edited arguments.