Skip to content

Release: develop -> main - #4217

Merged
TaprootFreak merged 2 commits into
mainfrom
develop
Jul 15, 2026
Merged

Release: develop -> main#4217
TaprootFreak merged 2 commits into
mainfrom
develop

Conversation

@github-actions

Copy link
Copy Markdown

Automatic Release PR

This PR was automatically created after changes were pushed to develop.

Commits: 1 new commit(s)

Checklist

  • Review all changes
  • Verify CI passes
  • Approve and merge when ready for production

* feat(bank): integrate Bank Frick WebAPI

* fix(bank): harden Bank Frick status polling

* test(bank): enforce Bank Frick coverage

* fix(bank): harden Bank Frick state tracking

* test(bank): lock Frick tracking metadata

* fix(bank): widen Frick payment order lookups

* fix(bank): tighten Frick customer validation

* fix(bank): keep liquidity reserved for deletion-requested Frick orders

* fix(bank): decouple Frick auto-approval from transmission switch

* fix(bank): overlap Bank Frick statement watermark

* refactor(bank): isolate Bank Frick code for coverage gating

* test(bank): gate the full Bank Frick surface at 100% coverage

* fix(bank): harden Bank Frick integration

* fix(bank): avoid false-positive TODO marker

* fix: apply Ultra Test-Agent repair for PR #4196

Automated repair triggered by Ultra Test-Agent PR Guard.

Previous head: 77eb99e

* fix(bank): resolve Bank Frick deep-review findings

Address the independent deep review (1 blocking, 11 major, 12 minor), aligning Bank Frick with the Yapeal reference pattern throughout.

- Sender selection: data-driven sendPriority tie-breaker instead of throwing on plurality (throw only on a genuine Frick priority tie)
- camt.053: reject malformed entries per-entry instead of failing the whole statement; fail closed on a missing bank reference in strict mode
- Payout idempotency: atomic reservation before transmit, self-heal on a definitive not-found
- BOOKED lookup no longer requires fields Bank Frick never sends; reconcile net of booked charges
- Add the Frick liquidity-balance case; reconcilability guard for send-only rows; preserve terminal failure reasons; HTTP timeouts
- Keep the customer-facing remittanceInfo (bank reference lives in frickReference); verify signed responses over raw bytes
- Migration no longer inserts bank rows; new account and legacy cleanup are documented manual production steps

* fix(bank): address re-review findings in the Bank Frick fix commits

The prior fix commits introduced four new defects the re-review caught; resolve them.

- Scope the stuckFiatOutputs health clause to Frick, so a deploy no longer reports DEGRADED from pre-existing, long-settled non-Frick payouts
- Fold frickReference into the atomic payout reservation and re-heal it in the status poller, so a crash between the two writes cannot strand reconciliation
- Make the accounting charge direction-aware (a debit amount is already gross) to match the net-of-charge outgoing reconciliation and stop double-counting the charge
- Make the not-found self-heal clear conditional, so an overlapping transmit cannot blind the status poller by clearing a just-reserved row

Regression test per defect (each fails against the pre-fix code); full suite green, Frick coverage stays 100%.

* style(bank): wrap payment observer spec helper signature for prettier

* chore(bank): isolate the Bank Frick coverage gate in its own jest config

Move the 100% coverageThreshold out of the shared package.json jest block into a dedicated jest.frick.config.js used only by test:frick:cov, so the strict per-file threshold on the shared iso20022.service.ts can no longer red an unrelated test:cov run. Behaviour-neutral for the Frick gate (same 7 files, same 100%, same CI step); also add the new root config to eslint ignores alongside the existing root configs.

---------

Co-authored-by: Ultra Test-Agent Fixer <ultra-test-agent-fixer@users.noreply.github.com>
@TaprootFreak
TaprootFreak merged commit a027de6 into main Jul 15, 2026
12 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.

3 participants