Skip to content

fix(studio): enforce optimistic file concurrency#2156

Open
jrusso1020 wants to merge 1 commit into
07-10-fix_studio_make_sdk_cutover_transactionalfrom
07-10-fix_studio_enforce_optimistic_file_concurrency
Open

fix(studio): enforce optimistic file concurrency#2156
jrusso1020 wants to merge 1 commit into
07-10-fix_studio_make_sdk_cutover_transactionalfrom
07-10-fix_studio_enforce_optimistic_file_concurrency

Conversation

@jrusso1020

@jrusso1020 jrusso1020 commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

What

Add optimistic file concurrency across Studio and studio-server.

Why

Concurrent Studio, CLI, or agent writes could silently overwrite newer bytes.

How

Return content versions, require If-Match on updates, surface 409 conflicts, pause the save queue, and propagate write identity through change events.

Test plan

  • studio-server file version/route tests; Studio save queue, conflict, and diagnostics tests
  • Stack-wide lint, format, build, typecheck, and relevant integration gates

jrusso1020 commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from 17b3bdd to cccdb37 Compare July 11, 2026 18:11
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch from d2f57f1 to 69d199a Compare July 11, 2026 18:11
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from cccdb37 to e9f1333 Compare July 11, 2026 18:16
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch 2 times, most recently from 6270f87 to c5f2837 Compare July 11, 2026 18:21
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from e9f1333 to a655170 Compare July 11, 2026 18:21
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch from c5f2837 to a4b5498 Compare July 12, 2026 04:01
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from a655170 to 5ce41ba Compare July 12, 2026 04:01
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch 4 times, most recently from d4dcd56 to c0b7531 Compare July 12, 2026 09:11
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from 5049114 to d49411c Compare July 12, 2026 09:11
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch from c0b7531 to 5bfd32a Compare July 13, 2026 15:52
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from 1190008 to dc10ed5 Compare July 13, 2026 17:29
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch 2 times, most recently from 02d4f2d to c742e54 Compare July 13, 2026 18:09
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from 2ad8331 to d637dc1 Compare July 13, 2026 18:35
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch from c742e54 to 4256102 Compare July 13, 2026 18:35
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from d637dc1 to 5a5e92e Compare July 13, 2026 20:27
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch from 4256102 to b438de0 Compare July 13, 2026 20:27
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from 5a5e92e to 83b2536 Compare July 13, 2026 20:33
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch from b438de0 to 1a6be06 Compare July 13, 2026 20:33
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from 83b2536 to cc549d1 Compare July 13, 2026 22:09
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch 2 times, most recently from d8bb139 to 560545a Compare July 13, 2026 23:08
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from cc549d1 to 3a9ceb3 Compare July 13, 2026 23:08
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_enforce_optimistic_file_concurrency branch from 560545a to df292e5 Compare July 14, 2026 00:03
@jrusso1020 jrusso1020 force-pushed the 07-10-fix_studio_make_sdk_cutover_transactional branch from 3a9ceb3 to 7887eda Compare July 14, 2026 00:03
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