Skip to content

feat(financial-services): enrich EU corporate credit demo to gold standard#53

Merged
imran-siddique merged 1 commit into
mainfrom
feat/fs-eu-credit-realism
Jul 21, 2026
Merged

feat(financial-services): enrich EU corporate credit demo to gold standard#53
imran-siddique merged 1 commit into
mainfrom
feat/fs-eu-credit-realism

Conversation

@imran-siddique

Copy link
Copy Markdown
Contributor

What

Reworks the financial-services example so the domain content is realistic for EU corporate credit and the Cedar guardrails act on the real assessment outcome rather than a single hard-coded number. This is the first of three per-example realism PRs (multi-tenant-saas and healthcare to follow).

Why

The example claimed to be EU but the data was US: the credit bureau enum was Equifax/Experian/TransUnion and the score was a FICO-style 742 on a 280-850 scale. The single escalation cited MiFID II Art. 25, which is investment-advice suitability, not credit lending.

Changes

  • EU data. Creditreform Bonitätsindex (100–600, lower is better) instead of FICO; a German Mittelstand obligor with valid-format LEI (ISO 17442 / ISO 7064 check digits) and IBAN.
  • 6-tool workflow (was 3): adds sanctions_screening (CDD/AML), exposure_aggregation and a risk_model (PD/LGD/EAD, internal rating, IFRS 9 stage). Responses computed by a new pure credit_engine.py.
  • Accurate regulation mapping. Escalation re-cited to EBA/GL/2020/06 (delegated authority), CRR Art. 395 (concentration), EU AML Reg. 2024/1624 (CDD gate) and IFRS 9 (stage 3). DORA Art. 9 attestation gate retained.
  • Three scenarios (--scenario clean|large-exposure|sanctions-hit), each with a signed TRACE record regenerated from a real run. The agent derives the write's policy-relevant args from earlier tool outputs, so the deny reflects the actual credit decision.
  • Tests + CI. New tests/test_credit_engine.py and a CI job, mirroring the industrial-embodied-ai gold standard.

Verification

  • python -m unittest discover -s tests -v → 9 pass
  • All three scenarios run end-to-end; cmcp verify passes schema, signature, audit chain and hashes on each record (hardware attestation fails in software-only dev mode, as expected)
  • Default (clean) scenario exits 0, so the smoke job stays green
  • Catalog definition_hash values recomputed and self-checked

🤖 Generated with Claude Code

…ndard

Rework the financial-services example so the domain content stands up to a
practitioner's eye and the guardrails act on the real assessment outcome.

- Replace the US bureau data (Equifax/FICO 280-850) with an EU commercial
  bureau (Creditreform Bonitätsindex, 100-600) and a German Mittelstand
  obligor carrying valid-format LEI and IBAN identifiers.
- Grow the workflow from 3 to 6 tools: add sanctions/PEP screening (CDD/AML),
  group-exposure aggregation and a PD/LGD + IFRS 9 risk model. Tool responses
  are computed by a new pure credit_engine module.
- Re-cite the escalation from MiFID II Art. 25 (investment-advice suitability)
  to the frameworks that fit corporate lending: EBA/GL/2020/06 delegated
  authority, CRR Art. 395 concentration, EU AML CDD gate and IFRS 9 stage 3.
- The agent derives the write call's policy-relevant arguments from the
  earlier tool outputs and offers three scenarios: clean, large-exposure and
  sanctions-hit. Regenerate one signed TRACE record per scenario from real
  runs.
- Add credit_engine unit tests and a CI job to run them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@imran-siddique
imran-siddique merged commit 0b67f3b into main Jul 21, 2026
13 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