Skip to content

fix(payment): link reversals to voided originals with backfilled FK - #12

Merged
iamparmjeet merged 1 commit into
integ/phase-a-baselinefrom
fix/payment-reversal-link
Sep 5, 2026
Merged

iamparmjeet merged 1 commit into
integ/phase-a-baselinefrom
fix/payment-reversal-link

Conversation

@iamparmjeet

Copy link
Copy Markdown
Owner

Implements remediation slice B03 (docs/Fix-Plan-2026-09-05.md). Muse-conducted design gate recorded in Handover; Terra/Sol final review owed before [x].

Scope: nullable payments.reversesPaymentId self-FK; backfill unambiguous only; reference numbers retained. One migration (0025: column + FK + backfill UPDATE + presence/direction CHECKs), no data rewrite.

Changes:

  • schema: reversesPaymentId + payments_reversal_link_check (reversal=>linked, non-reversal=>null)
  • writers set the link in all 3 insert sites (void batch/tx, group shared values)
  • explicit list selects gain the new column (TS fix)
  • gate-mandated test-only fixture updates (previously-unlinked reversal inserts now illegal)
  • payment-reversal-link.test.ts: 8 tests (migration structural + UPDATE exec, single/group void links, void-then-repay, FK 23503, presence/direction 23514, report query)

Backfill proof: scratch clone of production-shaped payments (dropped after) linked 8/8, 0 ambiguous; rently_dev never mutated. Readers untouched (B12); duplicate-void guard untouched (B04).

Verification: db:generate no drift, check-types 6/6, Biome clean, db:migrate:test, full suite 222/222, local build 5/5.

Rollback: tag pre-payment-reversal-link on integ/phase-a-baseline@6e410f0.

@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

Deployment failed for project rently-dashboard with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/parmjeet-mishras-projects?upgradeToPro=build-rate-limit

@iamparmjeet
iamparmjeet merged commit a8ba019 into integ/phase-a-baseline Sep 5, 2026
2 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant