{"version":"2.1.242","anchor":"directory-sync-separates-timeouts-from-failures-and-reports-","canonical_anchor":"directory-sync-separates-timeouts-from-failures-and-reports-","heading":"Directory sync separates timeouts from failures and reports far more outcomes","tier":"internal","area":"Directory Sync","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242\/e\/directory-sync-separates-timeouts-from-failures-and-reports-","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.242","markdown":"### Directory sync separates timeouts from failures and reports far more outcomes\n\nA sync that runs out of time now reports as timed out rather than failed.\n\n**What**\n\nA sync request that runs out of time now reports `timed_out` rather than `failed`, so a slow link is no longer indistinguishable from a rejected upload. Pull results can also report an outright refusal.\n\n**Details**\n\n- The sync summary gained counters for upload timeouts, slow-but-landed uploads, and a set of deleted-file buckets.\n- Stat records now carry device and inode identity, so a file replaced in place can be told apart from one edited.\n- A read-only sync scope that still has unsaved paths reports them as `unsavedReadOnlyPaths` and emits the telemetry event `tengu_memory_sync_ro_unsaved`.\n\n**Evidence**\n\n`\"tengu_memory_sync_ro_unsaved\"`\n\n- Area: Directory Sync\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}