You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(persistence): enforce membership share budgets pointwise across time #620
The predecessor 0010_membership_same_role_share_budget trigger summed every existing membership whose possible-activity range overlapped the candidate range. That is stricter than the Membership owner invariant because different existing spells may overlap a spanning candidate at different times without ever overlapping one another.
Counterexample:
A: weight 0.6, active [2026-02-01, 2026-02-10];
B: weight 0.6, active [2026-02-20, 2026-02-28];
candidate C: weight 0.4, active [2026-02-05, 2026-02-25].
At every event time the true same-role total is at most 1.0 (A+C early, B+C late), but pairwise-candidate aggregation produces 1.6 and rejects a scientifically valid time-varying history.
RED → causal repair
behavioral RED 6eaa5dc2caf601b65112996a436f37e455a2916e adds the disjoint-existing/spanning-candidate positive case plus a genuine common-time .4 + .4 + .3 negative control;
causal repair aa43c6520f71744504c703bd853a97a53571341f replaces pairwise-overlap SUM with an event-state sweep over exact finite boundary points, right-open states, and the lower-unbounded initial state;
rollback helper repair 75d6f65de7c4dd3bcc8f67d3d747a69a7a033e95 keeps the successor reversible.
No timestamp epsilon, tolerance, normalization, decimal-only aggregate, or scalar temporal collapse is used.
Current authority
The surviving vehicle is Draft #615, currently exact 10b07fcdf47f867e3c7b78ba1b8e8a2a668cc4b3, which also carries #619/#621/#622 refinements. #620 remains open until that exact lineage has hosted PostgreSQL 18 acceptance, current-head security/coverage evidence, independent review, prerequisite reconciliation, and normal landing.
Activity
test(persistence): expose nonconcurrent overlap false positive (#620)
fix(persistence): enforce pointwise membership share budgets (#619 #620)
fix(persistence): rollback pointwise membership helpers (#619 #620)