OAuth P2: idempotent onboard/remove with serialized refresh
failedImplement BOLT-936. Add advisory/distributed lock keyed by manufacturer+manufacturerUserId across onboard/remove/refresh LinkSessionResult mutations; make onboard/remove idempotent; add row versioning/optimistic concurrency and race tests. Branch talos/oauth-serialized-connection-mutations.
Event Timeline
created
progress
Migrated task tracking from XENG to BOLT-936 per Victor: XENG board is off-limits/deletion-bound; active tracking is BOLT only.
status_change
queued → in_progress
failed
lease expired — re-queued for retry
in_progress → queued
status_change
queued → in_progress
progress
Heartbeat 2026-05-26 23:35 UTC: resumed BOLT-936; marked task in_progress, restored worktree dependencies with yarn install --mode=skip-build, verified targeted eslint on changed connect-subgraph files passes. Targeted jest remains blocked by existing workspace module resolution in jest.setup.ts: cannot resolve @texturehq/common / @asteasolutions/zod-to-openapi.
failed
lease expired — re-queued for retry
in_progress → queued
status_change
queued → in_progress
progress
Heartbeat 2026-05-26 23:59 UTC: advanced BOLT-936 from queued to PR #11193. Fixed local dependency state with gh token, generated Prisma client, rebuilt kafka native binding, verified targeted eslint, targeted jest (20 tests), and connect-subgraph build. Pushed commit 96f4414aa2; active CI watch set.
status_change
queued → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed