Jurnal de schimbări
Ce e nou.
Fiecare îmbunătățire a platformei, pe măsură ce se livrează.
· SecurityService
[04] felie E2 InvestorConfig colection CRUD (D31)
Al doilea domeniu de configurare a colectării (doc-04 §3.2 InvestitorConfig) aprobare/livrare/autorizație care alimentează execuția piețelor de capital. Reutilizează unitatea H forma de colectare exact: *********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** coloana vertebrală (profil cucui Versiune + §4b.1 valid-or-rollback + WORM schimbare-log; tare ștergere auditată {"eliminat": True,row}; NoSuchRowException->404 eșuați pe o Rând străin-profil). GET / Investitori + POST + PUS/ {id}(+activ: fals-eliminat); Codul investitorului + aprobareaStatus necesar, ***************** Autoritatea delegată este opțională; validarea enum + non-negativ-turn. Configuraţia Investitorului +3-copii (plafoane/livrări/angajament) sub-colectările rămân o continuare. 4 teste (+site-urile existente ale Ctor actualizate pentru +InvestorConfigRepository arg; 16 config write teste verzi).
· kamo-internal
Fila de licențiere MORTGAGE (listă/listă/eliminare) [04] felie E2 (D31)
A 6-a filă de configurare MORTGAGE: NMLS/stat/agenție/investitor cu date eficiente/expire și un cip eficient compus de server (status nu este niciodată stocate). Adăugați printr-un rând inline, eliminați prin acțiunea gunoi (stergeți greu server-side; să se retragă fără a se șterge, să se stabilească expirarea în trecut). ConfigTypes LicensingView/ LicenseRequest + LICENSE TYPS + licenceTypeLabel; configApi list/create/update/ ÎnlăturareLichensing; înregistrată ca filă "licență" înainte de fila de acorduri întotdeauna-on. Engleză șiruri navă prin repo traducere dicționar. TSC curat.
· SecurityService
[04] felie de colectare a licențelor E2 CRUD (D31)
Primul domeniu de configurare COLECTION (doc-04 §3.2 LicensingEntry, many-per-profil) o nouă formă de scriere id-keyed pe aceeași coloană de audit ca și singletonii: - *************** / updateLicense / stergeLicense: profileVersion buck + §4b.1 valid-or-rollback + WORM change-log pe rând; server de identitate-martor. Actualizare/eliminarea rezolvă rând cu id apoi eșuați închis 404 (NoSuchRowException) dacă acesta nu este profilul operatorului org lui - ştergeLicense este o ştergere HARD (auditat {"eliminat":adevărat,row}) deoarece Licența Resolver citește intrările UNFILLTERED by record state Număraţi ca licenţă; să expiraţi fără ştergere, setaţi data de expirare în trecut. - MlosConfigController: GET / Licențiere (listă, eficientăToday calculat prin isEfficientOn (today), nestored), Post / Licensing, PUS / Licensing/{id} (actualizați sau eliminați prin {activ: " " "} ISO-date + enum + de expirare>=validare eficientă; NoSuchRowException->404. Investitorii (+3 copii) și RiskOverlay reutilizează această formă în felii ulterioare. 6 teste.
· kamo-shared-library
Tipul de eveniment IDENTIFICATOR REGISTRAT (modul de identificare. înregistrare)
Contrapartida de înregistrare inițială a IDENTIFIER SUPERSED oglinzile din aval / cachele de rezoluție globală consumă atunci când un identificator nativ este prima înregistrare (doc 11 §5.3/§10, D29).
· kamo-internal
Tabel de anulare a autonomiei per etapă pe fila ai-autonomie (D28)
Harta doc-04 §4.2/§4.5 per etapă sub singletonul AiAutonomy: fiecare ciclu de viață etapa cu clasificarea peretelui platformei (cip legal-perete / podea netunabilă) și pragul de încredere efectiv utilizat de poartă (maxim (suprascriere, podea)). Fiecare Stadiul non-perete are un editor de suprascriere inline (treshold + auto-executare) cu salvare + Elimină (PUT activ: fals, deoarece proxy de configurare nu are verb DELETE); legal-perete etapele sunt doar citite. Reîncarcă după fiecare scriere astfel încât postura eficientă reflectă Recalculează serverul. Comment Nu-ţi face griji. ActualizareStageOverrideRequest + configApi get/update/removeStageOverride. Engleză siruri de caractere (aiAutonomy.stage Overrides.*) live in the translation-dictionary repo.
· SecurityService
[04] pass-2 AutonomyStageOverride CRUD + harta autonomiei pe scenă (D28)
Suprafaţa autonomiei per etapă configurează vertical amânat până la StageWallRegistry există (nota sa de amânare este acum satisfăcută): - *************** upsert per (LenderProfile, StageKey) pe coloana SAME scrie ( mutatie listat alb, profil cucui Versiune, §4b.1 valid-or-rollback, WORM change-log apendice). Etapele JURIDIC-WALL (Închidere/ FUNDING / Colecții) sunt respinse 400 pur și simplu - poarta ignoră suprascrie acolo prin design, și stocarea unui rând nu va onora este un artefact de audit înșelătoare. - ștergereStageOverride: ștergere HARD (rezolvatorul citește suprascrie fără înregistrare- filtrare de stat, astfel încât un steag moale ar păstra musca poarta), auditate ca o "eliminat":adevărat,row": ...}schimbare-log instantaneu + profil cucui version. Expus PUT {activ: fals} deoarece proxy- kamo- intern config nu are verb DELETE. - GET /ai-autonomy/stage-overrides: doc-04 §4.2 pe hartă - fiecare LifecycleStage cu clasificarea sa pe perete (juridicWall + non-versible floor) de la StageWallRegistry), rând suprascrie chiriașului, și postura de eficacitate Poarta va utiliza (maximă [supraride], podea); auto-executare = configurare ȘI suprascriere) prin Nu-ţi face griji. - Put *************** prag în [0,1] max 3dp (magazinat ca CER chiriașului; poarta aplică întotdeauna podea - suprafață ca Threshold eficient on the GET). Toate entitățile pass-2 + tabelele prod există deja (descoperire cartografiere - Nota "nevoie de noi entităţi" a cozii a fost veche: nici o schimbare comună-lib, nici un KI run. Fila Frontend + E2E sunt punctul de reluare fixat (nota D28 STATUS în doc planuri).
· DaemonService
[03] Consumatorii de tip MLOS-read-side - decizie.direcționat ventilator-out + sarcină. cusătură rezolvată (D26/D27)
Read-router-ul Doc-03 s-a pliat în gazda MLOS-consumator a flotei (singura Punerea în aplicare a strategiei de recreare - rebinds durabile mor sub RollingUpdate), per Alocația explicită pentru "serviciu de citire subțire sau pliată"; un teren verde MLOSOrchestration Service rămâne proprietar-gated. Primii adoptatori de producţie ai nucleului de fiabilitate a consumatorilor în bandă comună (doc 12) §4.2): fiecare livrare trece prin IdempotentEvenimentProcesor - per-consumator dedup marker în SAME tx ca efect secundar, RETRY->nak (captat de încercări maxime); MlosDeadLetter la capac, trupuri de neparsabil mort-scrise imediat. - MlosDecizieRoutedConsumator E foarte greu. daemon-mlos-decision-direcționate): steward-out prin StewardNotifier - per-org SMS prin intermediul VOIP POST /api/bulktext/send (cluster X-Normal-Auth) pentru a configura- numere listate; EMPTY implicit = înregistrare numai până la modelul de atribuire a contractului de administrare tinuturile membre-> rezolutia de contact (administratorul UI citeste StewardTask direct). - MlosTaskConsumator rezolvat E foarte greu. daemon-mlos-task-rezolvat): SEAM auto-resuma. DeciziaSpine.rezolvare() deja răstoarnă sarcina RESOLVED + OrchestrationState GREEN sincron (descoperit în cartografiere - există remisiunea coloanei vertebrale; numai obiectivul HTTP este administratorului de ecran); motorul reporneşte aici când motorul se reia API aterizează. 6 teste.
· kamo-internal
Modul unelte de marketing + rework nav
- /modul de comercializare cu antet de erou de tip cont + ruta de acces tab-uri: Prezentare generală, Social Media (/social), Materiale (/materiale); Coduri de referință (/reduceri); titularii de locuri care vin în curând; acces păzit prin REVIZUIRE MARKETING + drepturi per-tab - NavPri: Post de marketing (Campanie pictogramă, A vizualiza MARKETING) între Comerț și KB; element note eliminate - NavTop: Calendar + Contacts now icon- only (tooltips keen); Notes moved aici de la NavPri (numai icon, același lucru esteNote+VIEW NOTES gating) cu regulă verticală - SecurityRoleManager: Secţiunea Drepturi de Marketing (întotdeauna vizibil)
· kamo-shared-library
Grupul pentru drepturile de marketing
VECHI MARKETING, view SOCIAL MEDIA, MANAGEMENT SOCIAL MEDIA, view MATERIALS, Coduri de vizualizare referral , manager referral coduri. PUNEREA PE PIAŢĂ este o grupare a drepturilor modul (activat = fals, cum ar fi LOS) Rânduri de drepturi auto-vindecare în toate rolurile pe boot-ul Serviciul de securitate.
· kamo-shared-library
Tipurile de evenimente de conformitate AUS - degradare.forced, derogare.recorded, validare.recorded
Semnalele durabile ale unității de evaluare a conformității [10] (D22/D24): FHA TOTAL Decizie de înregistrare forțată în scădere și de derogare/validare a datelor numai pentru apendice rândurile din ciclul de viață (doc 10 §6.2/§7).
· kamo-internal
Hot Reasign
Adaugă o acțiune Hot Reasign pe cardul de atribuire a clasamentului (personalul de la fața locului privind apelurile live): un explicator + dialogul apel-note necesar, apoi eliberați plumbul în credit auto-asignment piscină și deschideți o fereastră animat "găsirea unui agent disponibil." Când un agent de vânzări acceptă, fereastra dezvăluie numele/emailul/extensia de lucru astfel încât apelantul să poată fi transferat; un buton de închidere Lasă personalul să plece fără să aştepte. În timp real prin Atribuit. De asemenea, se stabilește scaderea misiunii pentru a lista membrii VIEW LEADS după nume + extensie.
· SecurityService
Criteriul final de activitate + extensia de lucru pe profilul membrilor
- GET *************** (VIEW LEADS deţinători pentru scaderea asignarii de conducere (nume + extensie de lucru, nu e-mail). - GET /api/security/members/{id} include acum telefonWorkExtension astfel încât Reasign fierbinte de așteptare Fereastra poate arăta prelungirea de transfer a cesionarului.
· kamo-internal
Comment
· MediaService
X (Twitter) + adaptoare de discordie
- XAdapter: Contul Activitatea webhook (CRC provocare + x-twitter-webhooks-signature HMAC verifica); normalizeInbound (direct message events, echo-skip), Oauth 1,0a-signed v2 DM send; consumator cheie/secret de pe platforma X OAuth înregistrare, acces pe conexiune token:secret - DiscordAdaptator + DiscordRestClient: DM normalizeaza + REST trimite (deschide canal DM + mesaj/fisier) - DiscordGatewayManager: persistent JDK-WebSocket Gateway consumator (un WSS per disord activ conexiune, HELLO/heartbeat/IDENTIFY, MESAJE CREATE DMS republicate pe social.inbound.raw astfel Conducta de consum existentă le gestionează), @Scheduled conciliation = reconectare, @PreDestroy cleanup - SocialCredsRezolvator: Ramura X rezolvă cheia/secretitatea consumatorului din registrul platformei OAuth
· kamo-internal
Adauga X (Twitter) + Discordie furnizorilor de conexiune + logo-uri furnizor; Card X in inregistrari OAuth platforma
· APIService
Înainte@ info: whatsthis
· kamo-shared-library
Add X(4)/DISCORD(5) provider enums + X(6) platforma OAuth provider + activ-cu provider repo lookup (fără schemă; provider type id este un simplu Integer)
· kamo-shared-library
Lock-lifecycle Outbox tip de eveniment + BusinessDayCalendar promovat în mlos
- *************** Un eveniment tip pentru întregul ciclu de viață post-blocare; MlosLockEvent specific Curse de tip in sarcina utilă. Lock comite inițial rămâne capital-piețe "mlos.cm.lock.angajat. - BusinessDayCalendar (CFPB §1026.2 (a)(6) replica serviciului de informare blocat reguli) trece de la MLOSCapitalMarketsService la mlos.respectare per D16 - scriitorul de lacăte este al doilea consumator MLOS Javadoc programat promovarea pentru. Testul se mișcă cu ea (7/7 verde).
· kamo-internal
Doc-04 MORTGAGE file config
business-model / autoritate / piata de capital / service / ai-autonomie GET+PUT via /api/security/mlos/config; mlosPut + parseWriteError surface the §4b.1 cross-field lista de respingere în linie; nume de câmp boolean simetrice cu JSON GET/entitate; montat pe banda de tabla de pe piata MORTGAGE inainte de intelegerea copilului (mort a se elimina CommmerceTypeLabel). TSC curat.
· VOIPService
Sistem de șablon Doc-07 SMS
******************* peste entitățile SmsTemplate: redă {{var}} ] și trimite prin intermediul Existent BulkTextProvider primitiv (nici o secundă căi de transport); SmsSegmentCalculator (GSM-7 160/153, UCS-2 70/67) + sms.max-segments capac - > 422. @EnableJpaRepositorii += - Nu. InternAuthFilter păzește noul prefix; X-Normal-Auth poartă.
· SecurityService
Doc-04 chiriaș-config strat
mlos.config.enabled + com.kamo.z.shared.mlos.config in @EnableJpaRepositorii. MlosConfigSelfHealRunner: implicit LenderProfile + 5 domenii singletons per activ Piaţa MORGAGE la boot *************** MlosConfigWriteService: whitelist -> §4b.1 valid-or-rollback -> profileVersion bump - WORM MlosConfig ChangeLog instantaneu. MlosConfigController /api/security/mlos/config: creditor-profil de activare rezumat + validare + schimbare-log + business-model/autorizație/ - Nu. GET/PUT; ***************** poartă, org sesiune / actor (SUDO-conștient). Câmpuri booleene simetrice cu JSON GET/entitate.
· kamo-shared-library
Stratul de configurare/activare + intarirea portii de decizie + entitati de provenienta a coloanei vertebrale + model SMS
- [04] mlos.config: *************** enums + BusinessModelConfig/ ************ents+repos + ScreenState/ModuleState/ Modul Key/StewardQueueKey + ActivationMatrix (§4b rând pentru rând); MlosActivation Serviciu câștiguri Nu-ţi face griji. (unitate + autoritate/ CM / rafinamente de servire); MlosConfigChangeLog WORM audit; VendorCategory. - [12] StageWallRegistry (auto-validare: *************** 0, 90 nivelul creditelor/monedelor, clasa de încărcare închisă; decizie Poartă SAU peretele de înregistrare (doar-adad), aplică podeaua per etapă, adaugă forța-steward de siguranță. - [03] DecisionSpine. DeciziaRequest câștigă opțional ausFindingId proveniență (back-compat ctor). - [07] SmsTemplate/SmsTemplate Categorie entităţi+repos (donmodify.voip.templlate, oglindire șabloane de e-mail blocate).
· kamo-internal
OAuth2 Sectiunea Inregistrari Clienti in Setari Avansate ************* Carduri furnizor + editare dialog + secrete mascate + proxy + client api
· VOIPService
RingCentral OAuth client creds rezolva din registrul platforma OAuth în ambii consumatori (OauthController + PhoneProviderFactory reîmprospătare) + boot-seed + platforma-enc-key env
· EmailService
Google/Microsoft/Zoho OAuth client crede rezolva din registrul platformei OAuth (+ boot-seed din env); eliminați @Value client-id/secret + platforma-enc-key env
· MediaService
Meta OAuth citește aplicația id/secret/verify-token din registrul platformei OAuth (+ boot-seed din env); elimină social.meta.* consum + platforma-enc-key env
· SecurityService
OAuth2 inregistrari client CRUD (platform-admin poarta, criptate-at-rest, secrete nu scurgeri) + platforma-enc-key env
· kamo-internal
Steward ScrewE compozitori
Cele trei căi de a scrie consolele au ieşit la suprafaţă ca şi cum ar veni în curând, live end-to-end: - StewardFeedbackComposer în sertarul de decizii-trail: CONFIRM/MODIFY/OVERRIDE verdict segmentat (codat în ton), selectați motivul Reg-B (necesar pentru OVERRIDE); MODIFY editor JSON cu valoare corectată cu validarea client-side, WORM Adaugă numai notă, paznic în zbor (lanțul nu are cheie de idempotență). - PullThroughPolicyComposer inlocuieste cutia publica care vine-soon: doua etape Editare -> review-diff -> publish v(n+1); validarea butonului reflectă serviciul (probii 4dp, percentile, vocabularul orizontului doc-09, indiciu al podelei platformei); publică prin proxy cu ştampilă de sesiune care verifică proprietatea. - RunPrecingComposer în spatele unei acţiuni de afişare a preţurilor: scenariu/produs Preumpleri din rula selectată, Shopping/ WHAT IF numai, fapte opționale (fico/ltv/dti/stat), contoare post-run inclusiv produse omise, vizor-run. Instalare: rute mlos cerere înainte.Metoda + export Post; mlosPost (NO retry - scrie WORM non-idempotent); scrie tipuri/fns în guvernanţăApi/pricingApi. i18n: tot textul nou prin next-intl; înlocuit prin hardcoded PRICING PURPOSE LABEL/ ELIGIBILITY LABEL maps with t()-backed helpers; taste triple-scrise.
· kamo-shared-library
PlatformaOauthClientRezolvator (read+registry decript) + PlatformOauthSeeder (seminte de boot potent din env) + RezolvatOAuthClient
· kamo-shared-library
PlatformaOauthClient Registry entity + repo + PlatformSecretCipher + provider enum
Înregistrări verificate la nivelul platformei Oauth2 - Nu. criptat în repaus prin PlatformSecretCipher (AES-256-GCM, platforma.enc-key). Entitatea independentă; consumată de Serviciul de Securitate (CRUD) și serviciile de soluționare (read+decript).

Universul tău te așteaptă.
Începeți gratuit în câteva minute.Adăugați produse oricând sunteți pregătit — fără migrare, fără autentificări noi.
Gratuit pentru totdeauna — nu este necesar un card de credit