Committed, shareable documentation for the finCore engine — the docs that ship with the repo.
docs/
├── README.md ← this index
├── architecture/ ← cross-cutting architecture & platform decisions
├── features/ ← end-to-end flow walkthroughs (narrative, "how it all works together")
├── security/ ← authentication, federation, licensing
│ └── iam-api-gateway-flow.md
└── services/ ← per-service references (one file per service)
- One concern per file. A feature/flow that spans services (e.g. auth federation)
lives under the area folder (
security/), not inside a single service's doc. - Per-service docs go in
services/<service-name>.mdand cover that service's API surface, config, and data ownership. - Keep diagrams as fenced ASCII so they render everywhere without tooling.
- When behaviour is verified by running it, note what was verified and when.
| Area | Document | What it covers |
|---|---|---|
| Architecture | Architecture home | System design entry point: requirements, decisions (ADRs), and design artifacts |
| Architecture | Requirements | Functional & non-functional requirements, tenancy & party model, non-goals, open questions |
| Architecture | ledger-core design | Double-entry, event-sourced ledger: accounts, journal, postings, balances, money/FX, holds |
| Architecture | Party/customer domain design | Customer/Party (CIF): party aggregate, KYC/KYB, relationships, retail vs corporate/SME, authorization |
| Architecture | FX & Chart of Accounts | FX rates/quotes/spread & conversion postings; per-tenant CoA and standard internal accounts |
| Architecture | Service interaction map | Sync calls + event/outbox topology + external settlement path |
| Architecture | Build plan | Phased, incremental build sequence mapped to requirements, with status |
| Architecture | Decisions (ADRs) | Significant, hard-to-reverse decisions with rationale |
| Features | Feature flows | Narrative end-to-end walkthroughs of working flows (how services cooperate; how to integrate) |
| Features | Opening an account | Federated auth → party authorization → ledger account → persisted account, across four services |
| Security | IAM ↔ API Gateway federation flow | How auth flows client → gateway → service: token issuance, JWKS validation, identity-header injection & stripping, and downstream consumption |