---
title: "Resolve a controlled concurrent edit conflict"
description: "Verify that editing a stale record produces the product-defined conflict flow and preserves the independently committed change from a second fixture actor."
canonical_url: "https://vostride.com/agent-library/collaboration/concurrent-edit-conflict.md"
md_url: "https://vostride.com/agent-library/collaboration/concurrent-edit-conflict.md"
content_kind: "recipe"
topic: "collaboration"
---

# Resolve a controlled concurrent edit conflict

Verify that editing a stale record produces the product-defined conflict flow and preserves the independently committed change from a second fixture actor.

## Risk

Two writers can silently overwrite each other when the editor saves a stale snapshot. Use an external prepared actor for the competing write; a single agent-qa run need not impersonate two simultaneous sessions.

## Fixtures

- A test issue starts with title Initial handoff and description Original scope at version one.
- The prepared second actor can update the description to Expanded scope after the browser opens the editor.
- The product contract rejects stale saves with a conflict notice and offers a refresh or reconciliation path.

## Steps

1. Open the issue editor and verify the initial title and description before changing the title to Revised handoff.
2. Trigger the prepared second-actor update and verify its committed record version through the fixture check.
3. Save the browser draft and verify a conflict notice appears instead of a silent success.
4. Follow the product refresh or reconciliation action, verify Expanded scope is visible, and reapply the intended title if the contract requires it.
5. Save successfully, reload the detail, and verify Revised handoff and Expanded scope coexist in the final record.

## Expected results

- The competing description update commits before the stale browser save is attempted.
- The conflict is surfaced according to the specified product contract.
- The final record contains both intended nonconflicting field values and a new committed version.

## False-pass traps

- A successful save toast can hide lost updates, so compare both final fields.
- Editing the same record sequentially after refresh never exercises a stale-write conflict.

## Cleanup

- Delete the test issue and stop the prepared competing actor.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa test](/docs/agent-qa/configuration/test.md)
- [agent-qa first test](/docs/agent-qa/guides/first-test.md)
- [agent-qa web testing](/docs/agent-qa/guides/web-testing.md)

- [Collaboration QA recipes](/agent-library/collaboration.md)
- [Software factory QA library](/agent-library.md)
