@happyvertical/smrt-users 0.40.68 → 0.40.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -295,9 +295,14 @@ the package root).
295
295
  private `oidc_profile_email_reservations.email_key`, `User.emailKey`, and the
296
296
  unique `User.profileId`; local callbacks acquire exact issuer/subject and normalized
297
297
  email locks in deterministic order so changed email claims also serialize.
298
- SQLite and DuckDB callbacks additionally serialize transactions per database
299
- URL because one adapter cannot safely overlap unrelated root transactions;
300
- owner-authorized DuckDB callbacks use that same root-handle serialization;
298
+ SQLite and DuckDB callbacks additionally serialize every root-handle statement
299
+ the coordinator owns per database URL `_smrt_backfills` initialization, the
300
+ transaction, and the post-commit rebind because one adapter multiplexes a
301
+ single native connection and cannot safely overlap unrelated root
302
+ transactions. Never overlap two statements on one such handle, inside a
303
+ transaction or not: rebind and owner/email candidate reads are sequential,
304
+ never `Promise.all`. Owner-authorized DuckDB callbacks use that same
305
+ root-handle serialization;
301
306
  PostgreSQL deadlock and serialization errors use a bounded transaction retry.
302
307
  Newly provisioned Profiles use non-semantic per-profile slugs so equal IdP
303
308
  display names cannot trigger a natural-key upsert;