Changelog
Ce qui est nouveau.
Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.
· kamo-shared-library
Céréales de cloisons légales du RON (flocon de WORM) - CLOSING -STEP -BLOCKED
L'État de propriété est l'identité gelée sur le colis de clôture (un bien de fermeture fait l'état d'être ne pas bouger) et est le grain de la paroi légale d'éligibilité de l'État à 6,1 RON. ClOSING-STEP-BLOCKÉ est le signal durable à laquelle la file d'exception de fermeture-fermeture répond lorsque le RON est muré.
· kamo-shared-library
Clé d'événement FERMIER-SouBMITTED (doc 05 - 6.3)
Le signal MERS: un MersRegistration ' était joint pour le prêt (appendyment seulement, MIN n'a jamais été écrasée). Clé de chaîne ouverte en additif (pas de DDL).
· SecurityService
Ajouter kamp-apps, VectorService, kamolos, kamo-signer-monorepo au journal public
· kamo-shared-library
Clé d'événement CLOSING-STEP-RETRIED (doc 05 -6,4)
Le signal de récupération de l'intendance: un boîtier BLOCKÉ-STEWARD a été débloqué et un nouveau noeud de PENDING s'est matérialisé pour le sous-système récupéré. Clé à cordes en additif (pas de DDL).
· kamo-shared-library
Clé d'événement CLOSING-STEP-FAILED (doc 05 -6,4)
Le signal de défaillance de la boucle d'entraînement: une étape de fermeture FAILLET/BLOCKED, le paquet est maintenu BLOCKÉ-STEWARD; la file d'attente d'exception de fermeture-fermeture réagit. Clé de corde ouverte en additif (pas de DDL).
· kamo-shared-library
ClOSING-STEP-COMPLETED-CLOSING-PACKAGE-COMPLETED clés (doc 05 - 6.44)
Les signaux en boucle d'entraînement: un ClosingArteact atteint COMPLETED (l'adaptateur suivant), et toutes les étapes requises sont effectuées (Exposer-réaliser/de services d'embarquement). Clés à cordes ouvertes en additif (pas de DDL).
· InitializerService
Indice unique NULLs-safe pour les versions ClosingWorkflowTemplate (doc 05 -6,3)
Une version par grain (organisation-id, scope-level, scope-ref-id). Le CRDB est NULLs-distinct, donc divisé pour le l'ulcôture nulle (réf-id (miroirs mlos'aiptp'): mlos'closing'wft'version'uniq (scope'ref'id n'est pas NULL) - sur (org, scope-level, version) (scope-ref-id IS NULL). Le MLOSDocOrchestration's read-en-write par l'éditeur de l'éditeur de l'édition (versionNumber-max-1): une dup-version concurrente publier perd à un 409 (l'éto-récepteur 409s de l'assembleur sur le dup, ensemble de briques).
· kamo-shared-library
Clé d'événement (doc 05 -6.3)
Le signal durable que l'éditeur de modèle doc-orchestration émet sur une nouvelle version ClosingWorkflowTemplate. Clé de chaîne ouverte en additif (pas de DDL).
· kamo-shared-library
Clé d'événement FERMIER-PACKAGE-ASSEMBLÉ (doc 05 eClose)
Le signal durable émis par l'assembleur doc-orchestration lorsqu'un ClosingPackage est créé à partir d'un assembleur résolu ClosingWorkflowTemplate - son premier nœud d'artefact. Clé de chaîne ouverte en additif (pas de DDL).
· kamo-internal
Supprimer la scène "Publier au monde"; fixer
Les groupes électrogènes écrivent maintenant des tuiles directement à la campagne de service, donc le monde pipeline n'a plus de phase de publication/poussée. - worldgenNats.ts et univers/types.ts: drop 'push' de WorldgenStageId, MONDITIONNEMENTS ET STAGES ET ORDRE (pipeline - components.tsx: supprimer l'entrée push STAGE-META et CloudUploadIcon non utilisée. - services/[étape/start: acceptez 'all' comme cible de commande donc "Run All" fonctionne (il s'étend à la préparation de l'hydro-zflora-zrbore sur l'agent) au lieu de 400.
· kamo-shared-library
Clé d'événement PULL-THROUGH-POLICY-PUBLISHÉE - null-safe AiPTP back tor doc (doc 09 -8)
Ajoute la clé canonique et événement (le signal durable le moteur recharge sa politique active sur) pour l'éditeur AiPullThroughPolicy. Actualisation de la AiPullThroughPolicy WORM javadoc pour documenter le support mono-actif fractionné (par marché) NULLs-distinct-safe grain de l'ordre de l'ensemble de la taille) et ordre de rétrogradation de l'écrivain.
· kamo-shared-library
LoanIdentifierEvent entité d'audit d'évaluation uniquement (doc 11 -5,3/10)
L'identifiant de prêtEvent half de doc 11 5,3 échelon-4 / 10 "l'exhaustivité de l'audit" (chaque menthe/supersede émet un Ligne d'événements WORM). Nouveaux - LoanIdentifierEventType, LoanIdentifierEventRepository: un bloc total d'entité WORM uniquement par WORM (l'idiome AiDecision/DecisionInput Tous les champs revalorisants - faux, - Prêts à jour, survenuAt - DB DateCrée) enregistrement org/LâcheFileUid/ identifiantId (la nouvelle ligne ACTIVE, soft UUID ref)/supersedesIdentifierId (le pré-rouverd, nul pour un pendentif)/eventType - a nullable aiDecisionId pour le pair La moitié de décision WORM (déviseur - pas encore de registre AiFunction). Refs doux par id seulement (pas de "ManyToOne"), Longues ids sérialisées en chaîne. Tableau auto-crée sur la course KamoInitializer (indices déclarés par l'entité sur loan-file-uid-identifiant-id; pas de SchemaCleanupRunner change). Additif et version partagée inchangée (1.5.0).
· InitializerService
(loan-file-uid,type) Indice monoactive monoactive natif (doc 11 -5,3/-6.2)
Ferme un trou double-actif préexistant dans le registre des prêts-identifiants MLOS: index a) - ne contraint (org, type, VALUE) que pour les 10 REGISTRY-NATIVE types mono-actif, donc deux rangées natives ACTIVEs du SAME (loan-file-uid, type) mais DIFFÉRENTS pourraient les deux engagements (par exemple, une course renumérotée d'un registreNative avec une valeur différente - des clés de valeur distincte, non conflit). Nouveaux index partiels-uniques (loan-file-uid, type) statut NULL ET IN (les 10 types natifs) applique au plus un Id natif actif par (prêt, type) et l'analogue (prêt, type) de l'indice (c) pour les rétroviseurs OWNED-ELSEWHERE. Le type IN(...) image miroirs index (a); conserver en synchronisme avec le z (la dérive de 6,2 garde). Idempotent CREATE... SI NON EXISTES ; prod n'a pas de lignes natives concurrentes violatrices (vérifiées).
· kamo-shared-library
Ajouter la clé de type événement IDENTIFIER-SUPERSED
Clé d'événement à corde ouverte en additif (doc 11 -5.3/- 7.3) pour le signal renuméroté/supsession du registre - le signal de renuméroter Complance-TIMER-BREACHED (pas enum/schema/KI). Consommé par MLOSIdentifierService.renumber.
· kamo-shared-library
Résoudr le plafond auto-exécutable-souconer le long du seuil de paroi
Ajout effectiveAutonomy(orgId, scène, plancher) et Seuil efficace d'autotonomy, autoExécutéEnabled: une promenade en chaîne (profil et configuration et marche à pas en scène) qui retourne à la fois le seuil de mur de confiance au sol de 6,2 dollars ET l'auto-exécution-able Un changement de système d'autonomie (sensé au pas de la scène). (source unique de vérité). La porte de verrouillage du RCE honore un locataire qui rit Auto-exécution OFF en tant que CEILING auto-act quelle que soit l'autonomie de la demande niveau. Vide quand aucune configuration de locataire (le visiteur utilise la plate-forme par défaut; la demande régit). Additif ; seule la gilet MlosActivationService est affectée. 4 essais.
· InitializerService
Indice antidouble-soleil pour les enregistrements de verrouillage RCE (doc 08 -7,3)
SchemaCleanupRunner ajoute un Indice UNIQUE sur le cas de l'enregistrement de l'enregistrement (organisation-id, loan-scenario-id) État IN : Chez au plus un taux réel par prêt scénario: le filetage de base déterministe de la DB au niveau de l'application de MLOSCapitalMarketsService anti-double verrouillage, fermeture de la race TOCTOU concurrente (un duplicata la serrure en direct est une corruption silencieuse - le registre des écluses n'a pas de remplacement. Idempotent (SI NON EXISTES); déjà appliqué à la production CRDB.
· KlusterServices
Bootstrap univers-minio secret et ugc bucket note (no 14)
Ajouter l'étape 6 à bootstrap-universe.sh: crée le secret univers-minio (ACCESS-KEY/SECRET-KEY from universe-back-s3 racine creds) et note que le seau univers-ugc MinIO doit exister. Idempotent et saute si secret déjà présents.
· DaemonService
C'est un consommateur d'escalade de la temporisateur de conformité (BLOCS-STALE)
La moitié du consommateur de la boucle de rupture du nombre de temps de mise en conformité (doc. ComplianceTimerBreachConsumer s'abonne (jetStream durable) à et, par prêt violé, retourne ses codeurs d'orchestration BLOCKED à STALE via OrchestrationEscalationService (mutable, idempotent - déjà - STALE/GREEN/COMPLETE intact). Ajout de EnableJpaRepositories; permet à mlos.outbox (donc l'émission du balayage est étalée et relayée) et le - drapeau. 5 essais unitaires.
· InitializerService
-2.4 Indice partiel-unique à l'achat d'AUS sur le brocilage de mlos-aus-run
Une AusRun par les Aetes (non supersté, non congelée) AusRun per (loan-file-uid, source-label) comme l'achat d'AUS" (doc. Sûr de débarquer maintenant que l'auteur de l'agence MLOSUnderwritingService gère le faux flip-true remplacé avant d'insérer la nouvelle course active. Appliqué à la production CRDB.
· kamo-shared-library
Parflage persilisé sur MlosPricedProductResult et OrchestrationStepStatus.STALE
- MlosPricedProductResult gains par-flag (Boolean, false de défaut): la cellule par par 8,1 étape-5 de la cellule de la l'échelle de la période de verrouillage de la rangée, congelée à l'insert (répétoire de l'enregistrement du drapeau uniquement répondi). - OrchestrationStepStatus gagne STALE: une étape BLOCKÉ dont la temporisation de l'ALS de conformité a été violée et s'est intensifiée (fixé par le consommateur de l'escalade de la conformité par le retard de conformité de DaemonService; doc 03 -2,8). Les deux additifs; ddl-auto:update ajoute la colonne et le balayage générique enum-CHECK admet STALE sur le Le prochain KamoInitializer est en cours.
· kamo-shared-library
RateSheetSanityGate - 6,6 porte de sanctence (portée et monotone)
Composant (le modèle PriceAssemblyEngine) validant un taux/prix candidat AVANT qu'une feuille de notes publie (doc 02 6,7,6%) : fourchette de prix-limite sensible à la convention [Par. 20 (par. 100 PRICE - TO - 100 / 0 POINTS - PROM-PAR - Prises en compte brutes/erreurs de convention), une échelle monotone (prix non dérognant en tant que taux de notes augmente, par échelle (verrouillagePériode,io-flag)), et Caractéristiques structurelles (taux non vide/soutien positif / verrouillage positif / taux sans double emploi). Rapports Toutes les violations; échouent. Réutilisable par la future étape de l'ingestion (dépasse une phase découplée RateSheetLadderCell record, pas l'entité JPA). Revue accusatoire de 2 agents - FIX-THEN-SHIP (1 must-fix appliqué): supprimé la par-sanity près-par-PRICE Vérifiez - les fenêtres de coupon tout-premium/all-discount licites rejetées (par-RATE sanity taux l'étiquetage, différé; la fourchette limite déjà les prix à 20 euros par). Egalement: ramollissement de la convention-signe javadoc (contrôle de la convention explicite, prise par bande uniquement erreur de grandeur brute), exclu les cellules de vitesses nulles du duduplé/monotonique, et sautez le monotone comparer à des taux égaux. 18 essais sans BD (TDD). Aucune nouvelle entité - aucun KamoInitializer n'est géré.
· kamo-shared-library
LockPolicyVersionPublisher - 6,5 supersession complète la triade vertébrale
Le grésil de la version anti-sacs de la politique d'encliquetage ANNÉSEURS par INVESTOR (ux-lock-policy-version-active-" (organisation-id, investor-id) statut - 'ACTIVE' ET efficace - jusqu'à ce que NULL soit NULL). Même fenêtre atomique antérieure proche et saveAndFlush AVANT l'INSERT (l'identifiant Hibernate avant mise à jour piège). Deltas par rapport à la feuille de taux: taille clé investisseurId; pas de révisionÉtiquette/émissionAt; intrajournalier les clés de séquence à partir de la journée. Partagé-lib - Composant gated mlos.catalog.enabled - repo Détecteur : 11 no DB Mockito Essais (TDD). Avec cela, la supersession de la datation efficace de 6,5 dollars est COMPLETE pour les trois WORM. épines de version (fiche de vitesse et ligne directrice et lock-policy). Miroir fidèle - CRDB e2e est la porte. Aucune nouvelle entité/table - pas de fonctionnement KamoInitializer.
· kamo-shared-library
Ligne directriceVersionPublisher - 6,5 euros supersession pour la colonne directrice de la colonne vertébrale
Le frère de la version directrice de RateSheetVersionPublisher, mis à la clé et par produit (ux-guideline-version-active-------------------------------------------------------------- ET efficace - jusqu'à ce que NULLE. Même fenêtre atomique antérieure close : ACTIF-SUPRESED efficace - jusqu'à ce que l'onduleur. Avant la fermeture du candidat AVANT l'INSERT (l'in insert hebéré avant la mise à jour de l'ordre affrmible piège). Deltas vs ratesheet: champ d'application clé produitId; valid révisionL'étiquette et la sourceDocumentId (non délivréA); clés de séquence intrajournalière à partir de la journée. Partage-lib - Composant gated mlos.catalog.enabled et repo finder 12 tests de Mockito sans DB (TDD, y compris InOrder d'ordre flush et WORM-guard re-run). Réalisateur fidèle de l'éditeur de feuille de débit révisé par voie contradictoire - représenté par le comportement e2e (ligne de guide) l'éligibilité à la tarification de la supersession. Aucune nouvelle entité/table, aucun KamoInitializer ne fonctionne.
· kamo-shared-library
RateSheetVersionPublisher et doc 02 6,5 dollars de sursessions à des datations efficaces
La fenêtre atomique de la fenêtre précédente ferme le scripteur de bootstrap de bootstrap de MLOSCatalog reporté. Publication d'une nouvelle feuille de tarifs pour une version existante (org, investisseur) Le champ d'application ferme désormais le prédécesseur (ACTIVE-SUPERSED - effectif - jusqu'à successeur.efficace-depuis), liant le successeur (supersedes-id, le prochain intrajournalier séquence - non) et flushs de l'ancien S'affranchissement AVANT le candidat INSERT ET Hibernate ordre INSERTs avant MISE À JOUR dans un flush, donc saveAndFlush(avant) est nécessaire pour éviter une violation partielle-unique auto-infligée. Partagé-lib - Composant gated mlos.catalog.enabled (le Résolveur deVersion efficace la fermeture est légale par WORM par construction contre celle de l'entité Pré-réaction du garde. 15 essais sans BD (Mockito), y compris InOrder d'ordre flush et WORM-guard re-runr. Revue accusatoire de 2 agents et 4e semestres (1 must-fix appliqué: baseDocumentId a validé en avant et nettoyer 400, pas un effet post-face 500). Aucune nouvelle entité/table/rpo-interface - pas de fonctionnement KamoInitializer.
· kamo-shared-library
Ajouter un ' pour l'événement EPI'
· kamo-shared-library
EligibilitéCellA attribué un code de raison à une seule dimension (spécificité ECOA)
Ferme la lacune de l'accessibilité du code de la raison signalée par PriceAssemblyEngine: a L'absence cellulaire sur EXACTEMENT une dimension de confinement devient maintenant INELIGIBLE avec son Motif spécifique ECOA (FICO-BELOW-MIN / ÉTAT-ELIGIBLE / PROPRIÉTÉ-TYPE-NOT-ELIGIBLE / UNITÉS NOT-ELIGIBLE / au lieu de s'effondrer en NON-COVERAGE générique - faire les 9 codes CELL non accessibles accessibles. Manquements multidimensionnels/ambic ambigus et lacunes de catalogues numériques (FICO au-delà d'un plafond ou entre les fourchettes; un montant de prêt entre bandes disjointes), correctement rester NO-COVERAGE (un défaut de couverture de 6,6 euros, jamais un refus de l'emprunteur). Substrat pur Aucun service en direct ne consomme encore l'allumette; pas de changement de schéma, pas de course de KamoInitializer. - Résultat d'éligibilité : porte le principal MlosAdverseActionReasonCode (l'allumeur) le possède - il n'y a que le contexte dimensionnel). La raison de 2-arg ineligible l'usine est REMOVED donc reasonCode est nul iff eIGIBLE et le MlosPricedProductResult «PrePersist invariant détention par construction pour tout résultat construit en usine. - EligibilityCellMatcher: failedDims et attribut relax-one-une dimensionNoCoverage; sens (BELOW/ABOVE/GAP) calculé UNIQUEMENT sur les failleurs de la même taille (pas la matrice entière) donc un trop grand prêt sur des bandes disjointes n'est jamais mal étiqueté BELOW-MIN, et une FICO au-dessus du plafond/l'écart est un écart de couverture, pas un faux "score aussi" faible". Contrat de substrat documenté: un véritable disqualifiant; le consommateur LOE-Core réattribue les raisons à 4 pour la NOAA. - PrixAssemblyEngine: reason additiveOr (cellule, repli) - préfère la solution de l'allumette Code propriétaire; cellReasonCode(matrixType) est resté le repli défensif sur le résultat brut. Revue contradictoire de 2 agents - FIX-THEN-SHIP; appliqué les deux fix) (quantité de prêt - Les erreurs de direction de la FICO, chacune ayant fait ses preuves avec un exemple concret) et les fixations à ADN (totaliser l'invariante d'enregistrement; substrat-contrat et docs de direction). 19 matcheurs et 33 moteurs test vert (89 tests de catalogue vert).
· kamo-shared-library
ComplianceTimerService émet mlos.compliance.timer.gageed sur la violation de l'ALS (doc 03 -2,8)
La suite du javadoc nommée par le temporisateur Slice-2c expédié: "Émissions d'événements à un La file d'attente de conformité est un suivi." expireBreached() émet maintenant un Événement RFORMÉ-TIMER-BRÉCHED par minuterie ARMED-EXPIRED, écrit dans la boîte de réception IN LA même TRANSACTION sous forme de basculement (la garantie transactionnel-outbox: une violation est s'amenume régime, elle est durablement enregistrée). Le consommateur en aval conduit le HIGH l'escalade de l'intendance - l'abandon de l'État d'orchestration BLOCKÉ-STALE (une tranche ultérieure). - OutboxWriter injecté en tant que dépendance OPTIONNELLE null invalide l'émission de sorte que le service expire toujours temporisateur lorsque la boîte dequage est disponible le substrat n'est pas câblé dans le service en cours d'exécution - gracieuse, rétro-compatible avec Le câblage automatique actuel de DaemonService (la couture d'essai à 3 flèches est conservée). Enveloppe: domaine-conformité, agrégat-loanFileId, charge utileload - - Nouvelle constante ouverte de type événement à cordes (pas de changement de schéma - pas de fonctionnement de KamoInitializer). 14 tests de conformitéTimerService vert (12 essais d'émissions inchangées et 2). Réalisateur fidèle du producteur de la boîte de décision épineuse/sippe (exempté d'examen).
· kamo-shared-library
ConditionTemplateExtension et emprunteurDrapeau applicable au portail (doc 09 -6,4)
La dépendance nette-nouvelleté de la vision du portail de l'emprunt "Qu'est-ce qui est gauche" nécessite: LoanCondition locked Port uniquement les identifiants du personnel/de l'orge, de sorte que le portail ne peut pas le dire les conditions ouvertes sur lesquelles une BORROWER peut agir. doc 09 . . . . . . . . . . . . . . . . . . . . . . . . . . Écrapeau applicable sur le modèle de prêtConanTemplate en tant qu'entité SIBLING - jamais un colonne sur le noyau verrouillé (doc 01 - 1,1). Le drapeau de la condition est DÉRIVÉ côté service à partir de ce drapeau de modèle - la catégorie de condition. - ConditionTemplateExtension (com.kamo.z.shared.mlos.docs, config/référence mutable): Prêt FK softTditionTtypeTemplateId et locked LoanConditionTemplate.id (UUID), DB-UNIQUE 1:1; organisation dénormaliséeId (long, chaîne-sérialisée); emprunteurActionable Boolean - ColumnDefault false (fail-safe: interne-only sauf actionnable actionné). (trouverByLoanConditionTemplateId mlos.docs déjà en place EnableJpaRepositories; l'indice UNIQUE est déclaré en fonction de l'entité (pas de SchemaCleanupRunner). - 3 tests sans BD en vert. Rétroviseur fidèle du DocumentObjet soft-FK-to-locked (exempte de l'examen).
· kamo-shared-library
PriceAssemblyEngine est le noyau déterministe de 8,1 euros de l'EPI (phase 2 tranche 13)
La première tranche de mlos de race pure: la pierre cap qui compose le catalogue expédié les résolveurs dans le calcul de la tarification du serveur faisant autorité (doc 02 - 8,1 étapes 2-4). apatride non lié Composant (soulangerie-réserve à la condition d'ajustementEVULateur/ 'référentiel zéro, aucune nouvelle entité, pas de changement de schéma. Le futur MLOSPricingService câbles Reprise - persistance - événements. - fusionEligibilité(): le filtre à trois niveaux de l'échelon 2/3 (ligne ET directive ET AUS gate) - ÉligibilitéVerdict, plus sévère - bloquant la prépondérance avec une seule MlosAdverseActionReasonCode (cellule directive - AUS-date-requis - ÉLIGIBLE). - assemblementPrix() : prix final et base ADDITIVE MULTIPLICATIVE (en ordre) - la marge, le respect de la valeur de capital. Additif additionné (- total - ajustements 9,6), puis facteurs multiplicatifs à l'échelle du sous-total en cours d'exécution dans la pile ascendante - ordre (uid tie-break), puis la marge a été ajoutée au dernier ou à l'extérieur du z; la valeur finale de HALF-UP à (9,4). - prix(): orchestre les deux; la production satisfait le MlosPricedProductResult Prépervisibilité à l'offreur invariante par construction. - valeur de la valeur et du signe uniquement de l'additif - pince de conservation de l'élément additif (cap-0 - 0 contribution, intentionnelle); une valeur de cap multiplicative est un défaut de configuration forte (faut-fermé, jamais mal de prix). AUS PASS/NOT-APPLICABLE non bloquant (prix avant les AUS; le '8' lock-stage hard-stop est celui du service). - Nouveau : AusGateOutcome enum Enregistrements de calcul de produits à prix. 33 tests JUnit5 sans BD en vert. Research Workflow (3-lecteur et synthèse) et examen accusatoire de 2 agents (verdict FIX-THEN-SHIP, zero must-fix; appliqué les 5 éléments de durcissement devraient être durcissement: bruyants protège multiplicatif, compteur-code-couverture-gap doc, capot - 0 - Code de règle la plus basse docs, et 6 tests de couverture).
· InitializerService
Registre pkg - RCE/pull-through DDL (docs 08/09)
SchémaCleanupRunner: (partiellement-unique) rce-commit-ai-décision-fk rce-commit-lock-record-fk- rce-commit-pricing-snapshot-fk (le '7.4 snapshot supprimer-guard) mlos-aiptp-one-active-un-politique de traction-through par prêteur-profil-market). RCE table - contraintes appliquées - vérifiées.

Votre univers vous attend.
Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.
Gratuit pour toujours — aucune carte de crédit requise