Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· kamo-shared-library
6,1 RON legall-wall grain - * * * * * * * * * * * * * * * (PENERJEMAH = SUGENG PRAYITNO)
Keadaan properti adalah identitas beku pada paket penutupan (properti penutup tidak tidak bergerak) dan adalah biji-bijian yang negara bagian RON leligibilitas membaca dinding hukum. LOSING _ STEP _ BLOCKED adalah sinyal tahan lama antrian eksepsi pelayan bereaksi ketika RON ditutup.
· kamo-shared-library
CLOSING _ MERS _ SUBMITTED Event key (doc 05: 6.3)
Sinyal MERERS: MersRegistration * * * * * * * * * * * * * * * telah ditambahkan untuk pinjaman (append-only, MIN tidak pernah overwrite. Tombol terbuka Addititif (tanpa DDL).
· SecurityService
Tambahkan aplikasi camp-apps, VectorService, kamolo, kamo- signer-monorepo ke changelog publik
· kamo-shared-library
CLOSING _ STEP _ RETRIED event key (doc 05 # 6.4)
Sinyal pemulihan pramugari: paket BLOCKED _ STEWARD tidak diblokir dan node PENDING segar terwujud untuk mencoba kembali subsistem. Tombol terbuka Addititif (tanpa DDL).
· kamo-shared-library
CLOSING _ STEP _ FILED Event key (doc 05: 6.4)
Sinyal kegagalan drift-loop: sebuah langkah penutup GALAT / BLOCKED, paket ditahan BLOCKED _ STEWARD; penutupan -steward exception antrian bereaksi. Tombol terbuka Addititif (tanpa DDL).
· kamo-shared-library
CLOSING _ STEP _ COMPLETED + CLOSING _ PACKAGE _ KOMPLETED event keys (doc 05 MS6.4)
Sinyal drift-loop: sebuah ClockArtfact mencapai COMPLETED (adaptor selanjutnya), dan semua langkah yang diperlukan dilakukan (Apridor-pengiriman / melayani-boarding). Tombol terbuka Addititif (tanpa DDL).
· InitializerService
Indeks unik NULS-safe untuk versi Close Working FlowTemplate (doc 05 = 6.3)
Satu versi per (organisasi _ id, scope _ level, butir scope _ ref _ id). CRDB adalah NULLS- berbeda, sehingga split untuk nulable scope _ ref _ id (mirror mlos _ aiptp _ *): mlos _ closing _ wft _ version _ uniq (scope _ ref _ id IS NOT NULL) + * * * * * * * * * * * * * * * pada (org, scope _ level, versi) (scope _ ref _ id IS NULL). The MLOSDocOrchestration read-then-write (versionNumber = max + 1) backstop: sebuah dup- versi concurt mempublikasikan kehilangan 409 (else the perakit resolver 409s on the dup, bricking assembly).
· kamo-shared-library
* * * * * * * * * * * * * * event key (doc 05 is6.3)
Sinyal tahan lama yang dokter-orkestra penerbit template emits pada baru Closure WorkflowTemplate versi. Tombol terbuka Addititif (tanpa DDL).
· kamo-shared-library
LOSING _ PACKAGE _ ASSEMBLED event key (doc 05 eClose)
Sinyal tahan lama perakit orkestra dokter memancarkan ketika Paket Penutupan dibuat dari terpecahkan Penutupan Template Workflow+ node artefak pertamanya. Tombol terbuka Addititif (tanpa DDL).
· kamo-internal
Hapus "Publikasikan ke Dunia" panggung; perbaiki Jalankan Semua
Generator sekarang menulis ubin langsung ke layanan drive, sehingga worldgen pipeline tidak lagi memiliki sebuah tahap terbitan / push. - World genNats.ts + universe / types.ts: drop 'push' dari WorldgenStageId, WORLDGEN _ STAGES dan STAGE _ ORDER (pipeline = * * * * * * * * * * * * * - componentssx: hapus masukan push STAGE _ META + unused CloudUploadIcon. - Layanan / [stage] / start: terima 'all' sebagai target perintah jadi "Run All" berhasil (mengembangkan- > hydro- > flora- > transportasi pada agen) bukannya 400.
· kamo-shared-library
PULL _ MELALUI _ POLICIY _ PUBLISHED Event key + null-safe AiPTP backstop doc (doc 09: 8)
Tambahkan kanonikal * * * * * * * * * * * * * * * * * * * * * * * kunci event-type (sinyal tahan lama Pull-Through mesin mengisi ulang kebijakan aktifnya) untuk pesawat pemerintah AiPulThrough Policy penerbit. Memutakhirkan AipullThrough Policy WORM Javadoc ke dokumen single-active backstop (per- market + NULLS- yang membedakan org- lebar biji-bijian yang aman) dan penulis diperlukan demot- lalu masukkan urutan.
· kamo-shared-library
Loanidenfierevent append- hanya audit entitas (doc 11 # 5.3 / # 10)
"Audit completeness" (setiap mint / supersede memancarkan sebuah baris acara WORM). Baru... LoanidenfieretType, LoanidentifierEventRepositori}: a total- blok append- only WORM entitas (AiDecision / Decision Idiom masukan - semua bidang updatable = false, @ PreUpdate throw, excereSaat = DB datecreated) merekam org / loanFileUid / identifierId (baris ACTIVE baru, UUID ref lembut) / supersedeidenfierId (yang superseded sebelumnya, kosong untuk sebuah mint) / eventType * * * * * * * * * * * * + a nulable aidecisionId for the pair Keputusan worm-separuhnya (ditunda - belum ada aksara pendaftaran). Soft refs by id only (no @ ManyToOne), Panjang id serialisasi sebagai String. Tabel otomatis-creating on the KamoInitializer run (feels-declarated index on lenn _ file _ uid + identifier _ id; tidak ada SchemaCleanupRunner perubahan). Addititif - shared-lib versi tidak berubah (1.5,0).
· InitializerService
(lenn _ file _ uid, type) native single-active partial-unique index (doc 11 's5.3 / # 6.2)
Menutup lubang yang sudah ada sebelumnya dua puluh aktif di daftar identitas loan MLOS: indeks (a) * * * * * * * * * * * * hanya batasan (org, tipe, NILAI) untuk 10 REGISTY- NATIVE tipe tunggal-aktif, jadi dua baris AKTIF asli SAME (pinjaman _ file _ uid, tipe) tetapi nilai DIFFERENT dapat kedua commit (mis. a renumber racing a registernative dengan nilai berbeda - kunci nilai yang berbeda, tidak ada konflik). Parsial baru-unik indeks * * * * * * * * * * * * * * * * * * (lenn _ file _ uid, type) WHERE status = 'ACTIVE' AND external _ system _ reference IS NULL AND type IN (10 tipe penduduk asli) paling banyak memaksa ACTIVE id asli per (pinjaman, tipe) - (pinjaman, tipe) analog indeks (c) untuk cermin OWNED _ ELSEWHERE. The tipe IN (...) daftar indeks cermin (a); keep in sync dengan * * * * * * * * * * * (drift 6.2) Penjaga). CREATE Idempotasi... JIKA TIDAK TERLEDAKAN; prod tidak memiliki duplicate-aktif baris asli (diverifikasi).
· kamo-shared-library
Tambahkan kunci tipe Kegiatan IDENTIFIER _ SUPERSEDED
Addititif kunci acara bukaan-String (doc 11 = 5.3 / 7.3) untuk sinyal renumber / supersession registry - yang COMPLIANCE _ TIMER _ breaking preseden (tidak ada enum / schema / KI). Dikonsumsi oleh MLOSIdentifierService.renumber.
· kamo-shared-library
* * * * * * * * * * * * * * * - menyelesaikan auto _ execution _ enabled langit-langit samping ambang dinding
Adds efektivAutonomy (orgId, stage, floor) AffectiveAutonomy {threshold, AutoExecuteEnabled}: satu chain- walk (profile config Ástageoverride) yang mengembalikan KEDUA yang disorot confidence- dinding threshold DAN auto _ executive _ enabted master switch (stares-override- sadar). effectiveAutonomy Ambang threshold sekarang delegasi untuk itu Dan barangsiapa yang ringan timbangan, karena kejahtannya lebih banyak daripada kebaikannya, maka tempat kembalinya adalah neraka Hawiyah. Mari kunci gerbang RCE menghormati penyewa yang berbalik Eksekusi OFF otomatis sebagai Pelarian otomatis terlepas dari otonomi permintaan Tingkat. Kosong ketika tidak ada config penyewa (penelepon menggunakan platform baku; permintaan Pemerintah). Addititif; hanya kacang MlosActivationService yang bergerbang yang terpengaruh. 4 tes.
· InitializerService
Anti- double- kunci partial - unik indeks untuk catatan kunci RCE (doc 08: 7.3)
SchemaCleanupRunner menambah * * * * * * * * * * * * * * - sebagian Indeks UNIQUE pada mlos _ lock _ record (organisasi _ id, pinjaman _ skenario _ id) WHERE status IN * * * * * * * * * * * * * * * * * * Pada sebagian besar tinggal tingkat kunci per pinjaman skenario: deterministik DB backstop ke MLOSKapsul MarketsService 's app- anti-double-lock guard, menutup jalur-komit lomba TOCTOU (duplikat kunci hidup adalah keterlibatan korupsi diam - buku besar kunci tidak memiliki supersedes _ id). Idempt (IF NOT EXISTS); telah diterapkan untuk memprod CRDB.
· KlusterServices
Bootstrap universe- minio rahasia + ugc bucket note (mmm 14)
Tambahkan langkah 6 ke bootstrape -universe.sh: membuat rahasia universe- minio (AKSES _ KUNCI / SECRET _ KEY dari universe- backse- creds root s3) dan mencatat bahwa ember universe- ugc MinIO harus ada. Idempoent - skips if secret sudah hadir.
· DaemonService
MLOS compligence-timer eskalasi consumer (BLOCED NARSTALE)
Setengah dari siklus penyatuan timer (doc 03 2.8; memancarkan setengah sudah kapal). Compligence TimerBreakchConsummer subsators (awable JetStream) to * * * * * * * * * * * * * * * dan, setiap pelanggaran pinjaman, membalik kode orkestra yang BLOCKED untuk STALE melalui Orchestration Escalation Layanan (mutable, idempoten - already - STALE / GREEN / COMPLETE tersentuh). Tambahkan * * * * * * * * * * * ke @ EnableJpaRepostories; memfungsikan mlos.outbox (sehingga emisi menyapu ditulis selamanya + relayed) dan * * * * * * * * * * * * * * * bendera. 5 unit tes.
· InitializerService
2.4 anti- AS- shopping partial- unik indeks pada mlos _ aus _ run
Satu ACTIVE (bukan-superseded, bukan-beku) AusRun per (pinjaman _ file _ uid, source _ label) - "duplikasi terlihat Seperti AUS- belanja "(doc 10: 2 / 5). Aman untuk mendarat sekarang bahwa penulis agen MLOSUnderwriting mengelola flip false false superseded sebelum memasukkan run aktif baru. Applied to prod CRDB.
· kamo-shared-library
Persisted par _ flag on MlosPricedProductResult + OrchestrationStepStatus.STALE
- MlosPricedProductRescult memperoleh par _ flag (Boolean, default false): Sel standar 1-5 dari tangga lock- periode baris, membeku di insert (run-of-record persistensi responsif dari bendera par -only). - Orchestericational StepStatus memperoleh STALE: langkah yang kepatuhan SLA timer melanggar + meningkat (set by the DaemonService compligence - timer eskalasi konsumen; doc 03: 2.8). Additif baik; ddl-auto: pemutakhiran menambahkan kolom dan enum-CHECK menyapu umum mengakui STALE pada Selanjutnya KamoInitializer jalankan.
· kamo-shared-library
RateSheetSanityGate - 6.6 kali sebelum mempublikasikangerbang kewarasan (jangkauan + monotonic)
Sebuah pure- logika ungated @ Komponen (pola Mesin PriceAssembly) memvalidasi sebuah kandidat rate / Price tangga sebelum rate-sheet versi mempublikasikan (doc 02 = 6.6): konvensi-sadar pribadi band [par = 20] (par = 100 PRICE _ TO _ 100 / 0 POINTS _ DARI _ PAR - menangkap kesalahan sinyal / konvensi kotor), monotonic- tangga (harga non- menurun sebagai tingkat catatan naik, per (lockPeriodDays, ioFlag) tangga), dan fondasi struktural baik (bukan kosong / positif rate / positif / positif kunci / tidak ada tingkat duplikat). Laporan Semua pelanggaran; gagal ditutup. Bisa digunakan kembali oleh masa depan intraffic pencalonan - tahap (mengambil sebuah terupatan Catatan RateSheetLadderCell, bukan entitas JPA. 2 - agen assorarial review ffix _ THEN _ SHIP (1 mus-fix diterapkan): menghapus par- kewarasan dekat- par- PRICE cek - itu ditolak secara legal semua - premium / semua - diskon kupon jendela (tingkat kewarasan par- RATE perlu rate labeling, deffered; band sudah batas harga ke = 20 dari par). Juga: melunakkan konvensi sinyal-yang Javadoc (tanda tangan eksplisit -convention check DEFERRED, band menangkap hanya brush besarnya error), tidak termasuk Null- rate sel dari duplikasi / monotonic scan, dan melewatkan monotonic membandingkan pada tingkat yang sama. 18 tes DB (TDD). Tak ada entitas baru yang bernama KamoInitializer.
· kamo-shared-library
LockPolicyVersionPublisher-6.5 supersession melengkapi triad tulang belakang
The lock- policy- versi sibling dari * * * * * * * * * * * * * * * * keyed per INVESTOR (ux _ lock _ policy _ version _ active = (organisasi _ id, investor _ id) WHERE status = 'ACTIVE' DAN efektif _ until IS NULL). Prioritas atom yang sama - jendela menutup + saveandFlush sebelumnya tutup sebelum kandidat INSERT (Hibernasi menyisipkan -sebelum -update flush- order Jebakan). Deltas vs rate- sheet: scope key revisionLabel; tidak ada revisionLabel / essiedAt; intraday urutan kunci pada efektiveFrom hari. Shared-lib @ Komponen gated mlos.catat.enabled + repo finder * * * * * * * * * * * * * * * * 11 no- DB Mockito tes (TDD). Dengan ini, effective- kencan supersession adalah COMPLETE di semua tiga WORM spines versi (rate-sheet + pedoman + lock-policy). Cermin kesetia dan jujur adalah gerbang. Tak ada entitas / tabel yang baru, tak ada kamoInitializer yang berjalan.
· kamo-shared-library
Supersession GuidelineVersionPublisher - 6.5 untuk tulang belakang pedoman
Petunjuk - versi saudara dari RateSheetVersionPublisher, keyed per PRODUCT (ux _ pedoman _ version _ active = (organisasi _ id, product _ id) Status WHERE = 'ACTIVE' Dan efektif sampai adalah NULL) Prior atom yang sama dekat: AKTIVE SUPERSEDED + efektif _ until = propor.effective _ from, supersedes _ id link, dan saveAndFlush the Sebelum kandidat INSERT (Hibernasi menyisipkan sebelum -update flush- order Jebakan). Deltas vs rate- sheet: scope key productId; validate revisionLabel + sourceDocumentId (tidak dikeluarkan); urutan intraday kunci pada efektiveFrom 's day. Berbagi -lib @ Komponen gated mlos.catalog.enabled + repo finder * * * * * * * * * * * * * * * 12 no- DB Mockito test (TDD, tend. flush- order InOrder + WORM- guard re- run). Cermin Setia dari penganiayaan - tinjauan rate- lembar penerbit diabaikan oleh e2e perilaku (pedoman supersession membalik harga eligibilitas). Tak ada entitas / tabel yang baru, tak ada kamoInitializer yang berjalan.
· kamo-shared-library
RateSheetVersionPublisher - doc 02 @ 6.5 effective- penanggalan supersession
Prior atom - jendela menutup MLOSCatalogService bootstrap penulis ditangguhkan. Publishing a new rate- sheet version for an existing (org, investor) scope sekarang menutup pendahulu (ACTIVE SUPERSEDED + effective _ until = progreor.effective _ from), hubungkan penerus (supersedes _ id, intraday selanjutnya urutan _ no) dan flushes sebelumnya tutup Sebelum kandidat INSERT - Hibernasi perintah INSERT sebelum UPDATE dalam flush, sehingga saveAndFlush (sebelumnya) dibutuhkan untuk hindari pelanggaran x _ rate _ sheet _ version _ active partial - unique. Berbagi -lib @ Komponen gated mlos.catat.enabled (EffectiveVersionResolver pola saudara); menutup worm-legal oleh konstruksi terhadap entitas @ PreUpdate guard. 15 no- DB test (Mockito) tend. Flush-order InOrder + WORM-guard re- run. 2 -agen review asperarial ffiX _ THEN _ SHIP (1 mus-fix diterapkan: sourceDokumentId memvalidasi up depan £400, bukan posse-side-eff500). Tak ada entitas / tabel / repa-interface (antarmuka baru) Tak ada KamoInivalizer yang berjalan.
· kamo-shared-library
Tambahkan * * * * * * * * * * * * * * * untuk acara yang dijalankan PPE
· kamo-shared-library
EligibilityCellMatcher single- dimensi Alasan-kode (ECOA spesifikasi)
Menutup alasan - kode reachability jeda Reachability PriceAssemblyEngine review ditandai: a sel miss pada exactly satu dimensi penahanan sekarang menjadi INELIGIBLE dengan nya Alasan utama ECOA spesifik (FICO _ BELOW _ MIN / STATE _ NOT _ ELIGIBLE / PROPERTY _ TIPE _ NOT _ ELIGIBLE / UNITS _ NOT _ ELIGIBLE / * * * * * * * * * * * Alih-alih runtuh ke generik NO _ COVERAGE - membuat 9 kode cells tidak terjangkau Dapat dihubungi. Jarak katalog multidimensi / ambigu, dan numerik (FICO di atas langit-langit atau di antara band; jumlah pinjaman antara band terpisah), benar stay NO _ COVERAGE (a cacat cakupan 6.6, tidak pernah penolakan peminjam). Murni substrat - tidak ada layanan hidup yang mengkonsumsi matcher belum; tidak ada skema berubah, tidak ada KamoInitializer berjalan. - EligibilityReasonCode MlosAdverseActionReasonCode (Matcher memilikinya - hanya itu memegang konteks dimensi). The reason- kurang 2-arg tidak dapat dibaca Pabrik DIREMOVED sehingga ReasCode adalah null iff ELIGIBLE - yang MlosPricedProducelelt @ PrePersist invarian memegang oleh konstruksi untuk setiap hasil yang dibangun faktor-. - EligibilicyCellMatcher: gagal Dims + relax-one-dimensional conpoteNoCoverage; arah (BELOW / ABOVE / GAP) dihitung Hanya di atas least-on-that-dimensi kegagalan (bukan seluruh matriks) sehingga terlalu besar pinjaman pada disjoint band tidak pernah salah label BELOW _ MIN, dan sebuah FICO di atas langit-langit / celah adalah jarak cakupan, bukan skor salah juga rendah ". Substrat kontrak didokumentasikan: satu diskualifikasi benar; konsumen LOE-Core atribut kembali ke -4 alasan NOAA. - PriceAssembly Engine: alasan tambahan Atau (sel, fallback) - lebih suka Matcher kode dimiliki; cellReasonCode (matrixType) disimpan sebagai baku hasil fallback. 2-agen review assorarial ffix _ THEN _ SHIP; diterapkan kedua must-fixes (loan-number & Kesalahan arah FICO, masing-masing terbukti dengan contoh kerja) + should- perbaikan (total catatan tidak valid; substrate- kontrak + arah docs). 19 matcher + 33 mesin tes hijau (89 katalog tes hijau).
· kamo-shared-library
Complience TimerService memancarkan mlos.compliarces .timer.breach pada SLA pelanggaran (doc 03 = 2.8)
Javadoc- bernama diikuti - sampai ke slice-2c timer: "event emisi ke Antrian compliance adalah follow-up. "Breakched () sekarang memancarkan a COMPLIANCE _ TIMER _ BREACHED Event per ARMED EXPIRED timer, ditulis ke outbox IN TRANSASI SAMA sebagai flip (garansi transaksional-outbox: pelanggaran adalah meningkat iff itu tahan lama dicatat). Konsumen hilir mendorong HIGH steward eskalasi + Orchestrational State BLOCKED ALLSTALE ditinggalkan (sepotong kemudian). - OutboxWriter disuntikkan sebagai ketergantungan OPTIONAL * * * * * * * * * * * * null menonaktifkan emisi sehingga layanan masih berakhir waktu ketika outbox substrat tidak kabel dalam layanan berjalan - anggun, backward- kompatibel dengan Autokabel Layanan DaemonService saat ini (jahitan tes 3- arg diawetkan). - Amplop: domain = compliance, agregatId = loanFileId, payload carry * * * * * * * * * * * * * * * - Konstan baru string terbuka event- tipe * * * * * * * * * * * * * * * (tidak ada skema yang mengubah pembangkit KamoInitializer). - 14 Complience TimerService tes hijau (12 existing unchanged + 2 emission test). Cermin kesetiaan dari keputusan yang dikirim - tulang belakang / web-hook-ingress outbox- produser pola (review-excepted).
· kamo-shared-library
KondionTemplateExtension - Flag yang dapat diterapkan oleh peminjam (doc 09: 6.4)
Dependensi data net- baru portal peminjam 's "What' s Left" kebutuhan: loancondition terkunci hanya membawa staf / org ID anggota, sehingga portal tidak dapat memberitahu yang kondisi terbuka BORROWER mungkin bertindak pada. doc 09: 6,4 resep Bendera yang dapat dilaksanakan pada LoanConditionTemplate sebagai entitas SIBLING - tidak pernah kolom pada inti terkunci (doc 01 = 1,1). Bendera perkondisi yang DERIVED service- side dari template flag + kategori kondisi. - ConditionTemplateExtension (com.kamo.z.shared.mlos.docs, mutable config / reference): Soft FK loanConditionTemplateId (UUID), DB-UNIQUE 1: 1; denormalisasi organisasi (Long, String- serialized); peminjam Actionable boolean @ Kolom Default false (fail-safe: proceal- only unless curated actionable). - * * * * * * * * * * * * * * (FindByLoanConditionTemplateId + * * * * * * * * * * * * * * * mlos.docs sudah di @ EnableJpaRepositories; indeks UNIQUE bernilai -dideklarasikan (tidak ada SchemaCleanupRunner). - 3 no- DB tes hijau. Cermin kesetian dari Penyimpanan Dokument -FK-to- terkunci pola (review-excepted).
· kamo-shared-library
Mesin PriceAssembly - inti deterministik 8.1 PPE (Tahap 2 Iris 13)
Pure- pertama logika mlos slice: capstone yang terdiri katalog dikirim resolvers ke dalam otoritas server-sisi nilai matematika (doc 02 # 8.1 langkah 2-4). Ungated stateless @ Componen (sibling to AdjustMents ConditionEvaluasi / * * * * * * * * * * * * * * * - nol repositori, tidak ada entitas baru, tidak ada skema berubah. MLOSPricingService masa depan repos + persistensi + peristiwa. - mergeEligibility (): fix8.1 step-2 / 3 filter conjunct (cell AND pedoman line DAN gerbang AUS) Adolf EligibilityVerdect, paling-parah blok mendahului dengan tunggal prinsipal MlosAdverActionReasonCode (sel * * * * * * * * * * * * * * Panduan: ketika... dibutuhkan ELIGIBLE. - assemblePrice (): final _ price = base + plugDITIVE + MULTIPLITIVE (stack _ order) + margin, menghormati cap _ value. Tambahan penjumlahan (tidak total _ penyesuaian 9.6) faktor perkalian skala subtotal yang berjalan dalam perkalian stack _ order (uid Tie- break), kemudian margin menambahkan terakhir / di luar mangkuk; satu half-up final untuk (9.4). - Price (): mendalangi keduanya; keluaran memuaskan hasil MlosPricedProductResit @ PrePersist offpatible-consistency invarian oleh konstruksi. - cap _ value = additive-only signing -preserving berat penjepit (cap = 0 contribution = 0 Ava0, yang diinginkan); sebuah cap _ value perkalian adalah sebuah cacat config keras (fail-closed, tidak pernah salah harga). AUS PASS / NOT _ APPLICABLE non-blocking (price- before-AUS; the 'S8.2 Lock-stage hard- stop adalah layanan itu). - Baru: AusGateOutcome enum + * * * * * * * * * * * * * * * Catatan PricedProductComputation 33 no- DB JUnit5 tes hijau. Research Workflow (3-reader + synthesis) + 2 -agent review sinderaria (vonis FIX _ THEN _ SHIP, nol mus-fix; diterapkan 5 should- fix hardening item: keras multiple licative- cap guard, reas- code- copage- gap doc, cap = 0 + lowest-ruleCode docs, dan 6 tes cakupan).
· InitializerService
Register pkg + RCE / pull- through DDL (docs 08 / 09)
@ EnableJpaRepositor + = * * * * * * * * * * * * * * * SchemaCleanupRunner: * * * * * * * * * * * * * * * (partial -unique) + rce _ commit _ ai _ decision _ fk + rce _ commit _ lock _ record _ fk + rce _ commit _ pricing _ snapshot _ fk (delegasi snapshot) + mlos _ aiptp _ one _ active _ uniq (satu AcTIVE pull- through policy per lender _ profile + market). RCE batasan tabel + diterapkan + diverifikasi.

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