# Symfony: preserve requirements through advanced agent edits - [Keep Symfony object authorization before the order write](https://frameworkrecipes.dev/symfony/object-voter-before-write/guide.md): A firewall establishes the signed-in user. A voter establishes whether that user may act on this particular order. Keep the object check inside the controller action because a route-level role check cannot express record ownership by itself. - [order-voter-before-mutation rule pack](https://reporules.fyi/symfony/object-voter-before-write/rule-pack.zip): YAML requirement and agent task. - [Keep Symfony inventory and order writes on one Doctrine transaction](https://frameworkrecipes.dev/symfony/dbal-transaction-handle/guide.md): A transaction can commit invalid business state if the application ignores the result of a conditional write. The stock predicate prevents an overdraw, and the affected-row check prevents creating an order that reserved nothing. - [failed-reservation-prevents-order rule pack](https://reporules.fyi/symfony/dbal-transaction-handle/rule-pack.zip): YAML requirement and agent task. - [Framework rule pack](https://reporules.fyi/symfony/rule-pack.zip): All requirements from this framework site.