master
Nazhmutdin
chore: set VSCode Python interpreter to .venv
refactor(exc): replace dict[str, Any] with typed Message TypedDict for exception extras
refactor(cache): rename ICacheGateway to ICacheClient and RedisCrudMapper to RedisClient
chore: migrate from Poetry to uv
feat: reorgonize library structure; refactor: implement code style and type checking
feat(db): add post-commit callback support and defer cache invalidation - Add PostCommitCallback type alias and on_commit() method to ICommitter protocol - Implement on_commit() in SqlAlchemyCommitter: runs registered async callbacks after successful commit, swallows errors, clears callbacks on commit - Refactor CreateInteractor, UpdateInteractor, DeleteInteractor to schedule cache invalidation via on_commit() instead of invalidating before commit; ensures cache is only updated when DB transaction is confirmed
feat: added interaction with garage
feat(auth): add permission checking helpers and ProjectScope
test: update pytest.ini config