# NestJS: preserve requirements through advanced agent edits - [Reject unlisted NestJS mutation fields at the validation pipe](https://frameworkrecipes.dev/nestjs/strict-input-boundary/guide.md): A TypeScript DTO describes types to the compiler, not runtime JSON. A ValidationPipe with decorated DTO classes establishes a request boundary. Rejecting unexpected fields makes an attempted privileged assignment visible to the caller and tests. - [unknown-mutation-fields-rejected rule pack](https://reporules.fyi/nestjs/strict-input-boundary/rule-pack.zip): YAML requirement and agent task. - [Keep NestJS event persistence on the supplied TypeORM transaction manager](https://frameworkrecipes.dev/nestjs/outbox-transaction-manager/guide.md): TypeORM’s global manager can run outside the transaction callback’s connection. That can leave an event committed without its business change or a change committed without its event. Keep every related read and write on the manager supplied to the callback. - [outbox-transaction-manager rule pack](https://reporules.fyi/nestjs/outbox-transaction-manager/rule-pack.zip): YAML requirement and agent task. - [Framework rule pack](https://reporules.fyi/nestjs/rule-pack.zip): All requirements from this framework site.