Remediate false transfer flips
Recovery surface for the #1126 bug class — ledger rows flipped out of held with no evidence money moved. Never calls stripe.transfers.create; money movement stays in the release machinery. Three modes:
-
detect— read-only classification of candidate rows. Optionally
scoped to oneuserId. -
execute— guarded ledger-only repair. Restores verified-stranded
rows toheld, backfills missing audit rows for rows whose transfer
actually exists, and stampsdonations.stripe_account_idfor
confirmed destination charges. RequiresexpectedCandidatesand
expectedRestoreCentsfrom a prior detect run; any drift returns a
409 mismatch. -
attest— the operator personally vouches that money moved
off-platform. RequiresexpectedCandidates,expectedRestoreCents,
plususerIdandreason(always per-creator and always reasoned).
Each candidate carries a classification: restore_to_held, already_transferred, direct_confirmed, subscription_excluded, skipped_concurrent, held_unproven, attested, or error. Requires manage_system_settings. Execute/attest are audit logged.
Authorizations
Authentication is handled automatically via httpOnly session cookies after signing in at /cognito/signin or via Google SSO at /cognito/oauth/google. For Swagger UI testing, paste a JWT token from the /cognito/signin response.
Request Body
Responses
Remediation result