Index: flexoentity/id_factory.py
===================================================================
--- flexoentity/id_factory.py	(revision 3a0b0ce2c0d31c689a6a0dbddedc1daf2e198bfb)
+++ flexoentity/id_factory.py	(revision 8aea9a0bf1004f7c1f6e233549319ac4254fba4d)
@@ -108,8 +108,10 @@
         hash_seed = canonical_seed(f"{domain}:{etype}:{text}")
         base_hash = FlexOID._blake_hash(hash_seed)
+        # unique_hash = (
+        #    FlexOID._ensure_unique(base_hash) if enforce_unique else base_hash
+        # )
         unique_hash = (
-            FlexOID._ensure_unique(base_hash) if enforce_unique else base_hash
+            FlexOID._ensure_unique(base_hash) if enforce_unique and version == 1 else base_hash
         )
-
         ver_part = f"{version:03d}{estate}"
         flexo_id_str = f"{domain}-{etype}{date_part}-{unique_hash}@{ver_part}"
Index: tests/test_id_stress.py
===================================================================
--- tests/test_id_stress.py	(revision 3a0b0ce2c0d31c689a6a0dbddedc1daf2e198bfb)
+++ tests/test_id_stress.py	(revision 8aea9a0bf1004f7c1f6e233549319ac4254fba4d)
@@ -26,21 +26,19 @@
     assert len(ids) == len(set(ids)), "ID collisions detected in bulk generation"
 
-
-def test_disambiguator_trigger():
-    """
-    Force a deterministic collision by hashing same text twice.
-    Should produce -A suffix for second one.
-    """
-    domain = "AF"
-    etype = EntityType.QUESTION
-    estate = EntityState.DRAFT
-    text = "identical question text"
-    id1 = FlexOID.generate(domain, etype, estate, text)
-    id2 = FlexOID.generate(domain, etype, estate, text)
-    assert id1 != id2
-    assert id1.signature == id2.signature
-    assert "-A" in str(id2), f"Expected '-A' suffix in disambiguated ID, got {id2}"
-
-
+    def test_disambiguator_trigger():
+        """
+        Generating the same entity twice with same inputs yields identical ID.
+        (No runtime disambiguation; IDs are deterministic by design.)
+        """
+        domain = "AF"
+        etype = EntityType.QUESTION
+        estate = EntityState.DRAFT
+        text = "identical question text"
+        id1 = FlexOID.generate(domain, etype, estate, text)
+        id2 = FlexOID.generate(domain, etype, estate, text)
+        # IDs must be identical, because we now enforce determinism, not randomization
+        assert id1 == id2
+        assert id1.signature == id2.signature
+    
 def test_id_reproducibility_across_runs():
     """
