Skip to content

Ecosystem map

Repositories

Repo System domain Business domain Purpose
bank-wiki All Central knowledge base — this repo
bank-core SD01 Core Banking BD02 Finance / BD06 Payments Real-time ledger, account management, interest engine
bank-kyc SD02 KYC Platform BD01 Customer Identity verification, CDD, sanctions screening
bank-aml SD03 AML Monitoring BD07 Financial Crime Transaction monitoring, SAR/STR, IFTI/CMIR reporting
bank-payments SD04 Payments BD06 Payments Payment processing, FX settlement, fraud detection
bank-credit SD05 Credit BD05 Credit Credit decisioning, IFRS 9 provisioning, collections
bank-risk-platform SD06 Risk Platform BD03 Treasury / BD08 Risk Snowflake models, capital, liquidity, regulatory reporting
bank-platform SD07 Data Platform BD09 Technology CDC pipeline, Kafka, IAM, PAM, audit log, data governance
bank-app SD08 App BD01 Customer / BD06 Payments Customer app + back office — single codebase

How repos relate to this wiki

  1. Each repo has a CLAUDE.md that references wiki pages as required reading before any code is written
  2. The wiki is mounted as a git submodule (./wiki) in each code repo — or fetched via HTTPS
  3. When code changes, a CI hook calls scripts/update-wiki.sh which raises a PR in bank-wiki to update module status
  4. Planning chat generates handoff files → dropped into handoffs/ → Claude Code processes and commits

Data flow

Postgres (OLTP — source of truth)
  └── Debezium CDC → Kafka (domain events)
        ├── Snowpipe Streaming → Snowflake (analytics, risk, ML, regulatory reporting)
        │     └── Write-back API → Postgres (risk scores, fraud scores, operational results)
        ├── bank-aml (transaction monitoring)
        ├── bank-payments (fraud detection)
        └── bank-risk-platform (capital, liquidity)

All services → API Gateway → bank-app (customer + back office)

Key architectural constraints

All repos inherit these constraints from the platform ADRs:

  1. No Snowflake calls inline on the transaction path — write-back pattern only
  2. Ledger in bank-core is append-only — no UPDATE or DELETE on ledger entries
  3. All secrets vaulted — no secrets in code or config files
  4. No standing production access — PAM sessions only
  5. All actions logged immutably — audit trail is the system log

See ../architecture/decisions/ for the full ADR list.

Multi-repo workflow

See multi-repo-workflow.md for the full bidirectional sync pattern between planning chat, this wiki, and code repos.