I fissaggi timbrano l'estremità della finestra del dio-modo; una finestra non è elevata (scorrispondenza condivisa di SessionPlatformFacts)
LosRightsFilter legge la finestra attraverso la SessionPlatformFacts condivisa, che ora ha anche bisogno GodModeExpiresAt avanti (kamo-shared-library 1.6.1). L'...
Una regola di manutenzione rotta risponde 409 con le proprie parole, non un 500 (SITP TP22)
I servizi rifiutano con eccezioni semplici (l'offerta deve essere DRAFT da inviare, l'estrazione supererebbe il credito limite, la ragione è richiesta, un id sc...
Le commissioni valutate di un prestito possono essere lette, quindi una tassa può essere nominata per rinunciarlo (SITP TP22)
GET /api/los/fees/by-loan/{loanId}: le tasse del prestito (late, NSF, annue), più recenti, rinunciate o meno; PLOS VIEW PIPELINE (LosRightsFilter, come ogni let...
Un'offerta di prestito è redatta solo sul prodotto e sul mutuatario dell'organizzazione, il rapporto di invecchiamento conta solo i suoi prestiti, e gli atti del personale sono l'organizzazione (SITP TP22)
- POST /api/los/offers: il prodotto deve essere l'organizzazione del chiamante e il mutuatario un membro del esso (o di un'organizzazione per bambini); un corpo...
KamoLOS controlla la destra dell'OLP e l'organizzazione su ogni percorso, e apre una porta chiave una volta (SITP TP02)
KamoLOS non ha imposto alcun diritto: il proxy /api/los di kamo-internal era l'unico cancello. LosRightsFilter ora applica la propria tabella Retto() del proxy ...
Smettere di registrare la password del database all'avvio
com.zaxxer.hikari a DEBUG rende HikariConfig stampare tutta la sua configurazione su ogni inizio, tra cui dataSourceProperties {password=...} e password......; ...
Scrub copie di credenziali dal vivo da config e dumps
Una spazzata di ogni repo per i valori dei Segreti dal vivo del cluster (2026-09-23) ha trovato delle copie qui: JWT firma segreto come un `${JWT SECRET: <liter...
Sonda di vita su /actuator/health/liveness, non l'aggregato DB-aware
L'aggregato /actuatore / salute include l'indicatore DataSource, quindi riavviare il database ha fallito la vita su ogni capsula subito e riavviato l'intero pia...
Rilasciare i collegamenti idle Hikari ora che YSQL pooling è condiviso
Il responsabile del collegamento non percorre più le sessioni E' il momento giusto. così le connessioni app idle non più ogni tenere un backend del database. Te...
Accetta gli indici delle immagini OCI quando risolvi il digestivo costruito [skip ci]
Le immagini sono spinte come indici di immagine OCI, così chiedendo al Registro di sistema per un singolo immagine manifesto solo risposto 404, il digest è torn...
Riavviare quando uno stesso impegno ricostruisce i baccelli di foglie sul vecchio digestivo [skip ci]
La fase di rollout ha cercato di rilevare una ricostruzione dello stesso impegno confrontando Il riferimento dell'immagine di distribuzione prima e dopo `set im...
Prove the deploy by digest, not by tag
Il commit precedente si ferma `set image` essendo un no-op silenzioso. Questo afferma che risultato: dopo il rollout, il tag viene risolto per digerire al Regis...
Una ricostruzione dello stesso commit non ha dispiegato nulla e ha riferito il successo
L'immagine è contrassegnata con il commit SHA, così la ricostruzione dello stesso commit produce un riferimento di immagine identico. `kubectl set immagine` qui...
Bloccare ogni lavoro cron che muove soldi, e eseguire due pod
KamoLOS ha eseguito un pod e i suoi dieci lavori di cron sono stati corretti solo a causa di esso. Non c'è ShedLock ovunque su questa piattaforma, quindi una se...
Lasci un rollout finire quello che il vecchio pod stava facendo
Deploys ha sostituito l'unico pod di ogni servizio con nulla per catturare le richieste in volo. Tre impostazioni, applicate attraverso la flotta: - preStop do...
Pin kamo-shared-library 1.6.0
La biblioteca si trasferì a 1.6.0 mentre ogni consumatore rimase a 1.5.0. Consumatore CI costruisce la biblioteca da un clone fresco in un freddo ~/.m2 e ci-set...
Tagliare il coperchio sopra il suo proprio JVM soffitto di salto [skip ci]
L'immagine inizia il JVM con -XX:MaxRAMPercentage=70 -XX:+ SemprePreTouch, così il heap da solo può prendere il 70% del limite del contenitore e pre-touch manti...
Abilitare ProxyHmacFilter — passo 2, X-Org-Id è ora un testata collaudata
los.proxy-hmac.enabled sta cadendo al suo falso default da questo servizio schierato, così ProxyHmacFilter esisteva e non correva mai. X-Org-Id — l'intestazione...
Dichiarazioni, estrazioni e pagamenti all'organizzazione del chiamante
Stesso bug di LoanController.get(uid), ripetuto: questi controller hanno preso un prestito id off il percorso e consegnato a un repository, quindi GET /api/los/...
Un prestito id non è una credenziale — portata ogni LoanController letto all'org
LoanController.get(uid) ha preso un prestito id e ha restituito tutto ciò che ha trovato. Qualsiasi chiamante che ha raggiunto il servizio ha ottenuto il presti...
Ricostruisci contro la correzione condivisa @Lob LONGVARCHAR
Il dialetto PostgreSQL di Hibernate legge le colonne di stringa @Lob come OID via getLong(). Affetti note, contatti, calendario, OAuth tokens, password IMAP, ca...
Punta a YugabyteDB e usa PostgreSQLDialect
CockroachDB è stato sostituito da YugabyteDB. Le stringhe di connessione si muovono da scarroachdb-public:26257 a yb-tserver-service:5433, e il dialetto Hiberna...
Ripristina la costruzione di librerie condivise, che il uplink LAN continua a corrompere
Tre edifici sono morti oggi su "Tag mismatch" tirando un vaso — e lo specchio aggiunto un'ora fa non ha fatto aiuto, perché kbservice, mcpgatewayservice e ragse...
Mirror Maven Central tramite la copia GCS di Google
Ogni stadio di Docker parte da un freddo ~/.m2 e refetches l'intero albero di dipendenza, quindi Central vede il peso pieno di ogni servizio concomitante costru...
Dichiarare i matcher di sicurezza esplicitamente prima dell'avvio successivo
kamo-shared-library 1.5.0 è stato ripubblicato oggi con spring-ws-core come nuovo dipendenza transitoria, quindi Spring Boot ora auto-registra un secondo servle...
Harden il kubectl download contro l'egresso sfacciato [skip ci]
dl.k8s.io sopra l'ingresso del corridore cade in modo intermittente metà del trasferimento: curl: (56) OpenSSL SSL read: decryption fail or bad record mac che f...
Fissare kubectl-cache trovare aborti sotto set -e + punto a cluster unificato
- CACHED KUBECTL=$(find ... | head -1) abortire deploy k1m1 sotto set -e/pipefail quando corridore .cache/act dir è assente (mai raggiunto il curl-install fallb...
Rimuovere il cablaggio MLOS event-backbone — KamoLOS è il LOS personale, non MLOS
Il lavoro MLOS (mortgage) non deve toccare KamoLOS (prestiti personali). Il substrato condiviso-lib com.kamo.z.shared.mlos.* soggiorni (generico, gated mlos.out...
Adottare MLOS uscita transazionale (percorso del produttore)
Abilita la spina dorsale dell'evento Phase-0 in KamoLOS: aggiunge com.kamo.z.shared.mlos.event alla scansione @EnableJpaRepositories, mlos.* config (mlos.outbox...
Clone condiviso-lib con GIT CLONE TOKEN (non token del Registro di sistema)
Il token del Registro di sistema autentica al registro di sistema k1m1 Docker (htpasswd), non a Forgejo git, così il clone condiviso-lib fallito auth. Utilizzar...
Costruisci su k1m1 — clone condiviso-lib da k1m1, drop k2m1, fix host immagine
CI clonato kamo-shared-library dal ritirato k0m1:3000 Forgejo, così la costruzione fallito e los-service non è mai stato spinto al registro k1m1; è sopravvissut...
Per-offer overrides per tasso, APR e tassa di origine
LoanOfferCreateRichiesta ottiene tre campi facoltativi — interesseRateBpsOverride, aprBpsOverride, provenienzaFeeAmountOverride. creareDraft li applica quando i...
Stivali STRIPE CONNECT WEBHOOK SECRET per KamoLOS
La configurazione di cui si fa riferimento... così il risolutore segnaposto di primavera ha lanciato prima di raggiungere il livello Java **********************...
Tracciare condiviso-lib LoanRepository → PersonalLoanRepository
Aggiorna ogni tipo di importazione e campo da LoanRepository a PersonalLoanRepository attraverso 20 file sorgente KamoLOS + 1 test (i nomi di campo iniettati Lo...
Tier 6+7+9+10 — frontend polish, org reports, OpenAPI, JaCoCo
T6 (frontend polish): - New /lib/format.ts: locale-aware formatCurrency / formatDate / formatDateTime / formatPercentBps via Intl APIs (replaces hardcoded t...
Livello 4 — LoanPaymentPosting Test unità di servizio
Sei test dell'unità mobile-repository che coprono il cuore della spedizione di pagamento: - No, no. pagamento di $100 contro prestito con $25 commissioni / $50...
Tier 5 lotto di conformità
- OfacSanctionsService: Jaro-Winkler fuzzy match @ ≥0.92 dopo exact-match Passo. Colpisce il punteggio di somiglianza superficiale. Configurabile tramite los.of...
Tier 3 sicurezza + Tier 8 gruppo di pulizia bug
T3 — Sicurezza: - Nuova RateLimitFilter (Bucket4j): 1000/min per IP per webhooks, 10/min per sessione per offerta accetta/decoder/rescind, 60/min generale. Regi...
Tier 2 — Hikari + RestTemplate timeouts + Stripe SDK + Redis cache
- RestClientConfig: single shared RestTemplate bean with 5s connect / 30s read timeouts. MediaServiceClient / NotificationDispatchService / OfacSanctionsSer...
Tier 1 critical correctness pass
T1.1 Stripe disbursement strategy: TREASURY (stub — requires SDK upgrade or raw HTTP) / CONNECTED_ACCOUNT (Transfer.create — works in SDK 28.2.0) / MA...
Final batch — compliance, packets, adjustments, Grafana, tests
Compliance: - MlaCheckService — Military Lending Act covered-borrower lookup against DoD MDC single-record query. Returns NotCovered if unconfigured so dev ...
P2 lotto — osservabilità, test, tassa di fine anno, ID Stripe reali
Osservabilità: - micrometro-registry-prometheus sul sentiero di classe - /actuator/prometheus esposto tramite gestione config (sia locale + k8s configmap) - Ser...
P1 lotto — webhooks stato avanzato, cron, commercio verticale
Movimento dei soldi (il nucleo P1): - LoanPaymentPostingService: markSucceedAndPost / markFailed / markReturnedAndReverse / markDisbursementSucceededed / markDr...
Indurimento P0 — Stripe Connect endpoint + PDF flatten
- Fix EsignClient Importazioni: EsignGenericEnvelopeRepository / EsignSignatureRepository live in .esign.repos, not .esign root - Nuovo StripeConnectController ...
Originaria personale iniziale + servizio di assistenza
New Spring Boot 3.1.5 / Java 21 microservice modellato su BillingService. Possiede dominio personale-loan end-to-end: - LoanProduct / LoanOffer / Loan CRUD con...
Hide isActive=false programmi da mutuatari in tempo reale
useProgramCatalog ora filtra i programmi con isActive=false prima restituirli al mago del prestito. La bandiera è computerizzata lato server come (base.isActive...
Guidare il cielo di viaggio da SkyToggle, staccare dal chip di personalità
- Sposta SkyToggle nella sua fila in alto a destra in alto-14 quindi il cursore si ferma sovrapposizione LoGuideChip, che è posizionato a destra-14 assumendolo ...
Come quello che vedi la spedizione?
Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.
