State model
A durable saga record owns step status, retries, deadlines, compensation and custody. Source systems retain legal business state.
Releasing collateral requires current exposure, legal perfection, linked facilities, pending transactions and delegated approval to agree at one point in time.
A control workflow assembles the exposure graph, tests release conditions and proposes a bounded action package with an expiry time.
Organisations, systems and operating conditions are intentionally anonymised and recomposed. The design demonstrates engineering and banking-domain reasoning; it does not represent a named client estate, vendor product or measured production result.
A shared authority core coordinates independently owned capability cells, domain systems and operating evidence.
Permitted workThe system may organise evidence, run calculations and propose scenarios. Credit judgement, affordability, exceptions and legal effects remain authorised decisions.
Consistency ruleBind evidence to applicant, facility, legal entity, period and policy version; preserve submitted, verified and inferred values separately.
Hard boundaryThe model is not a system of record, identity provider, policy authority or proof that an external effect occurred.
The journey can change account, payment, case or document state across systems that do not share one transaction boundary.
The release instruction is impossible until all deterministic prerequisites pass and two authorised roles approve.
A deterministic outer workflow contains model-led work inside typed, observable calls. Dashed messages remain proposals until policy or a human grants authority.
A durable saga record owns step status, retries, deadlines, compensation and custody. Source systems retain legal business state.
Mutating calls pass through typed capability contracts. Events notify downstream services, but command acceptance and effect readback remain distinct.
Use idempotent local transactions and eventual cross-system consistency. Unknown outcome is a first-class state, not an exception hidden by retry.
These roles are deliberately vendor-neutral. Each can be independently owned, versioned and replaced.
Returns candidate entities and typed relationships with match features, contradictions, effective dates and non-merge evidence.
Evaluates identity, purpose, capability, amount, risk tier and policy version; returns allow, deny, step-up or human-review with reasons.
Exposes typed, allow-listed capabilities with schema validation, delegated identity, idempotency, timeout semantics and effect readback.
Builds time-qualified projections from source events and reconciliations without becoming the legal system of record.
Appends request, versions, policy result, model proposal, approval, action receipt, readback, correction and custody events under one correlation key.
Durable records carry provenance, authority, effect and custody without turning a transcript into an uncontrolled memory store.
Bind evidence to applicant, facility, legal entity, period and policy version; preserve submitted, verified and inferred values separately.
The selected design is not universally superior. It is the safer fit for this boundary and failure cost.
Bias consequential journeys against false merge and retain unresolved candidates.
Automatically merge the highest-scoring candidate.
Cost acceptedMore cases require clarification, but one person's authority or risk cannot silently attach to another.
Compile stable decision logic and retain retrieval for explanation and residual ambiguity.
Ask a model to interpret the source document for every request.
Cost acceptedRule compilation needs controlled change, but creates repeatable decisions, regression tests and clear exceptions.
Use direct calls for narrow same-domain reads; mediate cross-domain, reusable or mutating capabilities.
Force every call through one integration pattern.
Cost acceptedMediation adds a hop and ownership overhead; direct calls increase coupling and duplicate controls.
Use event-fed projections for scale and direct readback for consequential effects.
Fan out to all systems of record for every interaction.
Cost acceptedRead models introduce lag and reconciliation work, but reduce source load and make cross-system views feasible.
Use append-only events plus a rebuildable current-state projection.
Overwrite the case row with its latest status.
Cost acceptedReplay and storage are more complex, but point-in-time reconstruction and correction lineage remain possible.
Retries are bounded by knowledge of business effect; unknown outcome remains visible, owned and independently reconciled.
Actual thresholds belong to accountable service owners. The design exposes the equations and observables that those owners must baseline.
peak_action_rate = requests_per_second x steps_per_requestreconciliation_load = timed_out_actions + mismatched_readbacksrecovery_capacity = open_unknown_outcomes / owner_resolution_rateLimit applicant and guarantor data to the active assessment and separate sensitive attributes from model reasoning where policy requires.
A design is production-ready only when teams can prove what happened, recover it and change it safely.
calculation reconciliation
policy supersession and open-case test
document contradiction test
adverse-impact and override review
Exposure snapshot, legal-status sources, prerequisite results, approvals, instruction receipt and post-action readback.
Credit and operations approvers jointly authorise release.
Automate reversible steps first. Expand authority only after duplicate, timeout, compensation and operator-recovery tests pass under peak load.
Credit, product, legal, model-risk and lending-operations owners approve decision and action boundaries.