Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· kamo-shared-library
Pull- Through - AipullThrough Policy + PipelineFunging Proyeksi (doc 09)
The doc-09 tarik-melalui yayasan entitas (sama mlos.capitalmarket pkg). AilluThrough Policy (RENAMED dari doc-09 's' LenderProfile 'untuk menghindari pengiriman konfigurasi tabrakan; tunable P (fund) - > lock / storage / hedge knobs; version- bearing partial - WORM, MlosLockPolicyVersion idiom - istilah dibekukan, status ACTIVE- > SUPERSEDED + supersededAt menulis - sekali; DeliveryCommitment Type baru * * * * * * * * * * * * * * * [NOT yang dikirim * * * * * * * * * * * * * - berbeda sumbu] + HedgeAggressiveness; degradedFloor floored by the platform min). Penambahan Pipelineeding Proyeksi (MUTABLE latel- live P (fund) permukaan, secara eksplisit NOT WORM; ditulis ulang setiap recount; sejarah berada dalam Aidecion). * * Fallout is PERNAH stored * * (DERIVED 1-pull- through, doc 01 FE 7) - dipaksa oleh sebuah no- fallout- tes kolom di semua 3 pusat keuangan. 3 enums, 2 repos, 5 test. Versi setia - tulang belakang + mutable-baca-model cermin. Dideferred: * * * * * * * * * * * * * * * * (membutuhkan saudara ekstensi - LoanConditionTemplates terkunci) + semua model-melayani (MLOSGovernanService).
· kamo-shared-library
RceComment Decision - RCE lock-Decision detail (doc 08: 10.1)
Buka * * * * * * * * * * * * * * * net-new RCE persistensi gap (kunci lifecycle + config + decision-spine were all already shired). Menutup RateLock rantai audit < - > MlosLockRecord < - > RceComment Decision < - > AiDecision. Total- block WORM (AiDecision idiom; koreksi = NEW row via SupersideDecisionId). Records best-ex / lock-vs-wait rasionale + the snapshoted strategy / otonomi / * * * * * * * * * * * * * * * di kunci + yang m-10.3 pin versi sidik jari. kompensasi LO adalah PERNAH sebuah masukan (marginSrpBasisBps comp- invariant, what7.1); tidak ada kolom kejatuhan (DERIVED, doc 01 WE 7). Reses Dikirim AutonomyLevel + MlosLockRecord / MlosLockEvent (TIDAK memprogram ulang lifecycle kunci). 2 enums Repo, 4 tes. Research workflow design gate + faithful WORM mirror.
· InitializerService
Register com.kamo.z.shared.mlos.eclose dalam @ EnableJpapositories (doc 05)
· kamo-shared-library
Close WorkflowTemplate + MersRegistration (doc 05 = 6.2 / # 6.3) - COMPLETES persediaan eClose
Pendekatan Templat Kerja (grafik eClose sebagai DATA - version- bantalan total- blok WORM, langkah Json JSONB, efektif - tanggal; scopeLevel most- terbatas). MersRegistrasi (sistem MERS-IS-ONE- operasi pinjaman buku besar - append- hanya sebagian - WORM, min / operasi dibekukan, status kemajuan; MIN keunikan global yang dimiliki oleh LoanIdentifier MERS _ MIN registry, direferensikan tidak overwritten # 6.3). 3 enums, 2 repos, 4 tes. Cermin setia (version- spine + partial-WORM). Selesai doc- 05: 6.3.
· kamo-shared-library
Inti EClose - Paket Penutupan + Artis Penutup (doc 05 = 6.3)
Buka com.kamo.z.shared.mlos.eclose: substrat kerja eClose -graph. Paket Penutupan (kumpulan akar, satu per penutupan; partial-WORM - identitas membeku, status berjalan) + Penutupan Artis (satu node per * * * * * * * * * * * * * * * * * * * langkah; append -only Sebagian - WORM - identitas / provenance beku [providerName / externalRef OPAQUE, tidak ada provider- kolom spesifik], hasil kemajuan; re- run adalah baris NEW = 6.3). Soft- FK-by-id + denormalized org (the mlos. * patterns, no @ ManyToOne); externaalRef = inboundd- webhook resolution anchor # 6.4. EsignEnvelope / DisclosureSet code- diverifikasi UUID; jembatan e- sign adalah SERVICE (tulis terkunci stub, bukan entitas baru. 3 enums, 2 repos, 8 test. Gagang desain alur penelitian + Fakta-cermin parsial-Worm. Dideferred: Close Working FlowTemplate + MersRegistration.
· kamo-shared-library
InternalRulesDecision - the 's6.5 non- AUS rules- engine store (doc 10) - COMPLETES the aus _ * inventaris
Penyimpanan hasil hasil mesin mesin non-QM / DSCR / ITIN / Jumbo tidak secara eksplisit sebuah AUS (tidak AusFinding / AusKind, tidak pernah diungkapkan sebagai GSE AUS, doc 01 = 7). FKs LoanFile tidak jelas (Yang mendokumentasikan pengecualian 6,6 - itu bukan pelarian AUS). Dinding hukum: sourceLabel dipaksa ke penanda INTERNAL _ RULES tetap pada persistan (tidak pernah sebuah GSE label); hasil menggunakan yang berbeda * * * * * * * * * * * * * * * vocab (tidak ada Approve / Terima / Refer / Perhatian). Totall-block WORM (AiDecideiom). Cermin setia + penjaga dinding berkaki; 3 tes.
· kamo-shared-library
AUS finding children - aus _ condition + aus _ waiver + aus _ validasi (doc 10 = 6.2)
Selesaikan persediaan doc-10 aus _ * finding- anak (InternalResDecision non-AUS Saudara adalah potongan terpisah). Audisi (parsed agency- baris umpan balik; partial - WORM - isi membeku, pinjaman _ condition _ id write- sekali null- > nilai ketika Kewajiban LoanCondition adalah instantiated 5.3; agencyStatus sebuah String gratis). AusWaiver (ACE / nilai - penerimaan 5.2; validateSnapshotJson for # 3.4 drift) + AusValidation (D1C / AIM per- komponen bantuan 5.4) = blok total- tambahkan -hanya worm (setiap negara / REVOYD adalah baris NEW # 3.3). Semua soft- FK-by-id ke terkunci AusFinding + denormalized org / pinjaman (pola AusRun); gunakan kembali AusSourceLabel; 4 baru enums; 3 repos; 6 tes. Cermin kesetiaan dari pola AusRun yang diulas - tidak ada arus kerja review.
· InitializerService
Register com.kamo.z.shared.mlos.aus dalam @ EnableJpapositories (doc 10)
Paket aus _ * repo baru (AusRun + anak-anak). mlos _ aus _ run tercipta + verified.
· kamo-shared-library
AusRun keystone - AUS submision- of-record (doc 10 = 6.2)
Buka com.kamo.z.shared.mlos.aus: AusRun (anak dari kunci AusFinding) membawa per- dislivery run state - phase, dual- AUS freeze / soft- lock, biaya + kredit-reissue pelacakan, Hubungan yang rasional. v1 AGENCY hanya (DU / LP / GUS; TOTAL = a DU / LP sub- hasil PD6.4). DELIBERATE doc- 10 penyimpangan (didikte oleh doc 01 + aturan keras sesi, review- dikonfirmasi SHIP _ AS _ IS): soft FK by id (aus _ finding _ id UUID, NO @ ManyToOne - overrides s6.2 's @ ManyToOne) + DENORMALIZED organisasi + loanFileUid (sebuah FK lembut tidak dapat berupa JPQL- traversed untuk org- scoping - the universal mlos. * pattern, MlosLoanscenario preseden) + new mlos.aus package. Sebagian mutabilitas WORM (MlosGuidineversion idiom): isi dibekukan, hanya membeku / superseded write- sekali Benar (2.4 / 5 / lock) + caseFileId write- once nul - > nilai (\ 2.4 perst- and-reuse). source _ label NOT-NULL agency- saja (tidak ada INTERNAL _ RULES - bahwa dinding hidup di toko saudara). Research + 2-agent review (SHIP _ AS _ IS); 10 tes. Deferred SchemaCleanupRunner anti- AS- shopping indeks partial-unique dicatat dalam Javadoc (belum ada penulis).
· kamo-shared-library
Doc-03 2.8 compliance enties - Complientificing + RBPN + FCRA-AA + Diubah Keadaan
Recording 2.8 -of -determination + the three INDEPENBEN notion / CC regimes, bergabung dengan Dikirim DiverseActionTimer / RegXTimer dalam mlos.compliarces. Semua total blok WORM (AiDecision idiom - Pemeriksa bukti; koreksi adalah baris baru). Compligence Finding (source / FindingType / * * * * * * * * * * * * * * * tridTimerId UUID FK- > terkunci TridTimer; loanFileId Long; NO kolom cure-count - _ BAR _ 2.8-setia, cure- matematika adalah ditangguhkan keluaran layanan). RiskBackPricingNotice + FCraAdverSeActionNotion (catatan pengungkapan tipis, berbagi Notifikasi). ChangedCircumstance (toleransi TRID - reset; anti- click-through guard: tidak-kosong Alasan dokumentasi + disebabkan menyetujui ByMBId). 7 enums, 4 repos, 9 tes. Kode proses kerja-diverifikasi FK (LoanFile.uid = Long, TridTimer.id = UUID).
· InitializerService
EventProjection Policy platform- default parsial unik indeks (doc 07 = 6.7)
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * MANA organisasi _ id IS NULL - pin platform-default singleton (CRDB NULLS- berbeda daun null-org baris tidak dibatasi sebaliknya; GLBA duplicate- platform bahaya). Terapan + diverifikasi.
· kamo-shared-library
Proyeksi / mediastment substrat - EventProjectionPolicy + LoanStreamBinding (doc 07 # 6.7 / # 7.2)
Bahkan Kebijakan Proyeksi = data GLBA -minimisasi allowlist ((eventKind x partyClass / peran) - > mengijinkan field-groups + chanels); platform-default (null org) + org-override pola toth-row. LoanStreamBinding = * * * * * * * * * * * * * * * * * * * (String (36))) get-or-create. Keduanya BaseUidEntity mutable (tanpa WORM); gunakan ulang * * * * * * * * * * * baru StreamAudienClass (10). 7 tes. 2-review agen FIX _ THEN _ SHIP (applied): mendokumentasikan kontrak GLBA yang telah ditutup (tidak cocok / tidak aktif = > deny-all), override- NARROWS - tidak pernah-widens (platform override), alleedChannels adalah sebuah CEILING (CONTCPA persetujuan, tidak pernah bypass), jujur NULLS- berbeda + null-aware seeder finder + the platform-singleton parsial unik indeks (KI), '*' wildcard finder, StreamAudienClass kelelahan - fallback catatan, niat politik Versi. (R1 / R2 ditolak setiap triase.)
· kamo-shared-library
Substrat Dispatch - Notificationbox + NotificationRateWindow (doc 07 # 6.4 / 10,3)
The crash-safe per-receiver send queue + awable expequency- cap counter (co-transactional per 10.3). NotificationOutbox (partial-WORM, Komunikasi Arsip idiom MINUS @ PreHapus - sebuah antrian operasional prunable, bukan bukti legal): membekukan identitas / konten + freeze- at- antrikan (messageKey + renderedBody) + forward- hanya OutboxStatus {PENDING, SET, SUPPRESSED, GAGAL] + tulis - sekali kirim; messageKey UNIQUE dedup anchor. Notifikasi RateWindow (mutable counter tahan lama, tidak ada WORM - 6,4 peningkatan dalam -txn) + komposit UNIQUE (org, partai, eventKind, windowStart). DISTINCT dari mlos.event MlosOutboxEvent (event backbone). Cermin Setia dari review CommunicationArchive partial-WORM - tidak ada review workflow. 12 tes.
· InitializerService
RuleVersion Pin entry - > pin hard FK (doc 06 = 4.6)
mlos _ rvpe _ pin _ idx + mlos _ rvpe _ pin _ fk * * * * * * * * * * * * * * * - > mlos _ rule _ version _ pin.uid), mencerminkan kepuasan - > persyaratan FK. Terapan + diverifikasi.
· kamo-shared-library
RuleVersion Pin + RuleVersionPintry (doc 06: 4.6 per-pinjaman beku)
Selesaikan inventaris dokumen-06-entitas: titik pinjaman dalam waktu snapshot dari versi aturan / kebijakan aktif diatur (determinisme - pinjaman in- penerbangan tidak pernah diperoleh diam-diam / drop persyaratan ketika penyewa edits aturan). RuleVersionPin (header: loanFileUid / org / stageKey) + Ruleversion PinEntry (normal versi beku refs, entryKind Rule / RULE _ SET / FRESHNESS _ POLICIY + versionId). Kedua blok total- WORM (Diiom DecisionInput). Dokumentasi Kebutuhan. ruleVersionPinId (dikirim Iris 1) sekarang memiliki target. Cermin Setia - tidak ada pengulangan alur kerja.
· InitializerService
Rule- layer DB CHECKs (doc 06 # 4.2 / # 9.2)
3 platform- dimiliki oleh CHECKs bikondisional (mlos _ commands _ rule / _ rule _ set / mlos _ freshness _ policy: platform _ owned = (organisasi _ id IS NULL)) + dinding legall-wall backstop ck _ commanded _ rule _ legal _ wall (CATE / CD / DEEDTRUST harus membawa legal _ wall = true). Semua '=' / '! =' -form, bertahan menyapu enum-whitelis. Terapan untuk prod CRDB + diverifikasi.
· kamo-shared-library
Lapisan definisi aturan versi (doc 06 = 4.2 / # 4.6)
Setengah mesin (bagian 1) dari Sistem Dokumen: MortgageDocType (52-of - ~ 200 3.3 taksonomi + non-tunable legalWall source-of-truth) + Requiresment DriverType + FreshnessAnchorevent enums; Requirment Rule (partial-mutability WORM, efektif jendela, legall-wall mirror invarian, platform-dimiliki) + Requirement RuleSet + Kebijakan Bebas (blok-total KERJA, versi-bantalan); Memerlukan RulePrioritResolver (data- prioritas didorong, dasi = most-restrictive); 3 repos. Menghilangkan mlos.configles. Saluran. Market / programId = UUID (Codecode- CommerceMarket / Program diverifikasi). 37 tes JUnit5. Beberapa aturan terbuka per sel disengaja (berbeda MatchJson memprediksi, diselesaikan dengan prioritas + evaluasi ditangguhkan) - tidak ada keunikan tunggal-terbuka, tidak seperti Lubang katalog. Pencarian dinding legall adalah toleran (enum adalah kutipan, suatu kebiasaan kode tidak diblokir). Platform-dimiliki + legal-dinding DB CHECKs ditambahkan dalam KamoInitializer.
· InitializerService
Skema untuk model kondisi kepuasan 1- kewajiban / N- (doc 06)
Register com.kamo.z.shared.mlos.docs dalam @ EnableJpapositories (new repo pkg) + SchemaCleanupRunner backstop untuk mlos _ compensation _ satisfier (append-only Rekor penerimaan WORM): mlos _ req _ sat _ one _ source _ chk num _ nonnulls (img _ id, verify _ fact _ id, aus _ finding _ id) = 1, mlos _ req _ sat _ type _ clone _ chk (satisfifier _ type Kolom sumber), mlos _ req _ sat _ commanded _ idx, dan mlos _ req _ sat _ compensation _ fk Despmlos _ document _ commands (uid). Cermin keputusan _ masukan satu kolom satu sumber / jenis preseden. Terapan untuk prod CRDB + diverifikasi.
· kamo-shared-library
Greenfield 1-commands / N-satisfifier condition model (doc 06 # 4.2 / # 4.3)
Potongan fondasi Sistem Dokumen: Penyelesaian Dokument (N kepuasan dari sebuah kewajiban) + Requirment Complefier (append-only WORM records) + the Dua resolver murni (WaitingOnresolver] 6.1 derivation, ConditionClearability Ref-dihitung jelas # 4.3) + 6 enums, dalam pkg com.kamo.z.shared.mlos.dos. baru Kewajiban adalah lokasi Loanched Kondisi direduksi oleh id (loancondition Id soft UUID FK) - tidak pernah diforked / kolumn-extended (doc 01 = 1). Hanya kepuasan Model sub- adalah greenfield. FK-by-id disiplin: imgId = Long (kode- lmp.id diverifikasi Long), * * * * * * * * * * * * * * * * * * * loanFileUid / peminjam Uid = Long @ JsonSerialize. Nama puas persis satu diketik sumber (@ PrePersist + DB num _ nonnulls / typed- kolom CHECKs dalam KamoInitializer). waitingOn diturunkan (tidak pernah ditulis) pada setiap tulisan. 34 tes JUnit5 no- DB.
· kamo-shared-library
Preferensi Pemberitahuan + CommunicationArchive (doc 07 # 6.2 / # 9.2)
Selesaikan doc- 07 = 6 entity model - buku besar kenyamanan mutable + Catatan yang tidak bisa diubah dari bisnis. Pkg (tidak ada @ EnableJpaRepositories). - Pemberitahuan Preferensi (mutable): per- (partai, event _ key, saluran) toggle; * * * * * * * * * * * * * * * String EventKey (kategori dual eventKind 124; granularitas); irama / batchWindow; party-level lokal / quiet- jam tetap di LoanParty. - Arsip Komunikasi (PARTIAL-WORM, MlosLockRecord idiom + @ PreHapus): sistem--of-record setiap pesan yang diberikan; messageKey UNIQUE (idempotency). Bekukan * * * * * * * * * * * * * * * kulit putih lifecycle pengiriman - deliveryStatus (tabel transisi 8-state; SENT - > OPENED diijinkan untuk penyedia out-of -order dibuka), GHAT (write- sekali RESPA / TILA bukti), statusUpdateAt (monotonic, no null-clear), provider / bounce / failure. Persetujuan DUAL snapshot (pointer + denormalized resolved state - the works 's effective state is titik -in-time -resolved). assertConagproof (): sebuah SMS yang ditransmisikan harus dibawa diberikan persetujuan TCPA _ SMS (Mc6.5). - 12 tes hijau. 3 inums baru (DeliveryStatus mirror terkunci penamaan status). Dikelilingi oleh riset Workflow + Adversarial 2-agent review (SHIP-AS- IS; diterapkan assertConengEvidence + statusUpdateAt nullclear + Sent- > OPENED).
· InitializerService
Notifikasi partai + persetujuan skema buku besar (doc 07 # 6)
- KamoInitializerApp: @ EnableJpaRepositories + = * * * * * * * * * * * * * * * (new repo pkg for * * * * * * * * * * * * * * * * * * * * * - SchemaCleanupRunner: mlos _ allow _ one _ identity _ chk = num _ nonnulls (party _ uid, raw _ number) = 1 - a persetujuan event mengidentifikasi persis satu konsul (party XOR nomor inbound mentah); analog worm-vault dari keputusan _ input _ one _ source _ chk. WORM adalah entitas @ PreUpore / @ Preremove penjaga (tidak ada pemicu DB - CRDB tidak dapat finalisasi). 3 tabel otomatis - buat melalui ddl- auto.
· kamo-shared-library
Grafik Partai + TCPA / E- SIGN persetujuan buku besar (doc 07: 6)
Pkg baru * * * * * * * * * * * * * * * - entitas penerima / persetujuan Yayasan. Konsumer-agnostik (FK hanya terkunci tanpa modifikasi; operator adalah MLOSxxService masa depan, Bukan pribadi - pinjaman KamoLOS - doc 07 's KamoLOS penugasan adalah basi). - LoanParty (mutable): grafik penerima mengetik; FK terkunci LoanFile / Anggota oleh Long id; contactactJurisdiction = kediaman OWN (quiet-hours); (org, pinjaman, anggota, peran) UNIQUE (per-loan- peran; nulls- berbeda terus co- peminjam + pihak ketiga berbeda). - ConengRecord (WORM, AiDeciiom + @ PreHapus): TCPA / ESIGN legal bukti; PARYUid XOR rawNumber (E.164, untuk inbound STOP sebelum pesta ada) - assertIID () + a DB num _ nonnulls = 1 CHECK; menyetujui _ at app-set (Legally - akurat menangkap waktu); snapshot pengungkapan _ tubuh _ sha256. - DisclosureText (WORM + @ Prereme): Teks persetujuan EXACT vereded tetap (sebuah penunjuk saja tidak cukup bukti TCPA); bodySha256 non- null. - 6 enums baru (personal- pinjaman enums off- batas + kurangnya IN _ PORTAL / MEDIASTREAM / MAIL). 8 tes hijau. Dikelilingi oleh penelitian Workflow (kode-diverifikasi EsignCong-is-a-pola, Staleness kamoLOS) + astrosarial 2-agent review (FIX-THEN- SHIP: menambahkan @ PreHapus).
· InitializerService
Provenasi masukan Desision- integritas DDL (decision- spine 2c)
keputusan _ masukan auto- membuat melalui ddl-auto; SchemaCleanupRunner menambahkan invariants Hibernasi tidak bisa memancarkan: - keputusan _ input _ one _ source _ chk: num _ nonnulls (11 FK JUMLAH) = 1 (tepat satu sumber immutable ditembaki per baris). - keputusan _ input _ kind _ column _ chk: kolom bukan null cocok dengan input _ kind diskriminator (type- koherence dalam buku besar hukum WORM; pure- SQL, bertahan enum-whitelist menyapu). - keputusan _ input _ decision _ idx (ai _ decision _ uid, date _ created) + the hard FK keputusan _ input _ keputusan _ fk - > ai _ keputusan (uid) (mirror steward _ feedback). - NO HMDA-firewall DDL: code- diverifikasi cek doc tidak mungkin (VerifiedFact tidak memiliki kolom kelas faktClass; demografi di tabel terpisah; CRDB CHECK tidak dapat subquery; tidak ada pemicu). Firewall adalah struktur + app- lapisan, ditangguhkan.
· kamo-shared-library
DecisionInput - FK-pinted input provenance (decision- spine 2c)
Anak abadi dari AiDecision yang membuat setiap keputusan deterministik dapat diputar ulang (doc 03: 2.1). Tidak diblokir oleh katalog / skenario / harga yang sekarang lengkap inventaris - DecisionInput FK-pin the immutable rule / fact / version PKs. - Total- block WORM (AiDecideciiom: @ PreUpdate throw, no @ PostLoads, no DB pemicu). 11 exactly-one -non-null -UUID kolom FK (Inputkind pilihan diskriminator yang mana); hanya ai _ decision _ uid adalah FK keras. - InputKind (11) / InputRole (3) enum. scoreConnaciumerik (8.4); testLoan font color = "# 00FFFF" (CORE, Pramugari Cermin - WORM tidak bisa retrofit bendera). Firewall HMDA (doc 03 3: 3) - kode-verized cek doc adalah arsitektur tidak mungkin: terkunci Verified Fakta tidak memiliki kolom factClass / HMDA _ DEMOGRAPHIC, demografi hidup di meja SEPARATE BORROWER _ HMDA, CRDB CHECK tidak dapat subquery, Tidak ada pemicu. Firewall adalah STRUCTURAL (pemisahan meja; entitas ini tidak fact-read path) + deferred app-layer rules. NO HMDA DDL kapal (tidak bekerja Lewat akan menyesatkan pemeriksa). - Single - non-null + jenis kolom koherence CHECK adalah KamoInitializer DDL. - 4 tes hijau; keputusan repo pkg sudah di @ EnableJpaRepositories. Dibangun oleh sebuah riset Workflow (code-verified VerifiedFact / HMDA) + Adversarial 2-agen tinjauan (SHIP-AS- IS; dikirim jenis coherence kolom jenis).
· kamo-shared-library
Kunci record + lock event (Phase-2 Iris 12c)
Skenario FINAL / bagian harga (doc 02 / 6.3 / 1) - melengkapi trol6.3 skenario / harga inventaris entitas. A rate lock taken on a priced results + its tambahkan-hanya catatan kejadian. - MlosLockRecord = PARTIAL-mutability WorM (MlosBulletin diaiom): @ PostLoads snapshots the frozen locked terms * * * * * * * * * * * * * * * anchor / rate _ lock _ uid), @ PreUpdate melempar apakah ada perubahan tapi status WHITELISTS (disahkan oleh tabel lifecycle RateLockStatus) + lock _ expiration (monotonic- maju - tidak pernah memperpendek jendela berkomitmen). - Cermin MlosLockStatus terkunci RateLockStatus Exactly (NO FLOATING / CANCELLED); rate _ lock _ uid = UUID soft FK - > terkunci RateLock.id (mixed-PK trap), DB- UNIQUE (1: 1 kunci < - > merekam; buku besar legal WORM, tidak ada supersedes _ id). - rate _ sheet + lock _ policy version FK bukan-null, waeleline nulable. - MlosLockEvent = append-only total-block WORM; event _ type incl CANCEL Harga _ delta (9.4). - Jangan pernah tambahkan kolom ke RateLock terkunci; RCE menuliskannya melalui LoanPricingService.creatLock stamping ByMberId dari aktor. - 14 tes hijau. Semua indeks hak-dideklarasikan (tidak ada KamoInitializer DDL). Dibangun oleh kode-diverifikasi fakta terkunci (RateLock.id = UUID, RateLockStatus konstanta) + assaarial 2-agent review (SHIP-AS-IS; diterapkan semua 5 should- mempertimbangkan: monotonic kadaluwarsa, tingkat unik _ lock _ uid, acara CANCEL, frozen- harga doc, cakupan tes).
· kamo-shared-library
Harga berjalan + hasil + appeed- penyesuaian (Phase-2 Iris 112)
Catatan 'priced- quote' immutable '(doc 02 / 6.3 / 7.2 /' 8.1): MlosPricingRun - > MlosPricedProductResult - > MlosAppliedAdjustment, ditulis dalam satu tx oleh PPE. - Semua 3 IMUTLE- BY- KREASI (total- blok WORM, AiDeciiom: @ PreUpdate throw, no @ PostLoad). - Frozen versi FK set * * * * * * * * * * * * * * * * pada RESULT, tidak jalankan (resolusi per- produk; doc 6.3 baris 293 / 294). - Harga nomor mentah BigDesimal cocok dengan jaringan yang dikirim: harga dasar / akhir (9,4); * * * * * * * * * * * * * * * * * * * (9,6). total _ penyesuaian = ADDITIVE-only; perkalian pada baris-baris yang diterapkan. - price _ alignment _ id = wajib soft FK - > MlosPriceAdjustment (the Mc6.5 Jangan pernah menghapus rantai audit). created _ by _ member _ id nulable = false. - elligibility _ status REUSES EligibilityOutcome; tidak dapat dibaca _ reason _ code = baru MlosAdverseActionReasonCode Enum (target FK doc absen dalam kode). - Perbaikan review: pedoman / kunci-kebijakan versi FK + istilah yang berharga adalah NULLABLE jadi Baris KEPT CANNOT _ PRICE / NO _ COVERAGE tetap (tidak ada UUID sentinel); a @ PrePersist tidak ada alasan; bukan-ELIGIBLE = > alasan kode hadir). - 19 tes hijau. Semua indeks hak-dideklarasikan (tidak ada KamoInitializer DDL). Dikelilingi oleh riset Workflow + Advosarial 2-agent review (FIX-THEN- SHIP: menerapkan pedoman-versi-nulable harus memperbaiki + koheren diperluas).
· kamo-shared-library
Identitas skenario - MlosLoanscenario + MlosScarioBorrower (Phase-2 Slice 12a)
Buka doc- 02 kali 6.3 / # 7 skenario / lapisan harga (pertama dari 3 sub- iris). The Berharga - skenario kumpulan akar PPE hang off + peminjam. - FK-don 't-recopy (Mc6.4): skenario menyimpan onIy derived- for- reproduksi nilai * * * * * * * * * * * * * * * + sebuah cache aus _ recommention); mentah URLA aths yang pembacaan THROUGH loan _ file _ uid, tidak pernah disimpan. Tes refleksi allowlist mengunci ini secara struktural. - FK terkunci core BY ID: pinjaman _ file _ uid + peminjam _ uid adalah kolom panjang polos (kode-diverifikasi LoanFile.uid / Borrower.uid = Long unique _ rowid; doc 's UUID salah) * * * * * * * * * * * * * * * NO @ ManyToOne. id _ lend skenario = UUID internal FK. - (lenn _ scene _ id, peminjam _ uid) kunci alami DB- unik (satu peminjam per skenario; hak-dideklarasikan, tidak ada DDL mentah). - Rasio turunan / skor DECIMAL (18,6) cocok * * * * * * * * * * * * * county dolar batas DECIMAL (18,2). Kedua MUTABLE (tidak ada WORM - reproduksi adalah beku kemudian di immutable PricingRun / Hasil). - Semua indeks berhak - dideklarasikan (tidak ada KamoInitializer SchemaCleanupRunner DDL). - 4 tes hijau (Long-id String serialisasi + FK-don 't-recopy allowlist). Dikelilingi oleh sebuah riset Workflow (code-verified tipe FK terkunci) + Despararial 2-agen ulasan (SHIP-AS-IS; diterapkan allowlist- test + docstring perbaikan).
· kamo-shared-library
Entitas penyerapan - MlosExtractionTemplat + MlosDokument Segment (Phase-2 Iris 11)
Buka doc-02 intervention sisi intraffic: per- investor format peta parser baca + satu diklasifikasikan, daerah dapat dilihat ulang dari sebuah dokumen sumber. Empat membumi enums * * * * * * * * * * * * * * * * tanah mereka dalam nyata struktur rate-sheet (290-file RateStack corpus survey). - Kedua entitas DAPAT DIMUTUKAN (bukan BAGIAN version--backguard): registry / review Lifecycle, absen dari persediaan immutable 6.5. - MlosExtractionTemplates: maju superseded _ by yourself-FK + active flag; assertSupersessionconstant () self-enforced via @ PrePersist / @ PreUpdate (aktif = true = > menggantikan _ by null). header _ synonyms = yang menjadi jSONB 6.7. - MlosDokuments Segment: (source _ document _ id, segmen _ locator) DB-unique jangkar idempotency; classifikasi _ confidence DECIMAL (4.3) cocok Aidecision.confidence; target EntEntity default NONE, detectedType has UNKNOWN faild- safe; * * * * * * * * * * * * * * * * app-set di review. - Semua indeks berhak - dideklarasikan (tidak ada KamoInitializer SchemaCleanupRunner DDL). - 11 tes hijau (invarian + enum kolumn-fit guard). Dikelilingi oleh penelitian Workflow + Advosarial 2-agent review (SHIP-AS- IS; mengaplikasikan konsistensi / idempotensi objek konsider).
· kamo-shared-library
Bulletin + buletin-change provenance + efektive- basis peralatan (Phase-2 Iris 10)
Menutup persediaan katalog Doc-02. Bulletin adalah investor perubahan pengumuman yang menelurkan versi katalog baru dan supersede pendahulu (Mc6.5). - MlosBulletin (mlos _ buletin, WORM): JourorId FK, title, mengeluarkan _ at, efektif _ from (LocalDate), efektif _ basis (BulletEffectiveBasis LOCK / CATATAN / FUNDING / APPLIKASI), pipeline _ kakek, supersedes _ id self-FK, source _ document _ id FK, status (BulletinStatus DRAFT / AKTIF / SUPERSEDED). Konten - penjaga WORM beku (tidak efektif sampai jendela; koreksi = buletin baru). - MlosBulletinChange (mlos _ buletin _ change): change _ type, target _ product _ id, created _ pedoman / * * * * * * * * * * * * * * (paling satu - tidak untuk RETIRED / MODIFIED), aksi - Metriin- > rantai provenance versi. 4 enums. - BulletinApplicabiliResolver (ungated) + LoanEffectiveDates + tri- state Bulletin Applicability: encodes aturan compliance legation (misapying effective _ base adalah sebuah kesalahan) - berlaku iff ACTIVE + basis-date > = efektif _ from + bukan kakek; hilang tanggal dasar - > INDETERMINATE (Tunda, tidak pernah diam-diam "istilah lama"); kakek menggunakan EXPRISICT pipelineEntrDate (komitmen milestone), bukan tanggal aplikasi hardkode. 14 tes hijau. Tambahan diulas (2-agen): tetap MEDIUM (aplikasi hardcode kakek Tanggal + internal kontradiksi - > eksplisit pipelineEntryDate), LOW (missing- basis fail-direction - > tri-state INDETERMINATE), + Javadoc (at-most-one created _ version, supersession caller- kontrak). Tidak Perubahan kode KamoInitializer.
· kamo-shared-library
Versi Lock- kebijakan (WORM) + pilihan perioda + biaya ekstensi (Phase-2 Iris 9)
Lapisan kebijakan investor - effective- tertanggal ketiga versi spine WORM (setelah tingkat - lembar + pedoman), dikutip per investor; feed RateLock masa depan / RateComment Mesin. - MlosLockPolicyVersion (mlos _ lock _ policy _ version, WORM): ApriorId FK, productId (null = all), efektif _ from / until, urutan _ no, supersedes _ id sendiri-FK, status, source _ documents _ id FK, + worst _ case _ window _ days, relock _ allowed, relock _ worst _ case, floatdown _ allowed, floatdown _ fee _ price, floatdown _ min _ improvisasi _ bps, cutoff _ time. Sama @ PostLoads / @ PreUpdate partial-mutability WORM. - MlosLockPeriodOption (mlos _ lock _ period _ option): lock _ period _ days, default _ flag (satu default per kebijakan melalui partial-unique). MlosLockExtensionFee (mlos _ lock _ extension _ fee): ekstensi _ days, fee _ price (raw BigDecimal), increment _ type (FeeIncrements Type), max _ cumulatif _ days. Value-anak. - LockPolicyVersionStatus + FeeIncrement Tipe enums. 3 repos. LockPolicyVersionResolver (gated mlos.catalog.enabled): titik -in-time window, never last- row, throw on overlap (mirror EffectiveVersionResolver). 17 tes hijau (6 resolver + 11 WORM). KamoInisializer menambahkan ux _ lock _ policy _ version _ active (satu terbuka AKTIVE per org + investor) + ux _ lock _ period _ default (satu waktu penguncian baku per kebijakan). Tak ada alur kerja review (cermin setia Slice-7 WORM + resolver spine).

Alam semestamu menunggu.
Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.
Gratis selamanya — tidak diperlukan kartu kredit