Changelog
Qué hay de nuevo.
Cada mejora de la plataforma, a medida que se envía.
· kamo-internal
Pestaña psótulas - Tarifa de precio/capital/servitor eficaz - config
Nuevas hipotecasPolíticasTab: versión activa actual. historia para cada una de las tres políticas de fecha efectiva; configTypes/configApi . p. Registro.
· SecurityService
Políticas de perfil con fecha efectiva - fijación de precios/capital/servición
Nuevo MlosPolicyWriteService (aislado; sus propios repos para que la config-collection write- servicio no se toca): versión demote de un solo activo en la misma auditoría Espina. Controlador /precio-política, /capital-policy, /servicio-política GET (actualización historia) / PUT (publicada nueva versión). ServicingPolicy SCRA/FDCPA Los invariantes permanecen verdaderos.
· kamo-shared-library
Interfaz VersiondoProfilePolicy para políticas de fecha efectiva
Precios/Capital/ServicingPolicy lo implementa para que una versión de la rutina de publicar conduce el versión demote de un solo activo y luego de inserción.
· kamo-internal
Entrega de inversores y subeditores de la regla de compromiso
La fila de inversores expandida Gana la entrega (comportamiento de financiación / ruta de ejecución / remesas) y editores de compromiso (tipo / min pull-through % / pair-off) junto a delegación - superposiciones; configTipos/configApi tipos de llamadas.
· SecurityService
InvestorConfig delivery - subcolectos de reglas de compromiso CRUD
******************* (actual/delete) en la columna vertebral de configuración D31 (org fracasado a través del inversor matriz, WORM change-log per row); controlador /inversores/-ide-/delivery-rules - /commitment-rules GET/POST/PUT. Completa el último Subcolecciones InvestorConfig aplazadas de [04].
· kamo-internal
Subeditor superponer caja de crédito de inversores
MortgageInvestors Tab expandido fila inversor gana un OverlayEditor (FICO/LTV/DTI/ reservas/doc/geo apriete de la comparación y el comparador, programa opcional, ventana efectiva) junto al editor de la delegación; configTypes/configApi tipos de superposición de llamadas.
· SecurityService
InvestorConfig de la caja de crédito superponer la subcolección CRUD
************* en la columna de configuración D31 (org fail-closed via the matriz inversor, WORM change-log per row, configVersion defaults 1); controlador /investores/-id-/superposiciones GET/POST/PUT (borrar a través de activo:falso). Completa el Rebanada de InvestorOverlay aplazada de [04].
· kamo-internal
Apego completo derecho sub-nav , texto de contraste superior
- Mueve la sección sub-nav desde la izquierda a un panel atado a la derecha, de altura completa que se desplaza independientemente; el contenido de la cabecera y forma de la forma toma el ancho restante a la izquierda y desplazarse por su cuenta (dos regiones independientes de desplazamiento en mdá; apiladas con nav en la parte superior para pantallas estrechas). - Accesibilidad: oscurecer todo el texto secundario/etiqueta (griy-400 - gris-600, gris-500 --Ry-700) a través de la página de detalles . VatyState primitivo para que las etiquetas cumplan con el contraste de WCAG AA para los usuarios de baja visión.
· kamo-internal
Gasoducto de préstamo como sub-tab hipotecaria y tema de luz
- Añadir AplicacionesPipelineConsole: a /leads-style Avup AG-Grid datagrid de solicitudes de hipoteca a nivel de préstamo (tasmas de filtro de estatus, fila de filtros, búsqueda rápida, exportación de CSV, paginación, fila -o detalle). Confuso como el último sub-tab de la consola de mayordomo Hipojo (?sub=pipelina). - Re-tema / aplicaciones/[uid] detalle . compartido Field/SectionCard/Modal/ Primitivos del Estado vacío - las 14 secciones desde el tema de la marina oscura hasta el Motín kamo-internal ligero; reemplace al héroe de la morena por una entrada barra de cabecera (arreglos de cabeza/contenido solapa). - Re-teme / aplicaciones/pipeline (kanban) y /applications/hmda-lar a la luz. - Eliminar la lista despreciada independiente / aplicaciones oscuras; repoint QuickActionsBar 'Nueva aplicación' al subtab de tubería del mercado de hipotecas.
· kamo-internal
Plataforma AI-Governor calibration config panel (D4 5.C)
***************** La pestaña Avanzada gana un panel de gobernador: editar la plataforma- postura de calibración por defecto (puerta de gobierno / fuerza-administrado-hasta-calibrado / min muestras, cada Heredado.Discapacidado) a través de la nueva API gobernador-config. Per-org anúfala capa en la parte superior.
· SecurityService
EscenarioDiscoveryService - génesis de perfil canónico en crea/actualación de la aplicación de préstamos (D1)
MortgageAppController (re) produce el Borrower CanónicoScenarioPerfil a través de lo nuevo EscenarioDiscoveryService después **************** (mejor esfuerzo, su propio tx). Añade mlos.intake a EnableJpaRepositorios.
· kamo-shared-library
Guardia de tipo doc (D2), adaptador de firmas de la convención (D3), config del gobernador per-org (D4)
- ImageService: requiere un docType para imágenesAssocType.LOAN subidas (LOAN-scoped; ACCOUNT/SERVICE* sin cambios). - FirmadoAdjustamentoAdapter: el límite de la regla-7 adaptador/compat (adaptación canónica - valor firmado) para la migración incremental de la firma-convención. - AutonomyGoverberConfig repo - GobernadorConfigResolver (org. - . . . . . . . . . . . . . . . . . . . . . . . Capacidad de ConfigMap); DbAutonomyGovernor ahora resuelve calibración/encubrimiento por-org.
· kamo-internal
Pestaña de conexiones de EE.UU. (D37) . bloque 2o mercado hipotecario (D38)
- MortgageAusConnectionsTab: org-scoped DU/LP/GUS credencial config (uno por tipo); El secreto es un campo de contraseñas solo para escribir, la fila muestra sólo si se establece una credencial. - Página de mercado: deshabilitar la opción MORTGAGE validar una vez que el org tenga una.
· SecurityService
AUS-connection configura de escritura de superficie (D37) - mercado hipotecario único por org (D38)
- MlosConfigWriteService ************* org-scoped (resolveProfile), Una singularidad de uno por AusKind, secreta preservada en ediciones secretas en blanco, columna de auditoría WORM. - MlosConfigController /aus-conexiones GET/POST/PUT secreto es solo para escribir (encriptado a través de PlatformSecretCipher dentro de la mutación); la vista expuesta tieneCredential, nunca el texto cifrado. - ******************* rechazar un mercado de 2o MORTGAGE per org (409).
· kamo-internal
Subeditor de la delegación de inversores - autoridad por programa (D39)
Deja caer el conmutación/columna delegada; cada fila de inversores se expande a un programa por programa Editor de la delegación (programa UUID, en blanco = default de todo el inversor; DELEGATED/ NON-DELEGATED) respaldado por la nueva API /-investores/-id-/delegaciones.
· SecurityService
Delegación de inversores escribe superficie
Drop delegadoAutorencia de la versión/visión de InvestorConfig; añádase la Sub-colección de la Delegación de Investores /-id-/delegaciones (GET/POST/ PUT, borrar a través de activa:false) en la columna vertebral D31 config-write . org fail-closed a través del inversor matriz, WORM change-log . profileVersion bump per row.
· kamo-shared-library
Delegación de inversores por programa (D39) - nuevo InversorDelegación hijo de laegación
La delegación es granular por (inversor, programa), no un inversionista gruesa boolean. Añade DelegaciónAutoridad .DELEGATED, NON-DELEGATED, el InvertorDelegación entidad (mlos-investor-delegación, programa opcionalId; null = incumplimiento de inversor) repo, y gotas *******************
· kamo-shared-library
[AUS] AusConnectionConfig entity - per-org por-org conexiones DU/LP/GUS
Directiva de propietarios no 6: cada org configura sus propias APIs de vendedor AUS (Fannie DU / Freddie LP / USDA GUS) por mercado hipotecario, en entornos. Modelo de datos de base: AusConnectionConfig (mlos.config, nueva mesa mlos-aus.connection-config) (perfil delgado, AusKind); puesto que un LenderProfile es uno por mercado, keying by prestamistaProfileId hace estos por mercado. Reutiliza el actual AusKind enum (DU/LP/GUS) y VendorCategoría.AUS vocabulario en lugar de inventar otros nuevos. Secreto en reposo: el secreto de la API se almacena SOLO como un secreto de AES-256-GCMCiphertext (encriptado por PlatformSecretCipher en escritura, reflejando SocialConnection/ PlatformOAuthClient) y nunca está en un DTO, lee la exposición, haCredential en su lugar. clientId/endpointUrl/configJson no son secretos. Exclusivo (perfil, aus-kind). Backend write/controller ************* . the kamo-internal AUS-conexiones de la pestaña i18n KI (nueva mesa) se basa en esto siguiente; el mercado por mercado vs La resolución de org-scoped es una decisión de config-spine a la superficie del propietario.
· kamo-shared-library
[ImageAssocType] Aconáblogovia LOAN - imágenes adjuntas a un préstamo, tipo doc requerido
Directiva de propietarios: las imágenes se pueden adjuntar directamente a un préstamo hipotecario, siempre con un tipo doc relevante. Aplicar a LOAN a ImageAssocType (id 11, cubo de imagen-préstamos), reflejando las banderas de recogida de documentos ACCOUNT: isAllowDocType=true isAllowDocTypeOpt=false, por lo que se requiere el tipo de doc de un documento de préstamo y NO org- opcional. Add requiresDocType (isAllowDocType &&AllowDocTypeOpt) caminos imponen 'siempre un tipo doc'. Persistencia-segura con NO KI/schema change: Img.assocId no tiene .Enumerado (por defectos a ORDINAL) y no hay restricción CHECK, por lo que adjuntar en el END conserva cada la fila actual (una prueba de guardia LOAN-es-la última). 3 pruebas verdes. Seguimiento coordinado (parpato): (1) provisión de los soportes de imágenes Cubo MinIO a través de KlusterServicios antes de la primera carga de préstamos-doc; (2) reconstruir el ImageAssocType consumidores (DocsService hace valores ()[id] - debe conocer a LOAN antes de que llegue un id de LOAN: ******************* . . . . . . . . . . . . . . ************************ *** . . . . . . . . . . . . su siguiente construcción CI); (3) la aplicación requiereDocType() en la ruta de carga de préstamo-doc.
· kamo-shared-library
validadores de la firma de firmas de [señal de envío] de firmas de dinero
Por las reglas canónicas del dueño. El dinero del dominio básico nunca codifica el significado en un signo: - **************** / requirePositive do activos, cuentas por cobrar, pasivos, pagaderas, honorarios, costos, créditos son magnitudes POSITIVE en su propia campos (reglas 1-3); un valor negativo falla rápido. - AdjustmentDirección .INCREASE, DECREASE, CREDIT, DEBIT, PREMIUM, DISCOUNT . ajustes de precios (LCE, SRPs, ajustes de precios, concesiones, descuentos) exponen un dirección explícita, nunca un número firmado (regla 5). - **************** El récord de Ajuste autovalidador rechazar una magnitud cuyo signo entra en conflicto con la dirección declarada (regla 6); a El ajuste firmado no puede ser construido. Las reglas 4 (contabilidad /- viven sólo en la capa GL) y 7 (señal sólo en el adaptador capas) son límites arquitectónicos que la guardia impone al vivir en el CORE y rechazar la codificación firmada . la conversión de inscripción de inversores/warehouse/ Los feeds de contabilidad/MISMO se mantienen fuera del dominio por construcción. 4 pruebas verdes.
· kamo-shared-library
[5.A] canónico BorrowerScenarioProfile . ProductDiscoveryGate
Por parte del propietario. Borrower Scenario Perfil generado a partir de datos normalizados de URLA, nunca formas brutas/UI, y futuras fuentes (AUS/OCR/AI/manual) Actualizan ese registro canónico en lugar de - Pasa por alto. - BorrowerScenarioProfile (mlos.intake, nueva tabla **************** la única fuente de la verdad por préstamo de la verdad. el producto URLA mecanografiado se atenúa. hechos calculados JSONB - última versión. Mutable (verdad decretos), auditado por source-version. - BorrowerScenarioProfileService:producDesdeUrla(loanFile, orgId) es la génesis (reads Préstamo normalizado / Propieza inmediatamente después de la normalización de URLA); aplicarActualizar es el único uso de fuentes de costura posterior (falta fuerte si no existe ningún perfil . génesis es URLA está solo, haciendo cumplir update-no-bypass); toSupportProfile proyecta los 5 dims. - ProductDiscoveryGate: el muro legal consultado ANTES de la elegibilidad/precio. resuelve ScenarioSupportPolicy (infermeros anulados y código por defecto) sobre lo canónico perfil y, en una negativa, registra un WORM AiDecision enrutado a un mayordomo (NO-ELIGIBLE-PRODUCT, legalmenteRequiereHuman; DEFERRED-HARD-STOP=HIGH, STEWARD-ONLY= MEDIUM) a través de una Decisión opcionalSpine. SUPPORTED no escribe nada. 10 pruebas de verde. Construye y flarg: necesita una carrera de KI (nueva mesa) - el cableado de flujo de servicio (llame a producirDesdeUrla en el gancho de normalización de URLA . gate.evalúe en el producto- entrada de descubrimiento) en el servicio de propiedad.
· kamo-shared-library
[12] 5.A ScenarioSportPolicy aplazamiento-interlock resolución (D36)
doc 12 línea 235 P0 "la adición de ciclo de vida más barata de más alta avería". Un muro legal en el producto-descubrimiento que mantiene **************** de Corriendo silenciosamente como primera-liens delantero (revelaciones erróneas). ScenarioSupportResolver (puro -Component) mapas a ScenarioSupportProfile (LoanType x Purpose x Lien x Amortization x Construction, el actual donotmodificar URLA enums) a ASUPPORTED - STEWARD-ONLY - DEFERRED.HARD-STOP. Matriz por defecto (D36): SUPPORTED = agencia de reenvío/no-QM PRIMERA compra/refi con una amortización estándar (lo que cubren los motores deterministas); STEWARD-ONLY = reconocida, pero fuera de lado de la cara de la cara a ser, un ser humano originado (subordinado/HELOC, construcción/casa- mejora, GPM, o cualquier otro ostino - la captura inversa/comercial, desde el residencial URLA enums no tiene valor para ellos); DEFERRED.HARD-STOP = cerrado por falle cuando es crítico dim es nula. La IA nunca automáticamente progresa automáticamente un producto no-v1. Por inquilino ScenarioSupportPolicy anula capa de filas en la parte superior (ganas de partidos más específicos, más nuevo versión rompe lazos; nulo dim = comodinero) para abrir un producto a SUPPORTED o endurecerlo a DEFERRED-HARD-STOP. 13 pruebas verdes. Construye y esbelta: el solucionador de la entidad envía ahora; el producto-descubrimiento WIRING (consulte antes de elegibilidad - emite una decisión de la negativa) y KI para la política de apoyo mlos-scenario-support- son el seguimiento (necesita una carrera de KI - propietario-gated).
· SecurityService
[08] ReconciledFactPublisher - los.pipeline.fact publish costam (D34)
doc 08 3.3: el bloqueado **************** no debe ganar un NATS editorial (que edita donotmodify). Añadir un envoltorio de editores reconciliados sin llave que se reconcilia, entonces en un conteo de cambio no cero emites los.pipeline.fact.orgId. el flujo existente de LOS-PIPELINE (los.pipeline.- ya lo une a no nuevo flujo/ mesa), para que el bucle de preparación pueda disparar. Repoint la única persona que llama (HartgageConnectConnectController ha miga de la variable) en el envoltorio; el servicio bloqueado está intacto. Colocación (D34): co-ubicado en SecurityService con su única llamada actual, no en MLOSCapitalMarketsService como 3.3 sugirió tentativamente (que suponía un lado RCE-side .- .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . La invariante obligatoria "nunca publicar desde dentro" el servicio cerrado de ambos sentidos. Mejores esfuerzos como LosPipelinePublicador: ausente NATS o un fallo de publicación se ingiere, el conteo todavía se devuelve. 4 pruebas Verde.
· kamo-shared-library
[12] 5 de C AutonomyGobernador de matar-switch - force-steward-unward-un-calibrated (D32)
La DecisionGate ya lleva un premio de fuerza estático GLOBAL, pero 5.C necesita dos cosas que no puede dar: un interruptor de matar sin redesplegarse (así que Respaldado por DB) en GLOBAL/TENANT/TASK-TYPE granularidad, y force-steward-un-N- Muestras de calibración por tipo de tarea (la máquina de calibración barata P0 Degenerados en el lanzamiento de la C C / 6.1). AutonomyGoovernor (gobernanza pkg) es un Docstor OPTIONAL (ObjetivoProvider, Bañado en mlos.governor.enabled) consultados sincronizadamente por DecisionSpine.record () - de la misma forma que StewardAssigner. Es ADD-ONLY, exactamente igual que el muro legal: sólo puede convertir un aspirante a AUTO-EXECUTE en ROUTE-TO-HUMAN, nunca levantar un enrutamiento, Así que la Tipicia de la Trétere es intacta. Dos condiciones de fuerza: a) a AutonomyKillSwitch matching (orgId, aiFunction) - alcance más amplio gana el razón; una entidad mutable/frívola, NO WORM, auditada a través de contratadaB/at; (b) conteo de bootstrap de calibración de plataforma no probado StewardFeedback para el aiFunction por debajo de min-samples (default 50), contado por una nueva consulta de unión. Cuando el gobernador es la causa del enrutamiento, su razón se adjunta a la decisión de la WORM así que una decisión de alta confianza que fue a un humano nunca es inexplicable. Nueva mesa autonomía.kill-switch (aditivo DDL . KI run). 30 pruebas verdes (7 gobernadores lógica 3 integración de solo complementos de columna y 6 espina de 14 puerta); las cuatro DecisionSpine ctors conservados (llamadas existentes sin cambios).
· kamo-internal
[04] pestaña de eliminación de riesgos - capas de caja de crédito/geo/exición (D31)
Nueva pestaña de configuración del mercado de MORTGAGE para superposiciones de riesgo por inquilino: categoría (caja de crédito / geoconcentro / Tipo de propiedad / importe del préstamo / fraude / límite de exposición) acción (ney / refer / contraoferta / bandera) . Alcance opcional de la variable de producto ventana efectiva - una expresión opcional de la regla JSON (validada para la parseabilidad lado cliente, reflejando el servidor 400). Añadir/eliminar las filas; la eliminación es una eliminación difícil. Renders después de los Inversores, antes de la pestaña de acuerdos siempre encendido. configTypes/configApi espejo el patrón de colección D31; i18n a través del repo de kamo-translación-diccionario.
· SecurityService
[04] Corte E2 RiskOverlay collection CRUD (D31)
Sobrevilas de riesgo (caja de crédito / geoconcentración / capas límite de exposición en el caja de crédito base) como colección de config en la columna D31: crear impagos configVersion=1 - stamps de la identidad del perfil - bumps profileVersión - validate-o-- Rollback - Añade un WORM MlosConfigChangeLog; update/delete son fallados 404 en la fila de otro perfil; eliminar es una eliminación dura auditada como "borrar":true. La ruleExpression es una columna JSONB, el controlador la valida como JSON antes de escribir tan malo es un 400 limpio, no un 500 mediados de los inversores. Null/blank se permite (el vocabulario de la regla es una capa diferida, llevada fuera de banda por ahora). 20 pruebas de espinas de escritura verde (4 overlay 4 inversor de 4 licencias de licencia y 6 etapas-superorida).
· kamo-internal
MORTGAGE inversionistas pestaña (lista/add/remove) . [04] s rebanada E2 (D31)
La pestaña config 7th MORTGAGE: per-inversor ************* la autoridad rebosa con un chip de aprobación-status. Añadir a través de una fila en línea (código de estado . opcional **************** quir por basura (hard delete lado servidor). configTypes InvestorView/InvestorSecueso de los 3 enum arrays . ayudantes; configApi ******************* registrado como pestaña 'inversores' después de la concesión de licencias, antes de acuerdos. Inglés a través de la traducción-diccionario repo. tsc clean.
· kamo-internal
Crones sociales unificados de la interfaz de usuario en / comercialización/social
Alimentación en vivo y animado de reutilizar el estilo de alimentación de la casa club: virtualizado cronolinera, chips de filtro del proveedor, SocialPostCard (capabilidad-gated reply/delete), multiproveedor SocialComposor (inferir capacidad de proveedor - chips de resultados de fan-out), NewPostsPill al estilo de Facebook (sin autoscroll), useSocialFedWebSocket en vivo a través de /topic/social/feed/orgId, y las rutas de proxy /api/media/social/*. Escribe acciones Bañado en MANAGE-SOCIAL-MEDIA; el escondite de las características impulsadas por la capacidad en todo.
· MediaService
Regreso de la línea de tiempo unificado (resistencia de la alimentación, adaptadores, relevos en vivo)
SocialFeedService persiste posts/comentarios en el esquema de MediaSession/MediaObj (reutilizando el modelo de chat); SocialFeedMapper construye los DTO de alambre; SocialTimelineController sirve a las capacidades de alimentación fusionada y multiproveedor componer ventilador, responder, reaccionar, Suprimir. Los acontecimientos de la alimentación publican social.feed..orgId. -? /topic/social/feed/-orgId. (relay . . . . . . . . . . . . . . . . . . guardia de sub-inquilino SUBSCRIBE). Aficionados de SocialConboundConsumer sale a alimentar artículos; barren encuestas rellenos. Todos los 5 adaptadores de proveedores **************** implemento SocialFeedAdapter al máximo de cada API, con capacidad.
· kamo-shared-library
Línea de tiempo unificada SPI - entidades en el esquema de los medios
Reutiliza MediaSession/MediaObj para ocupar publicaciones y respuestas sociales (post=MediaObj, comment=child MediaObj via MediaObjMsg.parent, proveedor enlace en MediaObjSocialRef). Añade socialFeedAdapter sub-interfaz (operaciones de alimentación mantenidas apagadas el DM SocialProviderAdapter path), MediaSessionSocialFeed (por conexión sesión de alimentación), Redes de alimentación MediaObjSocialRef, SocialObjKind, y Proveedor expandidoCapabilities matrix que impulsa el ocultamiento de características de la interfaz de usuario por proveedor.

Tu universo está esperando.
Comience gratis en minutos y agregue productos cuando esté listo, sin migración ni nuevos inicios de sesión.
Gratis para siempre: no se requiere tarjeta de crédito