Repository navigation
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…d pointer, reword ADR Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaU6B7ud65487jp3m8n2Rm
Contributor
Author
|
Review of the after-commit change: the design looks sound, and ordering, scoped rollback and error handling are well covered by the tests. Findings, with fixes pushed to Must fix (addressed)
Should fix (addressed)
37 tests in Generated by Claude Code |
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaU6B7ud65487jp3m8n2Rm
…aths Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JaU6B7ud65487jp3m8n2Rm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Applications can now register work that runs only after database changes commit with
await DB.after_commit(callback, name=None)orawait connection.after_commit(callback). Sync and async callbacks run in registration order after the outermost commit; rollback discards callbacks from the affected scope, and registration without an active transaction runs immediately.Integrates with manual transactions and transaction context managers, including savepoints and explicit transaction-object methods. Releases the root connection before dispatch, preserves callback-created transactions, and clears callback state after errors, cancellation, invalidation, close, and reconnect.
Carries the repository guidance migration into
AGENTS.md, keeps MCP server configuration in.mcp.json, and adds ADR 001 with the API contract, implementation rationale, and indexed decision record.Validation: 431 SQLite and callback tests passed, with 6 skipped; 49 focused callback/transaction tests passed; Ruff lint and format checks passed on modified Python files; basedpyright reported 0 errors and 0 warnings. Independent QA probes covered open savepoints, inherited task contexts, callback reentrancy, and cancellation. Live MySQL/Postgres suites were not run.