- Shipped
- June 26, 2026 at 2:41 AM UTC
- Author
- Kamo
- Commit
- a99cf20
New pkg com.kamo.z.shared.mlos.identity (the inbound-webhook routing key): LoanIdentifierType (42 first-class typed ids, each carrying Cardinality + Ownership; @Enumerated STRING; singleActiveTypes() derived from metadata) + **************** + LoanIdentifier entity (BaseUuidEntity; FK-by-id Long loanFileUid + denormalized organizationId, decoupled from locked LoanFile; write-once @PreUpdate guard throws on value/type/customSubtype change, only status flip allowed; @PrePersist normalizes issuer/subtype + enforces OTHER<=>customSubtype) + LoanIdentifierRepository (resolver finders; value-only is search-aid-only). Verified locally: mvn install BUILD SUCCESS, 49 MLOS tests pass (incl single-active drift-guard test asserting the enum set matches the KamoInitializer partial-index DDL). KamoInitializer DDL: scan + 3 partial-unique indexes + OTHER CHECK. RESOLVER + webhook ingress = the first new MLOSIdentifierService microservice (deferred).