Raised at crates/baley/src/update/deliver.rs:114 as medium by openai, ruled survived.
Claim. Fix (4)'s durability guarantee is bypassed when retrying an incompletely synced staging publication.
Failure scenario. A staging attempt successfully syncs the temporary file and renames it to the version binary, but its directory sync fails. The published file remains visible. A retry finds matching bytes and execute permission and returns no staging operations, so neither version directory is synced before activation reports success. With the version tree on a separate filesystem from the stable-path folder, a subsequent power loss can lose the unsynced version entry while preserving the new stable link, leaving it dangling.
Filed by Cadence. Fingerprint badc7b8219fd8a72 over (file, claim).
Raised at crates/baley/src/update/deliver.rs:114 as medium by openai, ruled survived.
Claim. Fix (4)'s durability guarantee is bypassed when retrying an incompletely synced staging publication.
Failure scenario. A staging attempt successfully syncs the temporary file and renames it to the version binary, but its directory sync fails. The published file remains visible. A retry finds matching bytes and execute permission and returns no staging operations, so neither version directory is synced before activation reports success. With the version tree on a separate filesystem from the stable-path folder, a subsequent power loss can lose the unsynced version entry while preserving the new stable link, leaving it dangling.
Filed by Cadence. Fingerprint
badc7b8219fd8a72over (file, claim).