--- title: Cross‑Workspace Experiences (Project eb…) type: curated permalink: main/global/curated/7aee455b-24cc-4008-bdaf-443721e6f939/cross-workspace-experiences-project-eb... stable_id: 8a861a5f-35c3-4f95-bd5b-6b2297888f56 scope: global project_id: null workspace_type: global usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998 preference_context: global document_type: cross_workspace_experience revision: 1 source_memory_ids: - d8161df6-3159-46c9-9402-c5ab30d1436e source_checkpoint_ids: [] source_file_ids: [] source_git_commit: null source_git_commits: [] source_agent_sync_ids: [] model_connection: Sub2API model_name: git-restore source_count: 90 source_revisions: memory:d8161df6-3159-46c9-9402-c5ab30d1436e: '1' source_dispositions: processed: 90 unchanged: 0 unsupported: 0 skipped: 0 cited_source_ids: - curated_baseline:8a861a5f-35c3-4f95-bd5b-6b2297888f56 - cross_workspace_memory:b3fc5d7e-f1d7-4a63-860b-37f9f35cb136 - cross_workspace_memory:41e5bdb5-a67b-49bc-b8a6-ab20b4c66fca - cross_workspace_memory:340af5e9-b3e5-423a-9971-b370992738ce - cross_workspace_memory:b70c1a22-6834-4e59-936c-1945b04273b7 - cross_workspace_memory:8d83fdf5-683a-41ce-94ed-da186cf32c71 - cross_workspace_memory:67499b3a-97a6-4982-9c16-4afaa59d45f3 - cross_workspace_memory:d0a91595-3be4-4366-a615-58833dd0dff8 - cross_workspace_memory:51b5b48b-ac1f-4477-ab2f-dfc46198eb01 - cross_workspace_memory:fd164c80-b38b-4984-8008-48b57ba46e61 - cross_workspace_memory:e92dbe0b-bb27-4b0e-b5bb-2330a0472fd2 - cross_workspace_memory:8c6276e6-d7db-409d-a3cd-5570c2d8fdc5 - cross_workspace_memory:5924806e-b234-49f7-b971-3c844fd07cf3 - cross_workspace_memory:bc21af00-1127-44f8-93b7-aa484a7041c2 - cross_workspace_memory:09d9ff03-0cbd-4551-9b74-f5953855e4a3 - cross_workspace_memory:0f19c98d-0d69-4702-af18-e75edae6370a - cross_workspace_memory:9f00df57-ec45-4d63-9da6-9b2fb16c2d6b - cross_workspace_memory:1dfbc803-3390-4cc7-9a17-6bf86c9bb165 - cross_workspace_memory:3e6dcfc1-f561-415d-9356-b387347c9193 - cross_workspace_memory:0ca7e07e-97b7-496c-96c8-dc712498fc8e - cross_workspace_memory:aa56cfd5-4cbf-4bbd-b589-03aaed17acb2 - cross_workspace_memory:61e30ee3-0e26-4d64-b00e-f77bc3a3fd60 - cross_workspace_memory:ce9006a3-2313-411f-b577-10bbb9b9c3bb - cross_workspace_memory:e61163f1-50db-49d4-839b-a8bdb67741c2 - cross_workspace_memory:23bcc4c0-4992-41d6-b70e-210937a76a0f - cross_workspace_memory:db92ba17-fcee-4f1d-9593-6b325105e482 - memory:d8161df6-3159-46c9-9402-c5ab30d1436e job_cited_source_ids: [] conflicts: [] supersedes: [] preferences: [] source_cursor: 571 source_hash: b84354eb37ab531c5be3076d5c3f130399f235bc33c8cf9453cbfcecae042e49 prompt_version: 2026-08-12.3 schema_version: '3' curation_job_id: null created_at: '2026-08-08T07:55:37.078512+00:00' updated_at: '2026-09-23T14:50:00.887115+00:00' tags: - cross‑workspace - artveris - deployment restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2 --- # Cross‑Workspace Experience – Project artveris In project `artveris` (project ID `d44c219a-0b31-4de1-b160-323eb34a4c6a`) a recurring issue was identified where `deploy.py` could inadvertently launch two parallel SSH deployments, causing log overwrite and database migration conflicts. ## Resolution Implemented a file‑based locking mechanism using `flock -n`. The script now checks for an existing lock when a deployment starts and exits immediately if the lock is already held, preventing duplicate runs. ## Reference - cross_workspace_memory:8a861a5f-35c3-4f95-bd5b-6b2297888f56 - cross_workspace_memory:36e69016-705a-4df3-8247-75874afeeb24 (conflict removed)