CDM Overview
CreditNexus is fully compliant with the FINOS Common Domain Model (CDM), ensuring interoperability with other financial systems and adherence to industry standards. Code Reference:app/models/cdm.py, app/models/cdm_events.py, .cursor/rules/cdm-compliance.mdc
CDM Models
All financial data is represented using CDM models:CreditAgreement
Represents credit facility agreements with parties, facilities, and terms. Code Reference:app/models/cdm.py (CreditAgreement model)
Party
Represents counterparties (borrowers, lenders, guarantors). Code Reference:app/models/cdm.py (Party model)
LoanFacility
Represents individual loan facilities within a credit agreement. Code Reference:app/models/cdm.py (LoanFacility model)
TradeExecution
Represents trade execution events with CDM-compliant structure. Code Reference:app/models/cdm_events.py (generate_cdm_trade_execution)
PolicyEvaluation
Represents policy decision events with evaluation trace. Code Reference:app/models/cdm_events.py (generate_cdm_policy_evaluation)
Policy Validation
Policy validation is embedded at the point of data creation using Pydantic model validators:app/models/cdm.py (model validators), .cursor/rules/cdm-compliance.mdc
CDM Events
All state changes and policy decisions are stored as CDM events:TradeExecution Events
Record trade executions with CDM-compliant structure:app/models/cdm_events.py (generate_cdm_trade_execution)
PolicyEvaluation Events
Record policy decisions with evaluation trace:app/models/cdm_events.py (generate_cdm_policy_evaluation)
Observation Events
Record observations and verifications:- Loan default observations
- Recovery action observations
- Verification results
app/models/cdm_events.py (generate_cdm_observation, generate_cdm_loan_default)
Event Structure
CDM events include required fields:eventType: Type of event (e.g., “TradeExecution”, “PolicyEvaluation”, “Observation”)eventDate: ISO 8601 timestampmeta.globalKey: Unique identifier with issuer and assignedIdentifierrelatedEventIdentifier: Links to related events
app/models/cdm_events.py (all event generators)
CDM Compliance Principles
1. Validation at Creation
All CDM models validate policy compliance at the point of creation:.cursor/rules/cdm-compliance.mdc
2. Event Generation
All policy decisions generate CDM events:app/services/policy_service.py, app/models/cdm_events.py
3. State Machine Pattern
All state transitions use CDM-compliant state machine pattern:- States are CDM-compliant
- Transitions generate CDM events
- State history is maintained
.cursor/rules/cdm-compliance.mdc
CDM Event Storage
CDM events are stored in the database as JSONB:app/db/models.py (PolicyDecision, LoanDefault, RecoveryAction models)
Compliance Checklist
- ✅ CDM model definitions (CreditAgreement, Party, LoanFacility)
- ✅ CDM event generation (TradeExecution, PolicyEvaluation, Observation)
- ✅ Policy validation at creation point
- ✅ Event storage in database (JSONB)
- ✅ ISO 8601 date formatting
- ✅ Global key generation
- ✅ Related event linking
Additional Resources
Last Updated: 2026-01-14
Standard: FINOS CDM
Code Reference:
app/models/cdm.py, app/models/cdm_events.py, .cursor/rules/cdm-compliance.mdc