CluPilotCloud/app
nexxo 64e3ca421d fix(engine-b): async stripe payments, capacity honesty, durable credential mail
- Accept checkout.session.async_payment_succeeded (async methods) and dedupe on
  the checkout session id, not the event id.
- committedGb still counts a failed instance while its VM exists (has vmid);
  releases quota only when no VM was created — no overcommit vs no leak.
- CloudReady is queued (durable). Credential delivery is documented at-least-once
  (a rare duplicate welcome email beats a lost credential; exactly-once = v1.1 outbox).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 12:29:47 +02:00
..
Actions fix(engine-b): address Codex round 5 (capacity release, activate-last, guest-ip poll, email unique) 2026-07-25 12:19:31 +02:00
Console feat(engine): orchestrator core (state machine + tick + lock) 2026-07-25 09:54:52 +02:00
Http fix(engine-b): async stripe payments, capacity honesty, durable credential mail 2026-07-25 12:29:47 +02:00
Livewire feat(engine-b): live provisioning progress (admin console + customer dashboard) 2026-07-25 11:57:35 +02:00
Models fix(engine-b): async stripe payments, capacity honesty, durable credential mail 2026-07-25 12:29:47 +02:00
Notifications fix(engine-b): async stripe payments, capacity honesty, durable credential mail 2026-07-25 12:29:47 +02:00
Providers feat(engine-b): 15-step customer pipeline + DNS/Traefik services 2026-07-25 11:50:26 +02:00
Provisioning fix(engine-b): address Codex round 6 (crash-window idempotency) 2026-07-25 12:23:28 +02:00
Services fix(engine-b): run guest-agent commands through /bin/sh -c 2026-07-25 12:25:24 +02:00