Bump the ctag and sync-token constants
Round 3 verification: the card after the principal minimization was
the cached round-2 copy — the client saw the same constant ctag,
concluded nothing changed, and never fetched. New values force the
change-detection path through the current minimal responses, which
proves or refutes round 3 without re-provisioning.

Assisted-by: GLM 5.2 via pi
change rqxkmxunxwloyottvkqwqsnzylqxwuvo
commit af91d18be9ecb4e9a938c7009cf57addbdf84789
author Alpha Chen <alpha@kejadlen.dev>
date
parent rnmrmntt
diff --git a/lib/pro_tacts/web.rb b/lib/pro_tacts/web.rb
index 258609b..ae8a7c7 100644
--- a/lib/pro_tacts/web.rb
+++ b/lib/pro_tacts/web.rb
@@ -152,7 +152,7 @@ module ProTacts
             response.status = 207
 
             contact_etag = %("a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2")
-            collection_ctag = "ctag-1"
+            collection_ctag = "ctag-2"
             depth = request.env["HTTP_DEPTH"] || "infinity"
 
             # Check if this is an etag-only request (Depth:1 listing)
@@ -195,7 +195,7 @@ module ProTacts
                         <card:addressbook/>
                       </d:resourcetype>
                       <cs:getctag>#{collection_ctag}</cs:getctag>
-                      <d:sync-token>http://pro-tacts/sync/1</d:sync-token>
+                      <d:sync-token>http://pro-tacts/sync/2</d:sync-token>
                     </d:prop>
                     <d:status>HTTP/1.1 200 OK</d:status>
                   </d:propstat>
diff --git a/test/fixtures/macos-exchange/05-propfind-addressbook-ctag/response b/test/fixtures/macos-exchange/05-propfind-addressbook-ctag/response
index 84ccedf..8217e8b 100644
--- a/test/fixtures/macos-exchange/05-propfind-addressbook-ctag/response
+++ b/test/fixtures/macos-exchange/05-propfind-addressbook-ctag/response
@@ -11,8 +11,8 @@ Content-Type: text/xml
         <d:collection/>
         <card:addressbook/>
       </d:resourcetype>
-      <cs:getctag>ctag-1</cs:getctag>
-      <d:sync-token>http://pro-tacts/sync/1</d:sync-token>
+      <cs:getctag>ctag-2</cs:getctag>
+      <d:sync-token>http://pro-tacts/sync/2</d:sync-token>
     </d:prop>
     <d:status>HTTP/1.1 200 OK</d:status>
   </d:propstat>
diff --git a/test/fixtures/macos-exchange/06-propfind-addressbook-listing/response b/test/fixtures/macos-exchange/06-propfind-addressbook-listing/response
index 848e403..e8fee83 100644
--- a/test/fixtures/macos-exchange/06-propfind-addressbook-listing/response
+++ b/test/fixtures/macos-exchange/06-propfind-addressbook-listing/response
@@ -7,7 +7,7 @@ Content-Type: text/xml
   <d:href>/dav/addressbook/</d:href>
   <d:propstat>
     <d:prop>
-      <d:getetag>"ctag-1"</d:getetag>
+      <d:getetag>"ctag-2"</d:getetag>
     </d:prop>
     <d:status>HTTP/1.1 200 OK</d:status>
   </d:propstat>
diff --git a/test/fixtures/macos-exchange/09-propfind-addressbook-bootstrap/response b/test/fixtures/macos-exchange/09-propfind-addressbook-bootstrap/response
index 949f97e..7c2184e 100644
--- a/test/fixtures/macos-exchange/09-propfind-addressbook-bootstrap/response
+++ b/test/fixtures/macos-exchange/09-propfind-addressbook-bootstrap/response
@@ -11,8 +11,8 @@ Content-Type: text/xml
         <d:collection/>
         <card:addressbook/>
       </d:resourcetype>
-      <cs:getctag>ctag-1</cs:getctag>
-      <d:sync-token>http://pro-tacts/sync/1</d:sync-token>
+      <cs:getctag>ctag-2</cs:getctag>
+      <d:sync-token>http://pro-tacts/sync/2</d:sync-token>
     </d:prop>
     <d:status>HTTP/1.1 200 OK</d:status>
   </d:propstat>