Skip to content

fix(runtime): tolerate Windows receipt fsync limits#219

Open
liomilet4-png wants to merge 1 commit into
runxhq:mainfrom
liomilet4-png:codex/windows-receipt-store-fix-lf
Open

fix(runtime): tolerate Windows receipt fsync limits#219
liomilet4-png wants to merge 1 commit into
runxhq:mainfrom
liomilet4-png:codex/windows-receipt-store-fix-lf

Conversation

@liomilet4-png

Copy link
Copy Markdown

Summary

Fixes a remaining Windows receipt-store durability failure on the current main branch.

  • route durable temporary-file sync through a helper that keeps normal errors strict
  • tolerate Windows sync_all raw OS error 87 after the receipt file has been written and flushed
  • make receipt-directory sync a no-op on Windows, while keeping non-Windows File::open(path)?.sync_all() behavior unchanged

This is intentionally a focused one-file PR. Existing broader receipt/skill PRs such as #201 are conflict-heavy and do not cover the temp-file sync_all error path on current main.

Validation

  • cargo fmt -p runx-runtime -- --check
    • passed
  • git diff --check -- crates/runx-runtime/src/receipts/store.rs
    • passed
  • cargo test -p runx-runtime receipt_store -- --nocapture
    • passed: receipt_store 26 passed, 0 failed

Scope

The change is limited to local receipt-store durability sync behavior. It does not change receipt IDs, receipt file naming, signatures, verification policy, harness authority, or any public schema.

@liomilet4-png

Copy link
Copy Markdown
Author

Thanks for taking a look. The PR workflows currently appear to be waiting for maintainer approval (ci and secret-scan are both action_required on the PR commit).

Could a maintainer approve the workflows so the branch can run CI?

The change is intentionally limited to the Windows receipt-store fsync/directory-sync behavior, with local validation passing:

  • cargo fmt -p runx-runtime -- --check
  • git diff --check -- crates/runx-runtime/src/receipts/store.rs
  • cargo test -p runx-runtime receipt_store -- --nocapture

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.

1 participant