b0c34cb536
Addresses Copilot review on PR #392. Both tasks inside `postUpsertTasks` already swallow their rejections via `.catch`, so `Promise.all([taskA.catch, taskB.catch])` never rejects, and `postUpsertMutex.mutex(... postUpsertTasks)` therefore never rejects in practice. The outer `.catch` could only fire on AsyncMutex internal corruption — an extremely rare event, and one whose log message would be misleading ("background post-upsert work failed" pointing at the mutex layer, not the work). Replace with `void postUpsertWork`: marks the floating promise as intentional, and lets a truly unexpected rejection surface as an UnhandledPromiseRejection — a loud, attributable signal of a real bug rather than a swallowed warn buried in logs.