## Goal Distinguish staged ORM mutations from durable writes for SQLAlchemy Session/AsyncSession and configured unit-of-work wrappers (#96). ## Acceptance criteria - [ ] pending_persistence distinct from durable write - [ ] flush/commit/rollback path evidence - [ ] transaction/context-manager boundaries - [ ] conservative exceptions/control flow - [ ] no promotion when outcome unresolved - [ ] nested transaction, wrapper and real-PR fixtures
Goal
Distinguish staged ORM mutations from durable writes for SQLAlchemy Session/AsyncSession and configured unit-of-work wrappers (#96).
Acceptance criteria