Repository navigation
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
|
Verified locally beyond the PR's claims: full suite against a live Postgres 17.7 (784 pass / 0 fail, matching CI), lint/typecheck clean, and we confirmed the load-bearing behaviors empirically — concurrent two-worker transparent delivery produces exactly one One structural decision before merge, plus smaller items: 1. Defer the PostgreSQL backend — split the PR. The state machine + in-memory store fixes every #109 bug within a process (~1,300 lines). Postgres (+CI service, migrations, 2. Document the constraint the split creates: one paying server identity = one process. Without that sentence in the 3. Ticket: expired-grant retention horizon. A paid grant that expires unclaimed (user pays, misses the 5-min 4. Still needed on the core: the PMI grammar decision is now centralized in One deliberate divergence worth a code comment: payment records use Verdict: request changes for 1 (split), 2, and 4 — all cheap. The core is the right foundation; keep it. |
Closes #109
Summary
Harden CEP-8 server payments against duplicate billing, stale verifier completions, and state loss across workers or restarts.
Compatibility
AuthorizationStorenow uses asyncadmit,transition, andread.@contextvm/sdk/payments/postgres; callinitialize()before injecting the store.Validation