Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· SecurityService
[04] slice E2 InvestorConfig collection CRUD (D31)
Ranah kepercayaan koleksi kedua (doc-04 # 3.2 Konfig Investor) - per- investor Persetujuan / pengiriman / otoritas yang feed capital-pasar eksekusi. Mengembalikan Unit H bentuk koleksi tepatnya: * * * * * * * * * * * * * * * * * * * * pada audit backbone (profileversion bump + # 4b.1 validate- or-rollback + WORM changge- log; hard hapus audit {"dihapus": true, row}; NoSuchRowException- > 404 failed-closed on a foreign- profile baris). GET / investor + POST + PUT / {id} (+ aktif: luf- hapus); SponorCode + approvalStatus dibutuhkan, * * * * * * * * * * * * * * * delegatedAuthority opsional; enum + non-negative- turn validasi. The InvestorConfig + 3-anak (overlay / pengiriman / komitmen) sub- koleksi ikuti-on. 4 tes (+ situs-situs vektor yang ada dimutakhirkan untuk arg + InvestorConfigRepositori; 16 konfigurasi tulis tes hijau).
· kamo-internal
Tab lisensi MORTGAge (daftar / add / remove) - [04] slice E2 (D31)
Tab konfigurasi MORTGAGE 6: NMLS / state / agency / investor memasukkan lisensi dengan tanggal / kadaluarsa / efektif dan server- dihitung efektive- chip hari ini (status tidak pernah disimpan). Tambahkan melalui baris inline, hapus melalui aksi tong sampah (hapus keras server-side; pensiun tanpa menghapus, ditetapkan kadaluarsa ke masa lalu). konfigurasi Types LicensingView / Permintaan ganti + LICENSE _ TIPES + licenseseTypeLabel; konfigurasi daftar / create / update / removeLicensing; terdaftar sebagai tab 'licensing' sebelum selalu-pada tab perjanjian. Inggris string kapal melalui terjemahan-kamus repo. tsc bersih.
· SecurityService
[04] slice E2 licensing collection CRUD (D31)
Doc- 04: 3.2 LicensingEntry, banyak - setiap profil) - a new id-keyed write shape on the same audit spine as the singletons: - * * * * * * * * * * * * * * / updateLicense / deleteLicense: profileVersion bump + .4b.1 validate-or -rollback + WORM change- log per baris; identitas server-dicap. Update / delete resolve the row by id then failed 404 (NoSuchRowException) if it bukan operator org profil apos; s - tidak ada silang keberadaan oracle. - deleteLicense adalah sebuah HARD delete (diaudit {"delete": true, row}) karena Licensing Resolver membaca masukan TIDAK BERKAS oleh keadaan record - sebuah tanda soft akan masih dihitung sebagai lisensi; untuk berakhir tanpa menghapus, set expiryDate ke masa lalu. - MlosConfigController: GET / licensing (daftar, efektiveToday dihitung melalui Is EffectiveOn (today), never stored), POST / licensing, PUT / licensing / {id} (update, atau hapus melalui {active: false} - proksi konfigurasi tidak memiliki kata kerja DELETE); ISO-date + enum + extenry > = validasi efektif; NoSuchRowException- > 404. Investor (+ 3 anak) dan RiskOverlay menggunakan bentuk ini dalam irisan kemudian. 6 tes.
· kamo-shared-library
Event tipe IDENTIFIER _ REGISTERED (mlos.identifier.register)
Pendaftaran penginisialisasi terhadap IDENTIFIER _ SUPERSEDED - sinyal tahan lama hilir cermin / global-resolusi cache konsumsi ketika identifier asli adalah Pertama terdaftar (doc 11: 5.3 / 10, D29).
· kamo-internal
Per- stage otonomi override table on the aid-otonomi tab (D28)
Dokter-04: 4,2 / 5 peta panggung di bawah single AiAutonomy: setiap lifecycle panggung dengan klasifikasi dinding platform (chip dinding legal / tidak dapat ditala) Dan kepercayaan diri yang efektif ambang gerbang menggunakan (max (override). Masing-masing tahap bukan-dinding memiliki sebuah editor override inline (threshold + otomatis eksekusi) dengan menyimpan + hapus (PUT aktif: salah, karena konfig proksi tidak memiliki DELETE verb); legall-wall tahap baca-saja. Reload setelah masing-masing menulis sehingga postur efektif mencerminkan server menghitung ulang. konfigurasi Types * * * * * * * * * * * * * * * Update StageOverrideRequest + configApi get / update / removeStageOverride. Inggris string (aiAutonomy.stapeOverride. *) hidup dalam terjemahan - kamus repo.
· SecurityService
[04] Past -2 AutonomyStageOverride CRUD + per- tahap peta otonomi (D28)
Permukaan otonomi perstage Konfig vertikal ditangguhkan sampai StageWallRegistry ada (catatan deferral sekarang puas): - * * * * * * * * * * * * * * upsert per (lenderProfile, StageKey) pada tulang belakang SAME (pemutih mutasi, benjolan profileversion, '4b.1 validasi -or -rollback, WORM change- log bertambah). Legal-WALL tahap (PENUTUP / FUNDING / COLLECTIONS) ditolak 400 langsung - gerbang mengabaikan overrides sana dengan desain, dan menyimpan baris itu tidak akan pernah menghormati adalah audit artefak menyesatkan. - delete StageOverride: HARD delete (resolver baca overrides tanpa record- negara penyaringan, sehingga bendera lembut akan terus menggigit gerbang), diaudit sebagai {"dihapus": true ", baris":...} change- log snapshot + profileversion bump. Diekspos sebagai PUT {active: false} karena proksi konfigurasi internal kamo- internal tidak memiliki DELETE verb. - GET / a- otonomi / panggung-overrides: doc-04 per- peta panggung - setiap Lifecyclestage dengan klasifikasi dinding (dinding kaki + bukan lantai overriable dari StageWallRegistry), baris override penyewa, dan postur EFFECTIVE gerbang akan menggunakan (maks (override lever124; default, floor); auto-execute = config AND override) via * * * * * * * * * * * * * * * - PUT * * * * * * * * * * * * threshold dalam [0,1] max 3dp (disimpan Sebagai penyewa apos; s ASK; gerbang selalu berlaku lantai - muncul sebagai effectivethreshold on the GET). Semua lewat 3.2 entitas + prod tabel sudah ada (penemuan pemetaan - yang antrian 'perlu catatan New entities' sudah basi): tidak ada shared-lib perubahan, tidak ada KI jalankan. Prontend tab + E2E adalah titik resume disematkan (D28 STATUS catatan dalam rencana doc).
· DaemonService
[03] MLOS baca-side konsumen - decision.directed steward fan- out + task.solved seam (D26 / D27)
Doc-03 baca-router dilipat ke armada MLOS- konsumen host (satu-satunya Rekreasi-strategi penyebaran - tahan lama mengikat kembali mati di bawah RollingUpdate), per doc eksplisit layanan baca 'tipis atau lipat' tunjangan; sebuah greenfield MLOSOrchestration Service tetap memiliki - gated. Produksi pertama adopsi shared-lib consumer-relibility core (doc 12 = = Every delivery runs through IdempotentProcessor = = per- consumer dedup = = penanda dalam SAME tx sebagai efek samping, RETRY > nak (capped oleh percobaan-max-), MlosDeadLetter di cap, tubuh unparseable mati-digelar segera. - MlosDecisionRoutedConsumer * * * * * * * * * * * * * * * * * tahan lama daemon-mlos-decision- diarahkan): steward fan-out via PrawarNotifier - per-org SMS through VOIP POST / api / bulktext / send (cluster X-Internall-Auth) to configuma- nomor terdaftar; EMPTY baku = record-only sampai model pramugari-assignment tanah anggota - > resolusi kontak (steward UI baca Pramugari secara langsung). - MlosTaskResolvedConsumer * * * * * * * * * * * * * * * * * tahan lama daemon-mlos-task-resolved): the auto- resume SEAM. DecisionSpine.decision () Sudah membalik tugas RESOLVED + OrchestrationState menghijau secara sinkron (ditemukan dalam pemetaan - yang debut sisi spine-, hanya titik akhir HTTP adalah pramugari-layar unit); mesin re- jalankan nudge plugs di sini ketika mesin resume Tanah APIs. 6 tes.
· kamo-internal
Pemasaran Modul Perkakas + nav rework
- / modul pemasaran dengan akun-gaya header pahlawan + hak-gated rute tab: Overview, Social Media (/ sosial), Materials (/ material), Codes Referral (/ diskon); datang-segera placeholder; akses dijaga oleh hak VIEW _ MARKETING + per-tab - NavPri: Barang pemasaran (ikon kampanye, VIEW _ MARKETING) antara Butir commerce dan KB; Catatan dihapus - NavTop: Calendar + Contacts now icon-only (tooltip disimpan); Catatan dipindahkan disini dari NavPri (icon-only, isnote yang sama + VIEW _ NOTES gating) dengan trailing aturan vertikal - SecurityRoleManager: bagian hak pemasaran (selalu terlihat)
· kamo-shared-library
Pemasaran hak grup - ServiceType.MARKETING + 6 hak (ids 150- 155)
VIEW _ MARKETING, VIEW _ SOCIAL _ MEDIA, MANSIAL _ SOCIAL _ MEDIA, VIEW _ MATERIAL, VIEW _ REFERRAL _ CODES, MANFAGE _ REFRAL _ CODES. MARKETING IS A RIGHts- grouping modul (diaktifkan = false, seperti LOS) - bukan sebuah aplikasi org-enableable. Baris hak Sembuhkan diri ke dalam semua peran pada boot SecurityService.
· kamo-shared-library
Jenis acara compliance AUS - downgrade.forced, waiver.records, validation.recorded
[10] sinyal bersama-unit validator (D22 / D24): FHA TOTAL paksa -downgrade decision -of -record, dan tambahan - hanya pengabaian / data- validasi baris lifecycle (doc 10 # 6,2 / # 7).
· kamo-internal
Hot Reassign - front-desk live call- transfer flow
Tambahkan aksi Hot Reassign ke kartu assignment leader-view (halaman depan staf pada panggilan langsung): sebuah expliiner + diperlukan dialog call-note, kemudian rilis memimpin ke dalam tugas-otomatis kredit Kolam renang dan membuka animasi 'menemukan agen yang tersedia' jendela. Ketika seorang agen penjualan menerimanya, jendela mengungkapkan nama / surat / kerja mereka ekstensi sehingga penelepon dapat ditransfer; sebuah tombol tutup (Dengan early-dekat mengkonfirmasi sementara masih menunggu) membiarkan jaminan staf tanpa menunggu. Real- waktu via onAssigned. Juga memperbaiki penempatan dropdown ke daftar anggota VIEW _ LEDS dengan nama + ekstensi.
· SecurityService
Ditugaskan -anggota endpoint + ekstensi kerja pada profil anggota
- GET * * * * * * * * * * * * * * * * (VIEW _ LEADS holder grant -all) beriman (id, name, extension) untuk penempatan lead-view dropdown (nama + ekstensi kerja, bukan email). - GET / api / keamanan / anggota / {id} sekarang termasuk on foneWorkExtension sehingga Hot Reassign menunggu jendela dapat menunjukkan ekstensi transfer assignee.
· kamo-internal
Menyediakan merek ikon dalam koneksi penyedia dropdown + datagrid (dibagikan dengan popup obrolan via getProviderMeta)
· MediaService
X (Twitter) + Discord adaptor
- XAdapter: Tanda tangan HMAC Activity (CRC challenges + x-twitter -webhooks- signature HMAC verify), normalizeInbound (direct _ message _ event, echo-skip), OAuth 1.0a- signed v2 DM send; konsumen kunci / rahasia dari platform pendaftaran X OAuth, token akses per- koneksi: rahasia - DiscordAdapter + DiscordRestClient: DM normalkan + REST mengirim (buka saluran DM + pesan / berkas) - DiscordGatewayManager: persisten Konsumer Gateway Web JDK- (satu WSS per Discord aktif koneksi, HELLO / heartbeat / IDENTIFY, MESSAGE _ CREATE DMs diterbitkan kembali ke sosial.inbound.raw begitu pipeline konsumen yang ada menangani mereka), @ scheduled conduled = reconnect, @ Predestroy membersihkan - SosialCredsResolver: Cabang X memecahkan kunci / rahasia konsumen dari platform registry OAuth
· kamo-internal
Tambahkan X (Twitter) + Discord ke koneksi penyedia + operator logo; kartu X dalam platform Registrasi OAuth
· APIService
Teruskan tanda tangan x-twitter -webhooks-di tepi webhook sosial (Aktivitas Akun X / Twitter)
· kamo-shared-library
Tambahkan X (4) / DISCORD (5) enums penyedia + X (6) platform OAuth provider + active- by-provider repo cari (tidak ada skema; provider _ type _ id adalah sebuah integer polos)
· kamo-shared-library
Lock- lifecycle outbox event type + BusinessDayCalendar dipromosikan ke mlos.compliance
- * * * * * * * * * * * * * * (mlos.least .lock.lifecycle): satu acara tipe untuk seluruh filecycle post- lock; MlosLockEvent spesifik Jenis rides in Muatannya. Komit awal LOCK tetap capital-pasar 'mlos.cm.lock.complect.d. - Replika dari DisclocureService terkunci aturan) bergerak dari MLOSCaptain MarketsService ke mlos.compliance per D16 - nilai lock- lifecycle penulis adalah kedua MLOS konsumen yang javadoc dijadwalkan promosi untuk. Uji bergerak dengan itu (7 / 7 hijau).
· kamo-internal
Doc- 04 MORTGAGE config tab - 5 domain singletons
bisnis - model / otoritas / kapitalis-pasar / melayani / ai- otonomi GET + PUT via / api / secure / mlos / config; mlosPut + parseWriteError permukaan crossbow-1 daftar penolakan inline; boolean field names simetris dengan GET / entity JSON; dipasang di strip tab pasar MORTGAGE sebelum anak persetujuan (mati getCommerceTypeLabel dihapus). tsc bersih.
· VOIPService
Sistem template Doc-07 SMS - / api / voip / sms / templates + GSM-7 / UCS-2 penjaga segmen
* * * * * * * * * * * * * lebih shared -lib Entiti SmsTemplate: dirender {var}} dan mengirim melalui Exsisting BulkTextprovider primitif (tidak ada detik jalur pembawa); SmsSegPenteriCalculator (GSM-7 160 / 153, UCS-2 70 / 67) + sms.max-segments cap - > 422. @ EnableJpaRepositor + = * * * * * * * * * * * * * * * InternalOtorisasi penjaga prefiks baru; X- Internall-Auth gated.
· SecurityService
Doc-04 tenant- config layer - self-heal + aktivasi ringkasan + 5 domain GET / PUT
mlos.config.enabled + com.kamo.z.share.mlos.config dalam @ EnableJpaRepositories. MlosConfigSelfHealRunner: default LenderProfile + 5 domain singletons per aktif Pasar mortgage di boot * * * * * * * * * * * * * * * * * * MlosConfigWriteService: whitlist - > 4b.1 validate-or-rollback - > profileverversion bump - > WORM MlosConfigure ChangeLog snapshot. MlosConfigController / api / Security / mlos / config: Render-profile aktivasi ringkasan + validasi + changge- log + busines-model / otoritas / * * * * * * * * * * * * * * * GET / PUT; * * * * * * * * * * * * * * gerbang, sesi org / aktor (SUDO-aware). Bidang Boolean simetris dengan GET / Entitas JSON.
· kamo-shared-library
Undo-type
- [04] mlos.config: * * * * * * * * * * * * * * * enums + BusinessModelConfig / * * * * * * * * * * * * entitas + repos + ScreenState / ModuleState / ModuleKey / Pramugari QueueKey + ActivationMatrix (\ 4b row- row); MlosActivation Layanan keuntungan * * * * * * * * * * * * * * * (serikat + otoritas / Pengelola CM / servicing); MlosConfigles ChangeLog audit WORM; VendorKategori. - [12] StageWallRegistry (self-validating: * * * * * * * * * * * * * * * 0.90 lantai kredit / uang, class-load fail-closed); Keputusan Gerbang ORs dinding registri (add-only), paksa lantai prestage, tambahkan kekuatan -steward fail- aman. - DecisionSpine. DesisionRequest memperoleh provenance opsional AusFindingId (back-compat aktor). - [07] SmSSTemPlet / SmsTemplateKategori Entities + repos (donotmodify.voip.template, mirroring template email terkunci).
· kamo-internal
Bagian Registrasi Klien OAF2 dalam pengaturan Advanced * * * * * * * * * * * * * * * - kartu penyedia + sunting + rahasia bertopeng + proxy + klien api
· VOIPService
Klien RingCentral OAuth menemukan solusi dari platform registry OAuth di kedua konsumen (OOthenController + PhoneProviderFactory refresh) + boot-seed + platform form-enc-key env
· EmailService
Google / Microsoft / Zoho OAuth client creds resolve from the platform OAuth registry (+ boot-seed from env); hapus @ Value client-id / secret + platform-enc-key env
· MediaService
Meta OAuth baca app id / secret / verifytoken dari platform OAuth registry (+ boot-seed from env); hapus social.mea. * contax + platform-enc env
· SecurityService
Registrasi klien OABG CRUD (platform-admin gated, encrypted -at-rest, rahasia tidak pernah bocor) + platform-enc-key env
· kamo-internal
Kepala komposer WRITE - vonis rekaman, mempublikasikan baris-melalui kebijakan, menjalankan harga
Ketiga jalur menulis konsol muncul sebagai datang -segera, hidup akhir-to-end: - Pramugari Feedback Composer dalam keputusan - laci jejak: CONFIRM / MODIFY / OVERRIDE Putusan tersegmentasi (tone-coded), alasan Reg- B pilih (dibutuhkan pada OVERRIDE), MODIFY mengoreksi nilai editor JSON dengan validasi sisi klien, WORM tambahan-hanya catatan, in- penjaga penerbangan (rantai tidak memiliki kunci idempotensi). - PullThrough PolicyComposer menggantikan penerbitan -soon box: dua- step edit - > review-diff - > terbitkan v (n + 1); kenop validasi mirror layanan (probs 4dp, percentiles, dokter09 chorison kosakata, platform lantai petunjuk); publikasi melalui proksi yang dicap yang dimiliki - memverifikasi gandum. - RunPricingComposer balik aksi header Run- pricing: skenario / produk prefills dari run yang dipilih, SHOPPING / APA _ IF saja, fakta opsional (fico / ltv / dti / state), post- run counter kecenderungan. Melewatkan produk, view-run. Plumbing: rute mlos ke depan permintaan. Metode + ekspor POST; mlosPost (NO coba lagi - bukan-idempotent worKM menulis); tulis tipe / fns dalam pemerintahan Api / exporitiingApi. i18n: semua teks baru melalui next-intl; diganti hardcode PRICING _ PURPOSE _ LABEL / Peta ELIGIBILITY _ LABEL dengan t () didukung pembantu; kunci triple-ditulis.
· kamo-shared-library
PlatformOOtorisasi ClientResolver (baca + decrypt registry) + PlatformOAthenGol Seeder (iimpotent boot seeed from env)
· kamo-shared-library
Entitas registry PlatromOOtoritas + repo + PlatformSecretCipher + provider enum
Platform-level OAG2 diverifikasi-app registrations * * * * * * * * * * * * * * * dienkripsi istirahat via PlatformSecretCipher (AES-256- GCM, platform.enc-key). Entitas siaga; dikonsumsi oleh SecurityService (CRUD) dan layanan pemecahan (baca + decrypt).

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