{"version":"2.1.281","anchor":"directory-sync-beforeturn-wait-loop-simplified-empty-start","canonical_anchor":"directory-sync-beforeturn-wait-loop-simplified-empty-start","heading":"Directory sync waits more simply before a turn and records turns that run before sync is ready","tier":"internal","area":"Cloud Sync","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/directory-sync-beforeturn-wait-loop-simplified-empty-start","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Directory sync waits more simply before a turn and records turns that run before sync is ready\n\nDirectory sync no longer polls with timeouts before a turn, makes single pull attempts, and records turns that run before sync is armed\n\n**What**\n\nDirectory sync keeps a session's files in step with another machine. Several of its internals changed:\n\n- Before each turn, it no longer waits in several polling loops with timeouts. It now waits for the sync pass or for the turn to be cancelled, whichever comes first.\n\n- When a turn runs before sync is ready (\"armed\"), it writes a marker file, `unarmed-turn-${sessionId}.json`, into the session's state.\n\n- `pullPoint`, the step that pulls changes in, dropped its retry loops and now makes a single attempt. Its reporting can now record a `read_failed` result.\n\n**Why**\n\nThis may change how long a turn is held while waiting for files to arrive. Turns that start before sync is ready are now tracked instead of going unrecorded.\n\n- Area: Cloud Sync\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}