---
title: "Verify bidirectional sync converges without an update loop"
description: "Test an owned sandbox bidirectional integration with one intentional edit, checking convergence and bounded echo handling across both systems."
canonical_url: "https://vostride.com/agent-library/integrations-sync/bidirectional-loop-prevention.md"
md_url: "https://vostride.com/agent-library/integrations-sync/bidirectional-loop-prevention.md"
content_kind: "recipe"
topic: "integrations-sync"
---

# Verify bidirectional sync converges without an update loop

Test an owned sandbox bidirectional integration with one intentional edit, checking convergence and bounded echo handling across both systems.

## Risk

Two systems can repeatedly treat each other synchronized writes as new edits. Establish a bounded observation checkpoint and compare logical revisions so temporary transport retries are distinguished from an endless semantic update loop.

## Fixtures

- Two owned sandbox systems linked by the integration under test, containing one mapped disposable record with matching content.
- An external worker fixture that can process a defined sequence of both-direction sync cycles and report each cycle terminal.
- Independent revision ledgers and a product rule defining origin markers or another documented echo-suppression behavior.

## Steps

1. Edit one field in sandbox system A through its product UI and verify the saved value and new A revision.
2. Process the prepared A-to-B checkpoint and verify B displays the same field value while preserving its mapped record identity.
3. Process the subsequent B-to-A and another A-to-B checkpoint, verifying both systems remain converged after each terminal cycle.
4. Inspect both independent revision ledgers and verify one logical user edit plus only the documented synchronization effects, without fresh alternating content revisions on every cycle.

## Expected results

- Both systems converge to the intentional user value.
- The mapping identities remain stable across both directions.
- Additional completed sync cycles produce no unbounded sequence of effective echo updates.

## False-pass traps

- Equal final text can hide continuous revision churn and repeated downstream notifications.
- Stopping after the first one-way update never exercises the echo path.

## Cleanup

- Restore the fixture value on both systems and remove run-specific event ledger entries under test-retention policy.

## 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 first test](/docs/agent-qa/guides/first-test.md)
- [agent-qa hooks](/docs/agent-qa/guides/hooks.md)
- [agent-qa test](/docs/agent-qa/configuration/test.md)

- [Integration and synchronization QA recipes](/agent-library/integrations-sync.md)
- [Software factory QA library](/agent-library.md)
