@aiquants/auth-directory-drizzle 0.7.1 → 0.8.1

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/README.md CHANGED
@@ -55,6 +55,13 @@ authorization admin UI uses. Removals are issued one at a time because `AdminRem
55
55
  descriptor; adding a batch form to the authorization core would breach the package boundary, and the
56
56
  count is already bounded by the reconciler's circuit breaker.
57
57
 
58
+ **Every transaction goes through one seam.** All nine of them are opened by `transactionRunner` in
59
+ `db.ts`, which runs the work again when — and only when — the server rolled it back
60
+ (see [`@aiquants/mssql`](../mssql/README.md) — **only the deadlock victim `1205` is run again**, and the closure is wrapped in `capture` so the ORM cannot destroy that evidence). Calling `db.transaction` directly
61
+ at each site means touching nine places to change the policy, and one of them eventually gets left
62
+ behind without saying so. Configure with `transactionRetry` on any factory's options; the closure
63
+ must keep its side effects inside the database, because a retry runs it from the start.
64
+
58
65
  **A refusal does not abort the run.** Stopping at the first refused removal leaves the additions
59
66
  committed, the earlier removals committed and the ledger untouched — and every later run recomputes
60
67
  the same plan and dies at the same index, so one legitimately-guarded row blocks the whole group's