#40: log every check-in, persist refusal history, 503 when the store cannot answer
All checks were successful
ci / test-and-build (pull_request) Successful in 40s
Email verification (#31), ported onto main — supersedes #34
All checks were successful
ci / test-and-build (pull_request) Successful in 15s
Admin analytics (#33 phase 2): overview, accounts, timeline + Paddle checkout funnel
All checks were successful
ci / test-and-build (pull_request) Successful in 17s
Admin console backend spine (#33): /v1/me, staff management, custom-key minting
All checks were successful
ci / test-and-build (pull_request) Successful in 15s
Email verification (double opt-in), off by default (#31)
All checks were successful
ci / test-and-build (pull_request) Successful in 20s
Migrate store to SQLite (modernc, cgo-free) + boot import of legacy JSON (#28)
All checks were successful
ci / test-and-build (pull_request) Successful in 37s
#25 follow-up: below-floor 400 explains the way back to the free tier
All checks were successful
ci / test-and-build (pull_request) Successful in 11s
First 50 seats always free: Paddle carries paid seats, key carries total cap (#25)
All checks were successful
ci / test-and-build (pull_request) Successful in 12s
Subscription cancellation (cancel at period end + resume) + checkin reason (#23)
All checks were successful
ci / test-and-build (pull_request) Successful in 12s
OAuth sign-in: Google + Microsoft (code flow + PKCE, stdlib only)
All checks were successful
ci / test-and-build (pull_request) Successful in 12s
Check-in response carries the license label
All checks were successful
ci / test-and-build (pull_request) Successful in 12s
Heal prefers the per-license label; account org only as fallback
All checks were successful
ci / test-and-build (pull_request) Successful in 12s
Mint licenses with the buyer's org name; heal ctm_ orgs at re-sign
All checks were successful
ci / test-and-build (pull_request) Successful in 15s
Fix: seat upgrades stored the prorated delta instead of the absolute count
All checks were successful
ci / test-and-build (pull_request) Successful in 11s
Seat-change preview: price the change before anything is billed
All checks were successful
ci / test-and-build (pull_request) Successful in 14s
Licenses listing exposes subscription-backing (#12 follow-up)
All checks were successful
ci / test-and-build (pull_request) Successful in 12s
Origin-aware refresh + self-service seat changes
All checks were successful
ci / test-and-build (pull_request) Successful in 14s
README: orgs, invites, password reset, receipts, SMTP env, renewal (part of #80)
All checks were successful
ci / test-and-build (pull_request) Successful in 11s
Billing receipts via Paddle API (#4 remainder)
All checks were successful
ci / test-and-build (pull_request) Successful in 10s