Skip to content

fix: report reconciliation publication state accurately - #54

Merged
codeforester merged 1 commit into
mainfrom
bug/46-20261008-bug-report-reconciliation-durability-state
Oct 8, 2026
Merged

codeforester merged 1 commit into
mainfrom
bug/46-20261008-bug-report-reconciliation-durability-state

Conversation

@codeforester

Copy link
Copy Markdown
Contributor

Fixes #46. Separates atomic publication from durability confirmation and reports post-replacement failures without claiming old bytes survived. Tests: tests/test_cli.py.

@codeforester

Copy link
Copy Markdown
Contributor Author

Review: logic is sound: _PublishedSnapshotDurabilityError subclasses OSError and is caught before the generic handler, staged_path is cleared once os.replace succeeds, and the file-fsync-failure path still reports 'previous snapshot left unchanged'. Ready to merge. Optional follow-ups: no test covers the Windows return False branch (warning logged, exit 0); and test_directory_fsync_failure_reports_published_snapshot is missing a blank line before the nested def.

@codeforester
codeforester merged commit f3936dd into main Oct 8, 2026
14 checks passed
@codeforester
codeforester deleted the bug/46-20261008-bug-report-reconciliation-durability-state branch October 8, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Distinguish post-replacement durability errors from unchanged reconciliation state

1 participant