Skip to content

feat(assets): add de_DE financial services banks - #67

Merged
3mei merged 3 commits into
yev/feat/finance-fr-frfrom
yev/feat/finance-de-de
Oct 20, 2026
Merged

3mei merged 3 commits into
yev/feat/finance-fr-frfrom
yev/feat/finance-de-de

Conversation

@3mei

@3mei 3mei commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

What changed and why

Adds a financial_services bank for Germany, built for the German retail market. Stacked on #66.

  • Region spec (region_spec/de_DE.yaml), written in German, with regulated values as of October 2026:

    • Sparkasse Lindenhain, a public savings bank: Girokonto with Dispo, Sparkassenbuch, Kreditkarte, Baufinanzierung, Privatkredit; Basiskonto, P-Konto, Kontowechselhilfe.
    • Kompass Direktbank, a direct bank: a Girokonto that is free above a monthly inflow, Visa Debit, Tagesgeld with a new-customer rate, Echtzeitüberweisung.
    • Kranich Invest, a neobroker: Depot, ETF-Sparplan, Kinderdepot, Freistellungsauftrag.
    • Hanseatica Versicherung: Privathaftpflicht, Hausrat, Kfz with eVB and the 30 November switch, Berufsunfähigkeit, fondsgebundene Rente.
    • Bausparkasse Heimstatt, a building-savings bank: Bausparverträge, Wohnungsbauprämie and Arbeitnehmer-Sparzulage, Modernisierungsdarlehen. It omits the card and payment operations its type would inject.

    Regulator texts cover the November 2026 consumer-credit rules for arranged overdrafts, and the P-Konto allowance is €1,590 from July 2026. Common operations whose meaning differs carry a German description: update_beneficiary means payees, the death beneficiary of a Bausparvertrag, the Bezugsrecht, or the reference account.

  • Bank: 1036 generated documents across 106 clusters. There are 85 hand-written tasks, each with three German openings, and 39% have three or more gold tools. An 18-category German taxonomy covers the open-ended tier. Every entry carries placeholder: true, so scorecards stay preview-only. Four documents that named an agent-facing tool or a field key were edited by hand.

  • Runs stop before any model call: Data Designer provides no de_DE persona dataset, so usersim simulate --locale de_DE stops at the pre-flight. The bank loads and is covered by the tests, and the probe README says so.

  • Test: a German customer hears their balance as 24.000,00 €.

How it was verified

  • validate-assets: 72 pass, 7 warn, 0 fail. number_notation and numeric faithfulness pass for every institution and product. The warnings:
    • five for the missing embeddings sidecar;
    • one because the locale isn't registered for the script check;
    • one for the cluster judge, which scored 3 of 106 Bausparkasse product clusters 1/5 on faithfulness. Spot checks found worked examples derived from spec values, such as the €40 monthly savings on a €10,000 contract at 0.4%.
  • The corpus is German throughout (no document reads as English). The Bausparkasse documents never claim a current account, cards or an overdraft.
  • evaluate-assets scored realism 2.47, regulatory soundness 2.81, clarity 3.77, self-containment 2.30 and brief consistency 3.17, in line with fr_FR and with a sample of the shipped en_US bank under the same judge.
  • All tasks load against the generated corpus and tools (test_all_committed_banks_load).
$ make check-all
All checks passed!
334 files already formatted
$ make test        # bundled models config, as CI runs it
4128 passed in 30.13s     (top of the stack; every commit in this PR also passed alone)
$ make smoke
All checks passed.
$ make check-license-headers && make check-doc-links && make check-notebooks-clean
🎉 All files have correct license headers!
✓ every relative link, and every link into this repository's main branch, resolves
OK 4 notebook(s) carry no outputs
$ make clean && make check-dist && make check-extensions
✓ installed package runs from a clean environment
all extension seams work against an installed distribution

Results impact

None: runs in de_DE stop at the pre-flight, so no results include the bank.

3mei added 3 commits October 20, 2026 13:48
Five institutions chosen for the German retail market (a savings bank, a direct bank, a neobroker, an insurer and a building-savings bank), written in German, with regulated values as of October 2026.

Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
Generated from the de_DE region spec with usersim gen-assets and checked with validate-assets: 1036 documents, 85 hand-written tasks and a German dynamic taxonomy. Entries carry placeholder: true, as in the other banks. Data Designer provides no de_DE persona dataset, so runs in that locale stop before any model call, as the probe README notes.

Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
@3mei
3mei requested a review from a team as a code owner October 20, 2026 17:49
@3mei
3mei added this pull request to stack #69 October 20, 2026 17:51
@3mei
3mei merged commit 9b1e33d into main Oct 20, 2026
10 checks passed
An error occurred while trying to automatically change base from yev/feat/finance-fr-fr to main October 20, 2026 17:57
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