Skip to content

fix(settlements): require dialog-open idempotency keys end to end - #16

Merged
iamparmjeet merged 1 commit into
integ/phase-a-baselinefrom
fix/settlement-idempotency-clients
Sep 5, 2026
Merged

iamparmjeet merged 1 commit into
integ/phase-a-baselinefrom
fix/settlement-idempotency-clients

Conversation

@iamparmjeet

Copy link
Copy Markdown
Owner

Implements remediation slice B07 (docs/Fix-Plan-2026-09-05.md). Terra Medium review owed before [x]. Muse did the UI per plan.

Scope: UUID per dialog open, retained through retries, required in live settlement schemas. One migration (0029: utilities.idempotency_key + partial unique), no data rewrite.

Changes:

  • API: required keys in create/group/record-utility/credit/bill-single/batch-item schemas; record/single/batch handlers catch-23505 return existing (no duplicate side effects); group replay moved before balance math (retry-after-success has zero dues); UtilitySelectSchema omits internal column
  • UI: shared useIdempotencyKey (open/retain/reopen) wired into record/combined/agreement/credit/bill dialogs; per-leg and per-type keys where legs share a lease
  • 11 API + 3 hook tests (written first); existing callers updated for required keys

Verification: db:generate no drift, check-types 6/6, Biome clean, db:migrate:test, full suite 250/250, local build 5/5. Tenant reading submit stays month-guarded/keyless.

Rollback: tag pre-settlement-idempotency-clients on integ/phase-a-baseline@7f8e6d47.

@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

@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
rently-admin Ignored Ignored Sep 5, 2026 11:47am UTC

@iamparmjeet
iamparmjeet merged commit 204f8b5 into integ/phase-a-baseline Sep 5, 2026
4 of 7 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