Полные конфигурационные домены Фазы-1 + MlosActivationService (слайд 5)
Завершает инвентаризацию объекта конфигурации doc 04 **************** - Политика синглтонов (один-актив-на-профиль, дата-факт/только приложение): PricingPolicy...
Двигатель пригодности канала (фаза 1 срез 4)
Детерминированный наиболее ограничительный растворитель (doc 04 § 8) — Продукт x Канал x Инвестор -> {ALLOWED |DISALLOWED, executionPath, authorityModel, fundin...
AuthorityConfig (орган по андеррайтингу + правительственные делегации) — Фаза 1 Слайд 3
AuthorityConfig (singleton per LenderProfile): андеррайтинг DELEGATED/NON DELEGATED/HYBRID + manualUwAllowed + govtDelegation Set {FHA DE,VA SAR LAPP,USDA,NONE}...
Конфигурация автономности ИИ + растворитель безопасного пола (фаза 1 срез 2)
- AiAutonomyConfig (singleton per LenderProfile; AutonomousLevel) **************** GlobalDefaultThreshold DECIMAL(4,3), AutoExecuteEnabled + AutonomyStageOverri...
LenderProfile + LicensingEntry config foundation (Phase-1 Slice 1)
Новый фонд com.kamo.z.shared.mlos.config (doc 04 §3): - LenderProfile (root, UNIQUE per MORTGAGE marketId) - soft-FKs locked Организация (Long) + CommerceMarke...
********************************************************************************************************************************************************************************************************************************************************************************************
Перевернуть каждый ARMED-но-прошлый-срок действия AdverseActionTimer + RegXTimer на EXPIRED (прочный сигнал эскалации на поверхности экрана управляющего; событи...
Передача лицензии Wire в DecisionSpine (Slice 2b-ii)
DecisionSpine.record() теперь штемпели StewardTask.assignedMemberId Стюард-Ассигнатор, когда маршрутизированное решение несет юрисдикцию кредита: - DecisionReq...
Лицензионная компания StewardAssigner (Slice 2b-ii)
Добавляет селектор стюарда с лицензией (doc 03 §3.2; doc 01 §6 #9) — выбирает Стюард, чья MLOS StewardLicense действительна сегодня для требуемой лицензии акта ...
ECOA + подложка таймера Reg X (решающий срез 2c-i)
Новый пакет **************** (doc 03 §2.8) — принадлежащий Камо Аналоги комплаенс-таймера заблокированного donotmodify. Тридтаймер. Субстрат первый: - AdverseA...
Осведомленный государством субстрат правового реестра (раздел 2b)
Новый пакет com.kamo.z.shared.mlos.legal — производитель гринфилда Абсолютная правовая защита DecisionGate (doc 03 §3.2). Подложка первая, нет Усыновитель: - L...
Объявлять индексы Slice-2a через @Table(индексы) по организациям
Переместить определения индекса mlos orchestration state и mlos steward task от KamoInitializer's SchemaCleanupRunner до самих объектов (@Table(indexes=@Index(....
Slice 2a: OrchestrationState + StewardTask + DecisionSpine
OrchestrationState (per-loan-stage GREEN/BLOCKED/COMPLETE) + StewardTask enums + DecisionSpine (@ConditionalOnProperty mlos.spine.enabled): составляет отгруженн...
Добавить ключ типа события VENDOR CALLBACK RESOLVED (вход 0.6a)
Подложка реестра LoanIdentifier — 42 типизированных идентификатора (ключевой камень 0,5, срез 1)
Новый pkg com.kamo.z.shared.mlos.identity (ключ маршрутизации входящего веб-хука): LoanIdentifierType (42 идентификатора первого класса, каждый из которых несет...
PublishAck находится на io.nats.client.api, а не на io.nats.client
Исправление импорта только для тестирования, которое нарушало компиляцию Shared-lib (пойманную теперь необходимой локальной установкой mvn). Основной код не был...
StewardFeedback flywheel — захват каждого вердикта стюарда (ключевой камень 0.11)
Новый pkg ************* только в приложении StewardFeedback строка наземной правды (FK ai decision.uid; вердикт CONFIRM/OVERRIDE/MODIFY; Reg-B-aligned reasonCod...
Immutable AiDecision WORM ledger + двухстенный DecisionGate (ключевой камень 0.3, срез 1)
New pkg com.kamo.z.shared.mlos.decision (greenfield decision spine, never edits donotmodify): неизменяемый AiDecision (WORM via @PreUpdate guard; loanFileId is ...
Ворота для изоляции арендатора для костяка событий (срез 3)
Дорожная карта 0.10: **************** (шов для подписки на одного арендатора) + принадлежит ToTenant (субъект,orgId) по токену, соответствующему фильтрации NATS...
Потребительская идемпотентность, DLQ + повторение стюарда (срез 2)
Добавляет ядро надежности, к которому подключается любой потребитель MLOS: ProcessedEvent dedup ledger (уникальное Consumer name+event id) + MlosDeadLetter DLQ ...
Транзакционный аутбокс событий (Phase-0 keystone B)
Дорога производителя в категории «Деньги / соответствие» в NEW sibling pkg **************** (никогда не редактирует donotmodify): MlosEventEnvelope DTO + MlosOu...
Добавить случай-нечувствительный findByEmailEmailIgnoreCase
Электронные письма хранятся с непоследовательным случаем (например, Sage@KamoCRM.com) и Равенство строк CockroachDB чувствительно к случаю, поэтому найдите пром...
Изменения для добавления поддержки изменения пароля к профилям учетных записей
Canonical e-sign signer templates (верификация + приглашение)
Добавьте два общеплатформенных канонических шаблона электронной почты, посаженных лениво на одну организацию: - esign.signer verification (повышение OTP: {{code...
API SIGNATURE api-key scope + EsignGenericEnvelope.origin
Аддитивный, без перебора версий: - ApiKeyScope.API SIGNATURE - закрывает программный API электронной подписи (бизнес) - EsignGenericEnvelope.origin (EsignUsageO...
Explicit Organization.isPlatformProduct в качестве основного сигнала
Заменить полученную эвристику «владеет рынком подписки» на явную, Флаг владельца admin-set. Продукт платформы (например, sign.pink) представляет собой белый ярл...
Корень продукта = собственный рынок, а не рынок
Клиентская организация (например, BluEleven) владеет собственными бизнес-рынками (RETAIL/MORTGAGE). управлять компанией, оставаясь клиентом платформы KamoCRM; Ч...
Решить права с помощью организации на основе продукта, а не платформы верхнего уровня
EntitlementRootResolver: ближайший рыночный предок орг (корень продукта), возвращающийся на верхний уровень платформы. Это Отделить * какой продукт вы имеете пр...
Добавить получателя конверта, стоимость поля, субъекты статуса получателя
Проверить модель входного сигнала: EsignEnvelopeRecipient (+repo), EsignFieldValue (+repo), EsignRecipientStatus и обновление ESignSignerType. Аддитивный; нет б...
Добавить EsignUsageRecord для учета использования каждой подписи
Новый объект использования только в приложении (зеркала AiUsageRecord), выпущенный при подписании завершение. Только подписи API-происхождения учитываются в еже...
Переименовать LoanRepository в PersonalLoanRepository
Spring Data JPA получил название репозитория из интерфейса простое название класса, а не от @Repository("...") квалификационного значения, поэтому Предыдущий об...
Избегайте столкновения с кредитом / кредитным репозиторием с ипотечным приложением
KamoInitializerService не удалось загрузить из-за двух классов @Entity «Loan» и два класса репозиториев под названием «LoanRepository» оба хотели получить креди...
LoanChargeOffReasonCode (IRS 1099-C box 6) + поиск по аудиту
- New LoanChargeOffReasonCode enum (A BANKRUPTCY..H OTHER) per IRC §6050P - Loan.chargeOffReasonCode - **************** мультифильтр @Query for regulator subpoe...
****************************
Используется **************** для реактивации существующего Вместо того, чтобы создавать дубликат строки, который сирот остановил один.
Страницы запросов репо + countByStatus для горячих путей
- Кредитный репозиторий: countByStatus / countByOrganization Статус + Страница <Loan> findByStatus(...) ******************* ******************* ****************...
LoanOrgStripeConnect + Кредитные налоговые/приобретенные поля + горячие индексы
- New LoanOrgStripeConnect entity (one-per-org, удерживает StripeConnectedAccountId) + Возможность подключения на борту) + репозиторий - Кредит: StripeCustomerI...
Кредит.Вовлечение Uid → Long + OriginingOrderUid
Взаимодействие расширяет BaseEntity (Long PK) Уид должен быть длинным, а не UUID — это соответствует существующему Соглашению DTO / WorkOrderDTO Оригинальное на...
Добавить PERSONAL LOANS commerce type + entity package
CommerceType.PERSONAL LOANS + параллельный EngagementType + словарь - Записи BuiltinVendorКатегории для поставщиков личных кредитов - 15 субъектов JPA (LoanProd...
Предложения ипотечной программы Bootstrap на рынке создают + загрузочный бэкфилл
Когда пользователь создает CommerceMarket с помощью commerceType=MORTGAGE Markets & Fields settings tab — рынок нуждается в программе Предложения под ней для по...
Per-org позволяет / отключает + обесценивает устаревший путь ипотечного кредитования только для торговли
********************** Скачать OrgProgramOverride c recordState.isActive=desired; listForOrg now AND's the base program's Активный флаг с оверрайдом, поэтому ов...
Польский — backfill, delete cleanup, amount sync, appUid ссылки
********************** исцеление AppMortgages предшествует проводке; вызывается из службы безопасности DataLoader. AppMortgageService.delete отменяет обязательс...
Проводите ипотеку URLA в обязательство / намерение / обязательство
Ипотека - это одна вертикаль торговой системы - наряду с розничной торговлей, арендой. Услуги, подписка и закупки. Это приводит к ипотеке URLA-fidelity стек в д...
Добавить Binder/BinderItem/BinderShare сущностей и репозиториев
Добавляет слой стойкости для новой функции организатора док-менеджера: - Binder (Long id, член-владелец, org-scoped, isTemplate, binder-wide modifierJson) Binde...
Добавить бренд, ориентированный на заемщиков + поля раскрытия информации в Организацию
Семь новых нулевых столбцов, питающих фирменные поверхности кредитора Приложение для заемщиков Камолоса: - TAGLINE - маркетинговая линия, показанная на фирменн...
Подключение + Проверено Фактическая основа для первого захвата соединения
Добавляет бэкэнд-фонд M3a для подключения поставщиков и отслеживания происхождения проверенные факты. Stub-only end-to-end — реальный поставщик проводки SDK (Pl...
Репозитории, DTO, ProgramService (только для чтения каталог с наивным наложением слияния)
Бросьте дубликат IS ACTIVE колонки; полагайтесь на EmbRecordState.isActive
Добавьте столбец «Модель кредитора» (дополнительный; нулевой = по умолчанию BROKER на уровне приложения)
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.